{"version":3,"sources":["webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/main.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/util/_util.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/main.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/autoload/rc-base-zf/_foundation.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/foundation.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/main.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/util/_breakpoint.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_reveal.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/hamburgers.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/_base.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_arrow.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_arrow-r.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_arrowturn.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_arrowturn-r.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_boring.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_minus.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_slider.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_spin.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_spring.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_stand.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/vendor/normalize.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/_global.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/util/_mixins.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_text.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_checkbox.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_label.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_help-text.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_input-group.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_fieldset.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_select.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_error.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/typography/_base.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/typography/_helpers.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/typography/_alignment.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/typography/_print.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_classes.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_gutters.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_grid.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_cell.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_layout.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_collapse.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_position.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_frame.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_button.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_button-group.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_close-button.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_label.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_progress-bar.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_slider.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_switch.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_table.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_badge.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_breadcrumbs.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_callout.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_card.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_dropdown.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_pagination.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_tooltip.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_accordion.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_media-object.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_orbit.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_responsive-embed.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_tabs.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_thumbnail.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_menu.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_menu-icon.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_accordion-menu.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_drilldown.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_dropdown-menu.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_off-canvas.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_sticky.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_title-bar.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_top-bar.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_float.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_flex.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/util/_flex.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_visibility.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/rc-base-zf.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/debug/_debug-map.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_styles.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_visibility.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_classes.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/prototype/_position.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/util/mixins/_fit.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/icons/_path.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/icons/_core.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/icons/_helper.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/icons/_icons.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_buttons.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_form.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_ng-form.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_comments.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_dropdown-menu.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/util/mixins/_animation.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_grid.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/grid/_gutter.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_social.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_badge.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_table.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_hr.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_underline.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_webicon.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_fix.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_vars.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/wp/_global.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/wp/blocks/_table.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/wp/blocks/_separator.scss","webpack:///./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/elementor/_buttons.scss"],"names":[],"mappings":"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C71BE;;EAQI;C9BkzCL;;ALxdD;;AmCl2BE;;EAII;EACA;C9B6zCL;;AL1dD;;AmCx2BE;;EAQI;C9Bi0CL;;AL5dD;;AmC72BE;;EAII;EACA;C9B40CL;;AL9dD;;AmCn3BE;;EAQI;C9Bg1CL;;ALheD;;AmC12BE;;EAGI;EACA;C9B80CL;;ALleD;;AmCh3BE;;EAOI;C9Bk1CL;;ALpeD;;AmCr3BE;;EAGI;EACA;C9B61CL;;ALteD;;AmC33BE;;EAOI;C9Bi2CL;;ALxeD;;AmCh4BE;;EAGI;EACA;C9B42CL;;AL1eD;;AmCt4BE;;EAOI;C9Bg3CL;;AL5eD;;AmC34BE;;EAGI;EACA;C9B23CL;;AL9eD;;AmCj5BE;;EAOI;C9B+3CL;;ALhfD;;AmCt5BE;;EAGI;EACA;C9B04CL;;ALlfD;;AmC55BE;;EAOI;C9B84CL;;ALpfD;;AmCpxBA;EACE;C9B6wCD;;ALvfC;;AmCvxBF;EAII;EACA;EACA;EACA;EACA;C9BgxCH;;AL1fG;;AmC9xBJ;EAWM;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAAA;EAAA;C9BmxCL;;AL7fG;;AmC3yBJ;EAyBM;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;OAAA;UAAA;EACA;EAAA;EAAA;EAAA;EAAA;C9BqxCL;;ALhgBC;;AmCzzBF;EAyCI;EACA;EACA;EACA;EACA;EACA;C9BsxCH;;ALngBG;;AmCj0BJ;EAiDM;C9ByxCL;;ALtgBG;;AmCp0BJ;EAqDM;OAAA;UAAA;C9B2xCL;;ALzgBG;;AmCv0BJ;EAyDM;C9B6xCL;;AL5gBK;;AmC10BN;EA4DQ;C9BgyCP;;AL/gBC;;AmC70BF;EAmEI;EACA;C9B+xCH;;ALjhBD;;AmCn2BE;EAGM;C9Bu3CP;;ALnhBD;;AmCv2BE;EAQM;C9Bw3CP;;ALrhBD;;AmC32BE;EAWM;C9B23CP;;ALvhBD;;AmC/2BE;EAGM;C9By4CP;;ALzhBD;;AmCn3BE;EAQM;C9B04CP;;AL3hBD;;AmCv3BE;EAWM;C9B64CP;;AL7hBD;;AmC33BE;EAGM;C9B25CP;;AL/hBD;;AmC/3BE;EAQM;C9B45CP;;ALjiBD;;AmCn4BE;EAWM;C9B+5CP;;ALniBD;;AmCv4BE;EAGM;C9B66CP;;ALriBD;;AmC34BE;EAQM;C9B86CP;;ALviBD;;AmC/4BE;EAWM;C9Bi7CP;;ALziBD;;AmCn5BE;EAGM;C9B+7CP;;AL3iBD;;AmCv5BE;EAQM;C9Bg8CP;;AL7iBD;;AmC35BE;EAWM;C9Bm8CP;;AL/iBD;;AmC/zBA;;EAGI;EACA;C9Bk3CH;;ALjjBD;;AmCr0BA;;EAQM;C9Bq3CL;;ALnjBD;;AmC10BA;;EAWM;C9By3CL;;A+BnnDC;;ApC+jCF;;AoCvjCE;EACE;EACA;C/BknDH;;ALxjBD;;AoCljCE;EACE;C/B+mDH;;AL1jBD;;AoC/iCE;EACE;EACA;C/B8mDH;;AL5jBD;;AoCziCE;EACE;UAAA;EACA;EACA;C/B0mDH;;AL9jBD;;AoCtiCE;EACE;EACA;C/BymDH;;ALhkBD;;AoCjiCE;EACE;C/BsmDH;;ALlkBD;;AoC9hCE;EACE;EACA;EACA;UAAA;C/BqmDH;;ALpkBD;;AoC5hCE;;EAEE;C/BqmDH;;ALtkBD;;AoCzhCE;;;EAGE;EACA;C/BomDH;;ALxkBD;;AoCvhCE;EACE;C/BomDH;;AL1kBD;;AoCphCE;;EAEE;EACA;EACA;EACA;C/BmmDH;;AL5kBD;;AoCphCE;EACE;C/BqmDH;;AL9kBD;;AoCphCE;EACE;C/BumDH;;ALhlBD;;AoC/gCE;EACE;C/BomDH;;ALllBD;;AoCzgCE;;;;;EAKE;EACA;EACA;EACA;C/BgmDH;;ALplBD;;AoCtgCE;;EAEE;C/B+lDH;;ALtlBD;;AoCngCE;;EAEE;C/B8lDH;;ALxlBD;;AoCjgCE;;;;EAIE;C/B8lDH;;AL1lBD;;AoC//BE;;;;EAIE;EACA;C/B8lDH;;AL5lBD;;AoC7/BE;;;;EAIE;C/B8lDH;;AL9lBD;;AoC3/BE;EACE;C/B8lDH;;ALhmBD;;AoCt/BE;EACE;UAAA;EACA;EACA;EACA;EACA;EACA;C/B2lDH;;ALlmBD;;AoCp/BE;EACE;C/B2lDH;;ALpmBD;;AoCl/BE;EACE;C/B2lDH;;ALtmBD;;AACA;;EoC9+BI;UAAA;EACA;C/B0lDH;;ALxmBD;;AACA;;EoC5+BI;C/B0lDH;;AL1mBD;;AACA;EoC1+BI;EACA;C/BylDH;;AL5mBD;;AACA;EoCx+BI;C/BylDH;;AL9mBD;;AoCr+BE;EACE;EACA;C/BwlDH;;ALhnBD;;AoCh+BE;EACE;C/BqlDH;;ALlnBD;;AoC99BE;EACE;C/BqlDH;;ALpnBD;;AoCz9BE;EACE;C/BklDH;;ALtnBD;;AACA;EoCv9BI;C/BklDH;;ALxnBD;;AqCrmCE;EACE;ChCkuDH;;AL1nBD;;AoC3uCE;ECuIE;UAAA;EACA;ChCouDH;;AL5nBD;;AqCpmCE;;;EAGE;UAAA;ChCquDH;;AL9nBD;;AoC5uCE;EC0IE;EACA;EAEA;EAEA;EACA;EACA;EACA;EAGE;EACA;ChCkuDL;;ALhoBD;;AoCvpCE;EC2DE;EACA;EAGA;EACA;EACA;ChCguDH;;ALloBD;;AoClkCE;ECvBE;EACA;EACA;ChCiuDH;;ALpoBD;;AqCzlCE;EACE;UAAA;EACA;EACA;ChCkuDH;;ALtoBD;;AqCvlCE;;;;;;EAKI;ChCmuDL;;ALxoBD;;AqCtlCE;EAEE;EACA;KAAA;UAAA;EACA;EACA;EACA;EACA;EACA;ChCkuDH;;AL3oBC;;AACA;EsCxmCE;CjCwvDH;;AL7oBD;;AoCvwCE;ECiLE;ChCyuDH;;AL/oBD;;AoC3rCE;;;;;EC0GE;ChC0uDH;;ALjpBD;;AqCrlCE;EACE;ChC2uDH;;ALnpBD;;AqCrlCE;EACE;ChC6uDH;;ALrpBD;;AACA;;;;;;;;;;;;;;;EuCnvCE;EACA;UAAA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;UAAA;EAEA;EACA;EACA;EACA;EACA;EAGE;EAAA;EAAA;EAAA;EAAA;EAqBA;KAAA;UAAA;ClCm4DH;;ALrqBC;;AACA;;;;;;;;;;;;;;;EuC/uCE;EACA;EACA;EACA;UAAA;EAGE;EAAA;EAAA;EAAA;EAAA;ClCq6DL;;ALprBD;;AoCrpCE;EG7EE;ClC45DH;;ALvrBC;;AuCtuCA;EAII;ClC+5DL;;ALzrBD;;AuCluCE;;;;E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qhDJ;;E+Ch3CM;;IAII;G1CgsET;;ELj1BD;;E+Cn3CM;;IAII;G1CusET;;ELr1BD;;E+Ct3CM;;IAII;G1C8sET;;ELz1BD;;E+Cz3CM;;IAII;G1CqtET;;EL71BD;;E+C53CM;;IAII;G1C4tET;;ELj2BD;;E+C/3CM;;IAII;G1CmuET;CACF;;ALr2BD;;AoCtpDE;EW2TE;EACA;EACA;EAEA;C1CqsEH;;ALx2BC;;A+Cl2CA;;EASI;C1CwsEL;;AL52BC;;A+Cr2CA;EAgBI;C1CusEL;;AL92BD;;AoCtrDE;EWmWE;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;C1CqsEH;;ALh3BD;;A+Cj1CE;;;EAGE;EACA;EACA;C1CssEH;;ALl3BD;;A+Ch1CE;EACE;C1CusEH;;ALp3BD;;A+C/0CE;EACE;EACA;C1CwsEH;;ALt3BD;;A+C90CE;EACE;C1CysEH;;ALx3BD;;A+C70CE;;;;EAEI;EACA;C1C4sEL;;AL73BD;;A+C10CE;EACE;C1C4sEH;;ALh4BC;;A+C70CA;EAII;EACA;C1C+sEL;;ALl4BD;;A+Cx0CE;EACE;EACA;EACA;C1C+sEH;;ALr4BC;;A+C70CA;;EAMI;EACA;C1CmtEL;;ALx4BD;;A+Ct0CE;EACE;EACA;EACA;C1CmtEH;;AL34BC;;A+C30CA;EAMI;C1CstEL;;AL74BD;;A+Cp0CE;;EACE;EACA;EACA;C1CutEH;;ALh5BD;;A+Cn0CE;EACE;C1CwtEH;;ALl5BD;;A+Cl0CE;EACE;EAEA;EACA;EAEA;EACA;EACA;C1CutEH;;ALp5BD;;A+C/zCE;EACE;EACA;EAEA;EAEA;EACA;C1CstEH;;ALt5BD;;AgDvwDE;EACE;EACA;EAEA;EACA;EACA;C3CiqFH;;ALx5BD;;AgDrwDE;EACE;EACA;C3CkqFH;;AL15BD;;AgDpwDE;EACE;EACA;C3CmqFH;;AL75BC;;AgDpwDE;EACE;C3CsqFL;;AL/5BD;;AgDnwDE;;;;EAGI;EACA;C3CwqFL;;ALp6BD;;AiDl0DU;EACE;C5C2uFX;;ALt6BD;;AiDt0DU;EACE;C5CivFX;;ALx6BD;;AiD10DU;EACE;C5CuvFX;;AL16BD;;AiD90DU;EACE;C5C6vFX;;ACtmFK;EN2rDJ;;EiDx1DQ;IACE;G5CywFT;;EL/6BD;;EiD31DQ;IACE;G5C+wFT;;ELl7BD;;EiD91DQ;IACE;G5CqxFT;;ELr7BD;;EiDj2DQ;IACE;G5C2xFT;CACF;;AChoFK;ENysDJ;;EiDt2DQ;IACE;G5CmyFT;;EL37BD;;EiDz2DQ;IACE;G5CyyFT;;EL97BD;;EiD52DQ;IACE;G5C+yFT;;ELj8BD;;EiD/2DQ;IACE;G5CqzFT;CACF;;ALp8BD;;AkD32DE;EAAkB;C7CqzFnB;;A6CnzFC;ElD82DA;;EkD72DE;IAEI;IAGF;YAAA;IAEA;IACA;G7CozFH;;ELz8BD;;EkDt3DA;IAcoB;G7CuzFnB;;EL58BD;;EkD12DE;IAAkB;G7C4zFnB;;EL/8BD;;EkD32DE;IAAuB;G7Cg0FxB;;ELl9BD;;EkD72DE;IAAuB;G7Cq0FxB;;ELr9BD;;EkD/2DE;IAAuB;G7C00FxB;;ELx9BD;;EkDj3DE;IAAoB;G7C+0FrB;;EL39BD;;EkDn3DE;IAAoB;G7Co1FrB;;EL99BD;;EkDr3DE;IAAoB;G7Cy1FrB;;ELj+BD;;EkDr3DE;;IACY;G7C41Fb;;ELp+BD;;EkDt3DI;IAAgB;G7Cg2FnB;;ELv+BD;;EkDr3DE;;;IAEqB;G7Ck2FtB;;EL1+BD;;EkDr3DE;IAAoB;G7Cq2FrB;;EL7+BD;;EkDr3DE;;IAEE;IACA;G7Cu2FH;;ELh/BD;;EkDn3DE;IAAQ;G7Cy2FT;;ELn/BD;;EkDp3DE;;IACM;G7C62FP;;ELt/BD;;EoCt0DA;Ic/CQ;G7Ci3FP;;A6C/2FC;IAAQ;C7Cm3FX;;EL3/BC;;EkDt3DE;;;IAGE;IACA;G7Cs3FH;;EL9/BD;;EkDp3DE;;IACK;G7Cw3FN;;ELjgCD;;EkDp3DE;IACE;G7C03FH;CACF;;ALpgCD;;AmDj8DE;ECoBM;EAAA;ECdN;EACA;EACA;ChDu8FD;;ACrzFK;EN+yDF;;EmDz8DF;ICoBM;IAAA;G/Cm8FL;CACF;;AL3gCC;;AmD78DA;ECoBM;EAAA;ECdN;EACA;EACA;ChD09FD;;ACx0FK;EN2zDA;;EmDr9DJ;ICoBM;IAAA;G/Cs9FL;CACF;;ALlhCC;;AmDz9DA;EC6BI;EAAA;ECvBJ;EACA;EACA;ChD6+FD;;ALphCD;;AmDp9DE;EESA;EAAA;EAAA;EACA;EAAA;MAAA;UAAA;ChDq+FD;;ALthCD;;AmDr9DE;EGqBE;MAAA;UAAA;EACA;EACA;EAsCA;CjDu7FH;;ALzhCC;;AmD39DA;EG0BE;MAAA;UAAA;CjDg+FH;;AL5hCC;;AmD99DA;EG6BE;MAAA;UAAA;CjDm+FH;;AL9hCD;;AmDr9DE;EGwCE;CjDi9FH;;ALhiCD;;AmDz9DE;EG4CE;CjDm9FH;;ALliCD;;AmD78DI;;;;;;;;;;;;;;EAMI;MAAA;C9C4/FP;;ACt5FK;ENs2DJ;;EmDl9DE;;;;;;;;;;;;;;IAMI;QAAA;G9CghGL;CACF;;AC36FK;EN22DJ;;EmDv9DE;;;;;;;;;;;;;;IAMI;QAAA;G9CqiGL;CACF;;ALjlCD;;AmDv8DI;;;;;;;;;;;;EGpBA;MAAA;UAAA;CjD6jGH;;AL9lCD;;AmD57DM;EGHF;CjDmiGH;;ALhmCD;;AmDh8DM;EGHF;CjDyiGH;;ALlmCD;;AmDp8DM;EGHF;CjD+iGH;;ALpmCD;;AmDx8DM;EGHF;CjDqjGH;;ALtmCD;;AmD58DM;EGHF;CjD2jGH;;ALxmCD;;AmDh9DM;EGHF;CjDikGH;;AL1mCD;;AmDp9DM;EGHF;CjDukGH;;AL5mCD;;AmDx9DM;EGHF;CjD6kGH;;AL9mCD;;AmD59DM;EGHF;CjDmlGH;;ALhnCD;;AmDh+DM;EGHF;CjDylGH;;ALlnCD;;AmDp+DM;EGHF;CjD+lGH;;ALpnCD;;AmDx+DM;EGHF;CjDqmGH;;ACzhGK;ENo6DJ;;EmDlgEI;IGjBF;QAAA;YAAA;IA2BA;GjDqnGD;;ELznCD;;EmDhgEE;;;;;;;;;;;;;IGpBA;QAAA;YAAA;GjD+pGD;;ELxoCD;;EmD7/DI;IGEF;GjDyoGD;;EL3oCD;;EmDv/DI;IGHF;GjD2oGD;;EL9oCD;;EmD1/DI;IGHF;GjDipGD;;ELjpCD;;EmD7/DI;IGHF;GjDupGD;;ELppCD;;EmDhgEI;IGHF;GjD6pGD;;ELvpCD;;EmDngEI;IGHF;GjDmqGD;;EL1pCD;;EmDtgEI;IGHF;GjDyqGD;;EL7pCD;;EmDzgEI;IGHF;GjD+qGD;;ELhqCD;;EmD5gEI;IGHF;GjDqrGD;;ELnqCD;;EmD/gEI;IGHF;GjD2rGD;;ELtqCD;;EmDlhEI;IGHF;GjDisGD;;ELzqCD;;EmDrhEI;IGHF;GjDusGD;;EL5qCD;;EmDxhEI;IGHF;GjD6sGD;CACF;;ACloGK;ENo9DJ;;EmDljEI;IGjBF;QAAA;YAAA;IA2BA;GjD8tGD;;ELlrCD;;EmDhjEE;;;;;;;;;;;;;IGpBA;QAAA;YAAA;GjDwwGD;;ELjsCD;;EmD7iEI;IGEF;GjDkvGD;;ELpsCD;;EmDviEI;IGHF;GjDovGD;;ELvsCD;;EmD1iEI;IGHF;GjD0vGD;;EL1sCD;;EmD7iEI;IGHF;GjDgwGD;;EL7sCD;;EmDhjEI;IGHF;GjDswGD;;ELhtCD;;EmDnjEI;IGHF;GjD4wGD;;ELntCD;;EmDtjEI;IGHF;GjDkxGD;;ELttCD;;EmDzjEI;IGHF;GjDwxGD;;ELztCD;;EmD5jEI;IGHF;GjD8xGD;;EL5tCD;;EmD/jEI;IGHF;GjDoyGD;;EL/tCD;;EmDlkEI;IGHF;GjD0yGD;;ELluCD;;EmDrkEI;IGHF;GjDgzGD;;ELruCD;;EmDxkEI;IGHF;GjDszGD;CACF;;ALxuCD;;AmDpkEE;EACE;C9CizGH;;AL1uCD;;AmDnkEE;EACE;C9CkzGH;;AL5uCD;;AmDxiEE;ECzGM;EAAA;C/Co4GP;;AC9vGK;ENghEF;;EmD7iEF;ICzGM;IAAA;G/C44GL;CACF;;ALnvCC;;AmDjjEA;EG1DE;EFtCE;EAAA;C/C44GL;;AC/wGK;EN0hEF;;EmDvjEF;IG1DE;IFtCE;IAAA;G/Cq5GH;CACF;;AL1vCC;;AmDplEA;EG/BE;CjDm3GH;;AL7vCC;;AmDnlEA;EG/BE;CjDq3GH;;ALhwCC;;AmD9kEE;EGnCA;CjDu3GH;;ALnwCC;;AmDjlEE;EGnCA;CjD63GH;;ALtwCC;;AmDplEE;EGnCA;CjDm4GH;;ALzwCC;;AmDvlEE;EGnCA;CjDy4GH;;AL5wCC;;AmD1lEE;EGnCA;CjD+4GH;;AL/wCC;;AmD7lEE;EGnCA;CjDq5GH;;ALlxCC;;AmDhmEE;EGnCA;CjD25GH;;ALrxCC;;AmDnmEE;EGnCA;CjDi6GH;;ALxxCC;;AmDtmEE;EGnCA;CjDu6GH;;AL3xCC;;AmDzmEE;EGnCA;CjD66GH;;AL9xCC;;AmD5mEE;EGnCA;CjDm7GH;;ALjyCC;;AmD/mEE;EGnCA;CjDy7GH;;AC72GK;EN0kEF;;EmD/nEF;IG/BE;GjDw8GD;;ELvyCC;;EmD9nEF;IG/BE;GjD08GD;;EL1yCC;;EmDznEA;IGnCA;GjD48GD;;EL7yCC;;EmD5nEA;IGnCA;GjDk9GD;;ELhzCC;;EmD/nEA;IGnCA;GjDw9GD;;ELnzCC;;EmDloEA;IGnCA;GjD89GD;;ELtzCC;;EmDroEA;IGnCA;GjDo+GD;;ELzzCC;;EmDxoEA;IGnCA;GjD0+GD;;EL5zCC;;EmD3oEA;IGnCA;GjDg/GD;;EL/zCC;;EmD9oEA;IGnCA;GjDs/GD;;ELl0CC;;EmDjpEA;IGnCA;GjD4/GD;;ELr0CC;;EmDppEA;IGnCA;GjDkgHD;;ELx0CC;;EmDvpEA;IGnCA;GjDwgHD;;EL30CC;;EmD1pEA;IGnCA;GjD8gHD;;EL90CC;;EmDzqEF;IG/BE;GjD4hHD;;ELj1CC;;EmDxqEF;IG/BE;GjD8hHD;;ELp1CC;;EmDnqEA;IGnCA;GjDgiHD;;ELv1CC;;EmDtqEA;IGnCA;GjDsiHD;;EL11CC;;EmDzqEA;IGnCA;GjD4iHD;;EL71CC;;EmD5qEA;IGnCA;GjDkjHD;;ELh2CC;;EmD/qEA;IGnCA;GjDwjHD;;ELn2CC;;EmDlrEA;IGnCA;GjD8jHD;;ELt2CC;;EmDrrEA;IGnCA;GjDokHD;;ELz2CC;;EmDxrEA;IGnCA;GjD0kHD;;EL52CC;;EmD3rEA;IGnCA;GjDglHD;;EL/2CC;;EmD9rEA;IGnCA;GjDslHD;;ELl3CC;;EmDjsEA;IGnCA;GjD4lHD;;ELr3CC;;EmDpsEA;IGnCA;GjDkmHD;CACF;;ACvhHK;EN+pEF;;EmDptEF;IG/BE;GjDknHD;;EL53CC;;EmDntEF;IG/BE;GjDonHD;;EL/3CC;;EmD9sEA;IGnCA;GjDsnHD;;ELl4CC;;EmDjtEA;IGnCA;GjD4nHD;;ELr4CC;;EmDptEA;IGnCA;GjDkoHD;;ELx4CC;;EmDvtEA;IGnCA;GjDwoHD;;EL34CC;;EmD1tEA;IGnCA;GjD8oHD;;EL94CC;;EmD7tEA;IGnCA;GjDopHD;;ELj5CC;;EmDhuEA;IGnCA;GjD0pHD;;ELp5CC;;EmDnuEA;IGnCA;GjDgqHD;;ELv5CC;;EmDtuEA;IGnCA;GjDsqHD;;EL15CC;;EmDzuEA;IGnCA;GjD4qHD;;EL75CC;;EmD5uEA;IGnCA;GjDkrHD;;ELh6CC;;EmD/uEA;IGnCA;GjDwrHD;CACF;;ALn6CD;;AmDnsEE;EC7IM;EAAA;C/C0vHP;;ACpnHK;EN+sEF;;EmDxsEF;IC7IM;IAAA;G/CkwHL;CACF;;ALz6CD;;AmDpsEI;ECtJI;EAAA;C/C0wHP;;ACpoHK;ENytEF;;EmDzsEA;ICtJI;IAAA;G/CkxHL;CACF;;AL/6CD;;AmDvtEE;EC7IM;EAAA;C/C0xHP;;ACppHK;ENmuEF;;EmD5tEF;IC7IM;IAAA;G/CkyHL;CACF;;ALr7CD;;AuDh3EE;ED4DE;CjD+uHH;;ALv7CD;;AuDp3EE;ED4DE;CjDqvHH;;ALz7CD;;AuDx3EE;ED4DE;CjD2vHH;;AL37CD;;AuD53EE;ED4DE;CjDiwHH;;AL77CD;;AuDh4EE;ED4DE;CjDuwHH;;AL/7CD;;AuDp4EE;ED4DE;CjD6wHH;;ALj8CD;;AuDx4EE;ED4DE;CjDmxHH;;ALn8CD;;AuD54EE;ED4DE;CjDyxHH;;AC7sHK;ENywEJ;;EuDj5EA;ID4DE;GjDgyHD;;ELx8CD;;EuDp5EA;ID4DE;GjDsyHD;;EL38CD;;EuDv5EA;ID4DE;GjD4yHD;;EL98CD;;EuD15EA;ID4DE;GjDkzHD;;ELj9CD;;EuD75EA;ID4DE;GjDwzHD;;ELp9CD;;EuDh6EA;ID4DE;GjD8zHD;;ELv9CD;;EuDn6EA;ID4DE;GjDo0HD;;EL19CD;;EuDt6EA;ID4DE;GjD00HD;CACF;;AC/vHK;ENmyEJ;;EuD36EA;ID4DE;GjDk1HD;;ELh+CD;;EuD96EA;ID4DE;GjDw1HD;;ELn+CD;;EuDj7EA;ID4DE;GjD81HD;;ELt+CD;;EuDp7EA;ID4DE;GjDo2HD;;ELz+CD;;EuDv7EA;ID4DE;GjD02HD;;EL5+CD;;EuD17EA;ID4DE;GjDg3HD;;EL/+CD;;EuD77EA;ID4DE;GjDs3HD;;ELl/CD;;EuDh8EA;ID4DE;GjD43HD;CACF;;ALr/CD;;AuDp8EE;ED4DE;CjDm4HH;;ALv/CD;;AuDx8EE;ED4DE;CjDy4HH;;ALz/CD;;AuD58EE;ED4DE;CjD+4HH;;AL3/CD;;AuDh9EE;ED4DE;CjDq5HH;;AL7/CD;;AuDp9EE;ED4DE;CjD25HH;;AL//CD;;AuDx9EE;ED4DE;CjDi6HH;;ALjgDD;;AuD59EE;ED4DE;CjDu6HH;;ALngDD;;AuDh+EE;ED4DE;CjD66HH;;ACj2HK;EN61EJ;;EuDr+EA;ID4DE;GjDo7HD;;ELxgDD;;EuDx+EA;ID4DE;GjD07HD;;EL3gDD;;EuD3+EA;ID4DE;GjDg8HD;;EL9gDD;;EuD9+EA;ID4DE;GjDs8HD;;ELjhDD;;EuDj/EA;ID4DE;GjD48HD;;ELphDD;;EuDp/EA;ID4DE;GjDk9HD;;ELvhDD;;EuDv/EA;ID4DE;GjDw9HD;;EL1hDD;;EuD1/EA;ID4DE;GjD89HD;;EL7hDD;;EuD7/EA;ID4DE;GjDo+HD;;ELhiDD;;EuDhgFA;ID4DE;GjD0+HD;;ELniDD;;EuDngFA;ID4DE;GjDg/HD;;ELtiDD;;EuDtgFA;ID4DE;GjDs/HD;;ELziDD;;EuDzgFA;ID4DE;GjD4/HD;;EL5iDD;;EuD5gFA;ID4DE;GjDkgID;;EL/iDD;;EuD/gFA;ID4DE;GjDwgID;;ELljDD;;EuDlhFA;ID4DE;GjD8gID;CACF;;ACn8HK;EN+4EJ;;EuDvhFA;ID4DE;GjDshID;;ELxjDD;;EuD1hFA;ID4DE;GjD4hID;;EL3jDD;;EuD7hFA;ID4DE;GjDkiID;;EL9jDD;;EuDhiFA;ID4DE;GjDwiID;;ELjkDD;;EuDniFA;ID4DE;GjD8iID;;ELpkDD;;EuDtiFA;ID4DE;GjDojID;;ELvkDD;;EuDziFA;ID4DE;GjD0jID;;EL1kDD;;EuD5iFA;ID4DE;GjDgkID;CACF;;AL7kDD;;AmDr2EM;EKhNE;EAAA;CnDyoIP;;ALhlDC;;AwDtjFI;EAEI;EAAA;CnD2oIT;;ALnlDC;;AwDliFU;EFsCR;CjDqlIH;;ALtlDC;;AwDriFU;EFsCR;CjD2lIH;;ALzlDC;;AwDxiFU;EFsCR;CjDimIH;;AL5lDC;;AwD3iFU;EFsCR;CjDumIH;;AL/lDC;;AwD9iFU;EFsCR;CjD6mIH;;ALlmDC;;AwDjjFU;EFsCR;CjDmnIH;;ALrmDC;;AwDpjFU;EFsCR;CjDynIH;;ALxmDC;;AwDvjFU;EFsCR;CjD+nIH;;AL3mDC;;AwD1jFU;EFsCR;CjDqoIH;;AL9mDC;;AwD7jFU;EFsCR;CjD2oIH;;ALjnDC;;AwDhkFU;EFsCR;CjDipIH;;ALpnDC;;AwDnkFU;EFsCR;CjDupIH;;AC3kIK;ENq9EF;;EwDvkFQ;IFsCR;GjD8pID;;EL1nDC;;EwD1kFQ;IFsCR;GjDoqID;;EL7nDC;;EwD7kFQ;IFsCR;GjD0qID;;ELhoDC;;EwDhlFQ;IFsCR;GjDgrID;;ELnoDC;;EwDnlFQ;IFsCR;GjDsrID;;ELtoDC;;EwDtlFQ;IFsCR;GjD4rID;;ELzoDC;;EwDzlFQ;IFsCR;GjDksID;;EL5oDC;;EwD5lFQ;IFsCR;GjDwsID;;EL/oDC;;EwD/lFQ;IFsCR;GjD8sID;;ELlpDC;;EwDlmFQ;IFsCR;GjDotID;;ELrpDC;;EwDrmFQ;IFsCR;GjD0tID;;ELxpDC;;EwDxmFQ;IFsCR;GjDguID;CACF;;ACrpIK;EN0/EF;;EwD5mFQ;IFsCR;GjDwuID;;EL/pDC;;EwD/mFQ;IFsCR;GjD8uID;;ELlqDC;;EwDlnFQ;IFsCR;GjDovID;;ELrqDC;;EwDrnFQ;IFsCR;GjD0vID;;ELxqDC;;EwDxnFQ;IFsCR;GjDgwID;;EL3qDC;;EwD3nFQ;IFsCR;GjDswID;;EL9qDC;;EwD9nFQ;IFsCR;GjD4wID;;ELjrDC;;EwDjoFQ;IFsCR;GjDkxID;;ELprDC;;EwDpoFQ;IFsCR;GjDwxID;;ELvrDC;;EwDvoFQ;IFsCR;GjD8xID;;EL1rDC;;EwD1oFQ;IFsCR;GjDoyID;;EL7rDC;;EwD7oFQ;IFsCR;GjD0yID;CACF;;ALhsDD;;AmDt9EM;EK/KE;EAAA;CnD40IP;;ALnsDC;;AwDtoFI;EAEI;EAAA;CnD80IT;;AC7uIK;ENyiFJ;;EmDt+EI;IKhNE;IAAA;GnDk4IL;;ELxsDC;;EwDvrFE;IAEI;IAAA;GnDo4IP;CACF;;AC7vIK;ENmjFJ;;EwD9qFU;IF+CR;GjDg1ID;;EL9sDD;;EwDjrFU;IF+CR;GjDs1ID;;ELjtDD;;EwDprFU;IF+CR;GjD41ID;;ELptDD;;EwDvrFU;IF+CR;GjDk2ID;;ELvtDD;;EwD1rFU;IF+CR;GjDw2ID;;EL1tDD;;EwD7rFU;IF+CR;GjD82ID;;EL7tDD;;EwDhsFU;IF+CR;GjDo3ID;;ELhuDD;;EwDnsFU;IF+CR;GjD03ID;;ELnuDD;;EwDtsFU;IF+CR;GjDg4ID;;ELtuDD;;EwDzsFU;IF+CR;GjDs4ID;;ELzuDD;;EwD5sFU;IF+CR;GjD44ID;;EL5uDD;;EwD/sFU;IF+CR;GjDk5ID;CACF;;ACv0IK;ENylFJ;;EwD3sFU;IFsCR;GjD05ID;;ELlvDD;;EwD9sFU;IFsCR;GjDg6ID;;ELrvDD;;EwDjtFU;IFsCR;GjDs6ID;;ELxvDD;;EwDptFU;IFsCR;GjD46ID;;EL3vDD;;EwDvtFU;IFsCR;GjDk7ID;;EL9vDD;;EwD1tFU;IFsCR;GjDw7ID;;ELjwDD;;EwD7tFU;IFsCR;GjD87ID;;ELpwDD;;EwDhuFU;IFsCR;GjDo8ID;;ELvwDD;;EwDnuFU;IFsCR;GjD08ID;;EL1wDD;;EwDtuFU;IFsCR;GjDg9ID;;EL7wDD;;EwDzuFU;IFsCR;GjDs9ID;;ELhxDD;;EwD5uFU;IFsCR;GjD49ID;CACF;;ACj5IK;EN+nFJ;;EwDjvFU;IFsCR;GjDo+ID;;ELtxDD;;EwDpvFU;IFsCR;GjD0+ID;;ELzxDD;;EwDvvFU;IFsCR;GjDg/ID;;EL5xDD;;EwD1vFU;IFsCR;GjDs/ID;;EL/xDD;;EwD7vFU;IFsCR;GjD4/ID;;ELlyDD;;EwDhwFU;IFsCR;GjDkgJD;;ELryDD;;EwDnwFU;IFsCR;GjDwgJD;;ELxyDD;;EwDtwFU;IFsCR;GjD8gJD;;EL3yDD;;EwDzwFU;IFsCR;GjDohJD;;EL9yDD;;EwD5wFU;IFsCR;GjD0hJD;;ELjzDD;;EwD/wFU;IFsCR;GjDgiJD;;ELpzDD;;EwDlxFU;IFsCR;GjDsiJD;CACF;;AC39IK;ENqqFJ;;EmD5lFI;IK/KE;IAAA;GnDykJL;;EL1zDC;;EwD5wFE;IAEI;IAAA;GnD2kJP;CACF;;AC3+IK;EN+qFJ;;EmD5mFI;IKhNE;IAAA;GnDgoJL;;ELh0DC;;EwD7zFE;IAEI;IAAA;GnDkoJP;CACF;;AC3/IK;ENyrFJ;;EwDpzFU;IF+CR;GjD8kJD;;ELt0DD;;EwDvzFU;IF+CR;GjDolJD;;ELz0DD;;EwD1zFU;IF+CR;GjD0lJD;;EL50DD;;EwD7zFU;IF+CR;GjDgmJD;;EL/0DD;;EwDh0FU;IF+CR;GjDsmJD;;ELl1DD;;EwDn0FU;IF+CR;GjD4mJD;;ELr1DD;;EwDt0FU;IF+CR;GjDknJD;;ELx1DD;;EwDz0FU;IF+CR;GjDwnJD;;EL31DD;;EwD50FU;IF+CR;GjD8nJD;;EL91DD;;EwD/0FU;IF+CR;GjDooJD;;ELj2DD;;EwDl1FU;IF+CR;GjD0oJD;;ELp2DD;;EwDr1FU;IF+CR;GjDgpJD;CACF;;ACrkJK;EN+tFJ;;EwD11FU;IF+CR;GjDwpJD;;EL12DD;;EwD71FU;IF+CR;GjD8pJD;;EL72DD;;EwDh2FU;IF+CR;GjDoqJD;;ELh3DD;;EwDn2FU;IF+CR;GjD0qJD;;ELn3DD;;EwDt2FU;IF+CR;GjDgrJD;;ELt3DD;;EwDz2FU;IF+CR;GjDsrJD;;ELz3DD;;EwD52FU;IF+CR;GjD4rJD;;EL53DD;;EwD/2FU;IF+CR;GjDksJD;;EL/3DD;;EwDl3FU;IF+CR;GjDwsJD;;ELl4DD;;EwDr3FU;IF+CR;GjD8sJD;;ELr4DD;;EwDx3FU;IF+CR;GjDotJD;;ELx4DD;;EwD33FU;IF+CR;GjD0tJD;CACF;;AC/oJK;ENqwFJ;;EwDv3FU;IFsCR;GjDkuJD;;EL94DD;;EwD13FU;IFsCR;GjDwuJD;;ELj5DD;;EwD73FU;IFsCR;GjD8uJD;;ELp5DD;;EwDh4FU;IFsCR;GjDovJD;;ELv5DD;;EwDn4FU;IFsCR;GjD0vJD;;EL15DD;;EwDt4FU;IFsCR;GjDgwJD;;EL75DD;;EwDz4FU;IFsCR;GjDswJD;;ELh6DD;;EwD54FU;IFsCR;GjD4wJD;;ELn6DD;;EwD/4FU;IFsCR;GjDkxJD;;ELt6DD;;EwDl5FU;IFsCR;GjDwxJD;;ELz6DD;;EwDr5FU;IFsCR;GjD8xJD;;EL56DD;;EwDx5FU;IFsCR;GjDoyJD;CACF;;ACztJK;EN2yFJ;;EmDluFI;IK/KE;IAAA;GnDu0JL;;ELl7DC;;EwDl5FE;IAEI;IAAA;GnDy0JP;CACF;;ALr7DD;;AmD7tFM;EMhOF;CpDw3JH;;ALv7DD;;AmD7tFM;EMpOF;CpD83JH;;ALz7DD;;AmDruFM;EMhOF;CpDo4JH;;AL37DD;;AmDruFM;EMpOF;CpD04JH;;AL77DD;;AmD7uFM;EMhOF;CpDg5JH;;AL/7DD;;AmD7uFM;EMpOF;CpDs5JH;;ALj8DD;;AmDrvFM;EMhOF;CpD45JH;;ALn8DD;;AmDrvFM;EMpOF;CpDk6JH;;ALr8DD;;AmD7vFM;EMhOF;CpDw6JH;;ALv8DD;;AmD7vFM;EMpOF;CpD86JH;;ALz8DD;;AmDrwFM;EMhOF;CpDo7JH;;AL38DD;;AmDrwFM;EMpOF;CpD07JH;;AL78DD;;AmD7wFM;EMhOF;CpDg8JH;;AL/8DD;;AmD7wFM;EMpOF;CpDs8JH;;ALj9DD;;AmDrxFM;EMhOF;CpD48JH;;ALn9DD;;AmDrxFM;EMpOF;CpDk9JH;;ALr9DD;;AmD7xFM;EMhOF;CpDw9JH;;ALv9DD;;AmD7xFM;EMpOF;CpD89JH;;ALz9DD;;AmDryFM;EMhOF;CpDo+JH;;AL39DD;;AmDryFM;EMpOF;CpD0+JH;;AL79DD;;AmD7yFM;EMhOF;CpDg/JH;;AL/9DD;;AmD7yFM;EMpOF;CpDs/JH;;ALj+DD;;AmDrzFM;EMhOF;CpD4/JH;;ALn+DD;;AmDrzFM;EMpOF;CpDkgKH;;ACz3JK;ENq5FJ;;EmD9zFI;IMhOF;GpDygKD;;ELx+DD;;EmD7zFI;IMpOF;GpD+gKD;;EL3+DD;;EmDp0FI;IMhOF;GpDqhKD;;EL9+DD;;EmDn0FI;IMpOF;GpD2hKD;;ELj/DD;;EmD10FI;IMhOF;GpDiiKD;;ELp/DD;;EmDz0FI;IMpOF;GpDuiKD;;ELv/DD;;EmDh1FI;IMhOF;GpD6iKD;;EL1/DD;;EmD/0FI;IMpOF;GpDmjKD;;EL7/DD;;EmDt1FI;IMhOF;GpDyjKD;;ELhgED;;EmDr1FI;IMpOF;GpD+jKD;;ELngED;;EmD51FI;IMhOF;GpDqkKD;;ELtgED;;EmD31FI;IMpOF;GpD2kKD;;ELzgED;;EmDl2FI;IMhOF;GpDilKD;;EL5gED;;EmDj2FI;IMpOF;GpDulKD;;EL/gED;;EmDx2FI;IMhOF;GpD6lKD;;ELlhED;;EmDv2FI;IMpOF;GpDmmKD;;ELrhED;;EmD92FI;IMhOF;GpDymKD;;ELxhED;;EmD72FI;IMpOF;GpD+mKD;;EL3hED;;EmDp3FI;IMhOF;GpDqnKD;;EL9hED;;EmDn3FI;IMpOF;GpD2nKD;;ELjiED;;EmD13FI;IMhOF;GpDioKD;;ELpiED;;EmDz3FI;IMpOF;GpDuoKD;;ELviED;;EmDh4FI;IMhOF;GpD6oKD;;EL1iED;;EmD/3FI;IMpOF;GpDmpKD;CACF;;AC3gKK;EN+9FJ;;EmDx4FI;IMhOF;GpD2pKD;;ELhjED;;EmDv4FI;IMpOF;GpDiqKD;;ELnjED;;EmD94FI;IMhOF;GpDuqKD;;ELtjED;;EmD74FI;IMpOF;GpD6qKD;;ELzjED;;EmDp5FI;IMhOF;GpDmrKD;;EL5jED;;EmDn5FI;IMpOF;GpDyrKD;;EL/jED;;EmD15FI;IMhOF;GpD+rKD;;ELlkED;;EmDz5FI;IMpOF;GpDqsKD;;ELrkED;;EmDh6FI;IMhOF;GpD2sKD;;ELxkED;;EmD/5FI;IMpOF;GpDitKD;;EL3kED;;EmDt6FI;IMhOF;GpDutKD;;EL9kED;;EmDr6FI;IMpOF;GpD6tKD;;ELjlED;;EmD56FI;IMhOF;GpDmuKD;;ELplED;;EmD36FI;IMpOF;GpDyuKD;;ELvlED;;EmDl7FI;IMhOF;GpD+uKD;;EL1lED;;EmDj7FI;IMpOF;GpDqvKD;;EL7lED;;EmDx7FI;IMhOF;GpD2vKD;;ELhmED;;EmDv7FI;IMpOF;GpDiwKD;;ELnmED;;EmD97FI;IMhOF;GpDuwKD;;ELtmED;;EmD77FI;IMpOF;GpD6wKD;;ELzmED;;EmDp8FI;IMhOF;GpDmxKD;;EL5mED;;EmDn8FI;IMpOF;GpDyxKD;;EL/mED;;EmD18FI;IMhOF;GpD+xKD;;ELlnED;;EmDz8FI;IMpOF;GpDqyKD;CACF;;ALrnED;;AmDpmGgB;EExEd;EAAA;EAAA;EACA;EAAA;MAAA;UAAA;ChDuyKD;;ALxnEC;;AmD/7FA;EG7MA;EACA;CjD0wKD;;AL3nEC;;AmDn8FA;EGjME;CjDqwKH;;AL9nEC;;AmDt8FA;EG7LE;CjDuwKH;;ALjoEC;;AmDz8FA;;;;;;;;;;;;;;EA2BM;MAAA;C9CkkKP;;AC1sKK;EN0jGF;;EmD78FF;;;;;;;;;;;;;;IA2BM;QAAA;G9CslKL;CACF;;AC/tKK;EN8jGF;;EmDj9FF;;;;;;;;;;;;;;IA2BM;QAAA;G9C2mKL;CACF;;ALnrEC;;AmDp9FA;;;;;;;;;;;;EGzNE;MAAA;UAAA;CjDi3KH;;ALjsEC;;AmDv9FA;EGzLE;CjDu1KH;;ALpsEC;;AmD19FA;EGzLE;CjD61KH;;ALvsEC;;AmD79FA;EGzLE;CjDm2KH;;AL1sEC;;AmDh+FA;EGzLE;CjDy2KH;;AL7sEC;;AmDn+FA;EGzLE;CjD+2KH;;ALhtEC;;AmDt+FA;EGzLE;CjDq3KH;;ALntEC;;AmDz+FA;EGzLE;CjD23KH;;ALttEC;;AmD5+FA;EGzLE;CjDi4KH;;ALztEC;;AmD/+FA;EGzLE;CjDu4KH;;AL5tEC;;AmDl/FA;EGzLE;CjD64KH;;AL/tEC;;AmDr/FA;EGzLE;CjDm5KH;;ALluEC;;AmDx/FA;EGzLE;CjDy5KH;;AC70KK;ENymGF;;EmD5/FF;IG5NE;QAAA;YAAA;IA2BA;GjDy6KD;;ELxuEC;;EmDhgGF;;;;;;;;;;;;;IGzNE;QAAA;YAAA;GjDm9KD;;ELvvEC;;EmDngGF;IG7LE;GjD67KD;;EL1vEC;;EmDtgGF;IGzLE;GjD+7KD;;EL7vEC;;EmDzgGF;IGzLE;GjDq8KD;;ELhwEC;;EmD5gGF;IGzLE;GjD28KD;;ELnwEC;;EmD/gGF;IGzLE;GjDi9KD;;ELtwEC;;EmDlhGF;IGzLE;GjDu9KD;;ELzwEC;;EmDrhGF;IGzLE;GjD69KD;;EL5wEC;;EmDxhGF;IGzLE;GjDm+KD;;EL/wEC;;EmD3hGF;IGzLE;GjDy+KD;;ELlxEC;;EmD9hGF;IGzLE;GjD++KD;;ELrxEC;;EmDjiGF;IGzLE;GjDq/KD;;ELxxEC;;EmDpiGF;IGzLE;GjD2/KD;;EL3xEC;;EmDviGF;IGzLE;GjDigLD;CACF;;ACt7KK;ENwpGF;;EmD3iGF;IG5NE;QAAA;YAAA;IA2BA;GjDkhLD;;ELlyEC;;EmD/iGF;;;;;;;;;;;;;IGzNE;QAAA;YAAA;GjD4jLD;;ELjzEC;;EmDljGF;IG7LE;GjDsiLD;;ELpzEC;;EmDrjGF;IGzLE;GjDwiLD;;ELvzEC;;EmDxjGF;IGzLE;GjD8iLD;;EL1zEC;;EmD3jGF;IGzLE;GjDojLD;;EL7zEC;;EmD9jGF;IGzLE;GjD0jLD;;ELh0EC;;EmDjkGF;IGzLE;GjDgkLD;;ELn0EC;;EmDpkGF;IGzLE;GjDskLD;;ELt0EC;;EmDvkGF;IGzLE;GjD4kLD;;ELz0EC;;EmD1kGF;IGzLE;GjDklLD;;EL50EC;;EmD7kGF;IGzLE;GjDwlLD;;EL/0EC;;EmDhlGF;IGzLE;GjD8lLD;;ELl1EC;;EmDnlGF;IGzLE;GjDomLD;;ELr1EC;;EmDtlGF;IGzLE;GjD0mLD;CACF;;ALx1ED;;AmDzhGI;ECpTI;EAAA;C/C4qLP;;ACtiLK;EN4sGF;;EmD9hGA;ICpTI;IAAA;G/CorLL;CACF;;AL91ED;;AmDniGI;ECpTI;EAAA;C/C4rLP;;ACtjLK;ENstGF;;EmDxiGA;ICpTI;IAAA;G/CosLL;CACF;;ALp2ED;;AmDxvGE;ECzGM;EAAA;C/C4sLP;;ACtkLK;ENguGF;;EmD7vGF;ICzGM;IAAA;G/CotLL;CACF;;AL32EC;;AmDjwGA;EG1DE;EFtCE;EAAA;C/CotLL;;ACvlLK;EN0uGF;;EmDvwGF;IG1DE;IFtCE;IAAA;G/C6tLH;CACF;;ALl3EC;;AmDpyGA;EG/BE;CjD2rLH;;ALr3EC;;AmDnyGA;EG/BE;CjD6rLH;;ALx3EC;;AmD9xGE;EGnCA;CjD+rLH;;AL33EC;;AmDjyGE;EGnCA;CjDqsLH;;AL93EC;;AmDpyGE;EGnCA;CjD2sLH;;ALj4EC;;AmDvyGE;EGnCA;CjDitLH;;ALp4EC;;AmD1yGE;EGnCA;CjDutLH;;ALv4EC;;AmD7yGE;EGnCA;CjD6tLH;;AL14EC;;AmDhzGE;EGnCA;CjDmuLH;;AL74EC;;AmDnzGE;EGnCA;CjDyuLH;;ALh5EC;;AmDtzGE;EGnCA;CjD+uLH;;ALn5EC;;AmDzzGE;EGnCA;CjDqvLH;;ALt5EC;;AmD5zGE;EGnCA;CjD2vLH;;ALz5EC;;AmD/zGE;EGnCA;CjDiwLH;;ACrrLK;EN0xGF;;EmD/0GF;IG/BE;GjDgxLD;;EL/5EC;;EmD90GF;IG/BE;GjDkxLD;;ELl6EC;;EmDz0GA;IGnCA;GjDoxLD;;ELr6EC;;EmD50GA;IGnCA;GjD0xLD;;ELx6EC;;EmD/0GA;IGnCA;GjDgyLD;;EL36EC;;EmDl1GA;IGnCA;GjDsyLD;;EL96EC;;EmDr1GA;IGnCA;GjD4yLD;;ELj7EC;;EmDx1GA;IGnCA;GjDkzLD;;ELp7EC;;EmD31GA;IGnCA;GjDwzLD;;ELv7EC;;EmD91GA;IGnCA;GjD8zLD;;EL17EC;;EmDj2GA;IGnCA;GjDo0LD;;EL77EC;;EmDp2GA;IGnCA;GjD00LD;;ELh8EC;;EmDv2GA;IGnCA;GjDg1LD;;ELn8EC;;EmD12GA;IGnCA;GjDs1LD;;ELt8EC;;EmDz3GF;IG/BE;GjDo2LD;;ELz8EC;;EmDx3GF;IG/BE;GjDs2LD;;EL58EC;;EmDn3GA;IGnCA;GjDw2LD;;EL/8EC;;EmDt3GA;IGnCA;GjD82LD;;ELl9EC;;EmDz3GA;IGnCA;GjDo3LD;;ELr9EC;;EmD53GA;IGnCA;GjD03LD;;ELx9EC;;EmD/3GA;IGnCA;GjDg4LD;;EL39EC;;EmDl4GA;IGnCA;GjDs4LD;;EL99EC;;EmDr4GA;IGnCA;GjD44LD;;ELj+EC;;EmDx4GA;IGnCA;GjDk5LD;;ELp+EC;;EmD34GA;IGnCA;GjDw5LD;;ELv+EC;;EmD94GA;IGnCA;GjD85LD;;EL1+EC;;EmDj5GA;IGnCA;GjDo6LD;;EL7+EC;;EmDp5GA;IGnCA;GjD06LD;CACF;;AC/1LK;EN+2GF;;EmDp6GF;IG/BE;GjD07LD;;ELp/EC;;EmDn6GF;IG/BE;GjD47LD;;ELv/EC;;EmD95GA;IGnCA;GjD87LD;;EL1/EC;;EmDj6GA;IGnCA;GjDo8LD;;EL7/EC;;EmDp6GA;IGnCA;GjD08LD;;ELhgFC;;EmDv6GA;IGnCA;GjDg9LD;;ELngFC;;EmD16GA;IGnCA;GjDs9LD;;ELtgFC;;EmD76GA;IGnCA;GjD49LD;;ELzgFC;;EmDh7GA;IGnCA;GjDk+LD;;EL5gFC;;EmDn7GA;IGnCA;GjDw+LD;;EL/gFC;;EmDt7GA;IGnCA;GjD8+LD;;ELlhFC;;EmDz7GA;IGnCA;GjDo/LD;;ELrhFC;;EmD57GA;IGnCA;GjD0/LD;;ELxhFC;;EmD/7GA;IGnCA;GjDggMD;CACF;;AL3hFD;;AmDvtGE;EOzVE;EACA;EACA;MAAA;EACA;MAAA;UAAA;EA2BI;CrDujMP;;AL7hFD;;AmD3tGE;EACE;C9C6vLH;;AL/hFD;;AmD3tGE;EOhTE;EACA;EAGF;EACA;CrD8iMD;;ALjiFD;;AmD9tGE;EOxTE;EACA;EACA;EAMF;EACA;CrDwjMD;;ALniFD;;AmDjuGE;EO7SA;EAAA;EAAA;EACA;EAAA;MAAA;UAAA;EACA;CrDujMD;;ALtiFC;;A0D/gHA;EACE;EACA;MAAA;CrD0jMH;;ACv+LK;ENg8GJ;;EmDruGE;IOjXA;IACA;IACA;QAAA;IACA;QAAA;YAAA;IA2BI;GrD0mML;;EL3iFD;;EmDxuGE;IACE;G9CwxLH;;EL9iFD;;EmDvuGE;IOxUA;IACA;IAGF;IACA;GrDimMC;;ELjjFD;;EmDzuGE;IOhUF;IAAA;IAAA;IACA;IAAA;QAAA;YAAA;IACA;GrDgmMC;;ELpjFC;;E0D1iHF;IACE;IACA;QAAA;GrDmmMD;;ELvjFD;;EmD9uGE;IOpVA;IACA;IACA;IAMF;IACA;GrD0nMC;CACF;;AC3hMK;ENk+GJ;;EmDvwGE;IOjXA;IACA;IACA;QAAA;IACA;QAAA;YAAA;IA2BI;GrD8pML;;EL7jFD;;EmD1wGE;IACE;G9C40LH;;ELhkFD;;EmDzwGE;IOxUA;IACA;IAGF;IACA;GrDqpMC;;ELnkFD;;EmD3wGE;IOhUF;IAAA;IAAA;IACA;IAAA;QAAA;YAAA;IACA;GrDopMC;;ELtkFC;;E0D5kHF;IACE;IACA;QAAA;GrDupMD;;ELzkFD;;EmDhxGE;IOpVA;IACA;IACA;IAMF;IACA;GrD8qMC;CACF;;AL5kFD;;AmDlxGI;EAEI;EOzYJ;EACA;EACA;MAAA;EACA;MAAA;UAAA;EAyBI;CrDotMP;;AC1lMK;EN6gHJ;;EmD5xGE;IAQM;IO/YN;IACA;IACA;QAAA;IACA;QAAA;YAAA;IAyBI;GrDguML;CACF;;ACvmMK;ENuhHJ;;EmDtyGE;IAQM;IO/YN;IACA;IACA;QAAA;IACA;QAAA;YAAA;IAyBI;GrD6uML;CACF;;ALplFD;;AmDjyGI;EAEI;C9Cy3LP;;AC1nMK;ENqiHJ;;EmDtyGE;IAMM;G9C43LP;CACF;;ACloMK;EN0iHJ;;EmD3yGE;IAMM;G9Co4LP;CACF;;AL5lFD;;AmD3kHE;ECzGM;EAAA;C/CuxMP;;ACjpMK;ENmjHF;;EmDhlHF;ICzGM;IAAA;G/C+xML;CACF;;ALnmFC;;AmDplHA;EG1DE;EFtCE;EAAA;C/C+xML;;AClqMK;EN6jHF;;EmD1lHF;IG1DE;IFtCE;IAAA;G/CwyMH;CACF;;AL1mFC;;AmDvnHA;EG/BE;CjDswMH;;AL7mFC;;AmDtnHA;EG/BE;CjDwwMH;;ALhnFC;;AmDjnHE;EGnCA;CjD0wMH;;ALnnFC;;AmDpnHE;EGnCA;CjDgxMH;;ALtnFC;;AmDvnHE;EGnCA;CjDsxMH;;ALznFC;;AmD1nHE;EGnCA;CjD4xMH;;AL5nFC;;AmD7nHE;EGnCA;CjDkyMH;;AL/nFC;;AmDhoHE;EGnCA;CjDwyMH;;ALloFC;;AmDnoHE;EGnCA;CjD8yMH;;ALroFC;;AmDtoHE;EGnCA;CjDozMH;;ALxoFC;;AmDzoHE;EGnCA;CjD0zMH;;AL3oFC;;AmD5oHE;EGnCA;CjDg0MH;;AL9oFC;;AmD/oHE;EGnCA;CjDs0MH;;ALjpFC;;AmDlpHE;EGnCA;CjD40MH;;AChwMK;EN6mHF;;EmDlqHF;IG/BE;GjD21MD;;ELvpFC;;EmDjqHF;IG/BE;GjD61MD;;EL1pFC;;EmD5pHA;IGnCA;GjD+1MD;;EL7pFC;;EmD/pHA;IGnCA;GjDq2MD;;ELhqFC;;EmDlqHA;IGnCA;GjD22MD;;ELnqFC;;EmDrqHA;IGnCA;GjDi3MD;;ELtqFC;;EmDxqHA;IGnCA;GjDu3MD;;ELzqFC;;EmD3qHA;IGnCA;GjD63MD;;EL5qFC;;EmD9qHA;IGnCA;GjDm4MD;;EL/qFC;;EmDjrHA;IGnCA;GjDy4MD;;ELlrFC;;EmDprHA;IGnCA;GjD+4MD;;ELrrFC;;EmDvrHA;IGnCA;GjDq5MD;;ELxrFC;;EmD1rHA;IGnCA;GjD25MD;;EL3rFC;;EmD7rHA;IGnCA;GjDi6MD;;EL9rFC;;EmD5sHF;IG/BE;GjD+6MD;;ELjsFC;;EmD3sHF;IG/BE;GjDi7MD;;ELpsFC;;EmDtsHA;IGnCA;GjDm7MD;;ELvsFC;;EmDzsHA;IGnCA;GjDy7MD;;EL1sFC;;EmD5sHA;IGnCA;GjD+7MD;;EL7sFC;;EmD/sHA;IGnCA;GjDq8MD;;ELhtFC;;EmDltHA;IGnCA;GjD28MD;;ELntFC;;EmDrtHA;IGnCA;GjDi9MD;;ELttFC;;EmDxtHA;IGnCA;GjDu9MD;;ELztFC;;EmD3tHA;IGnCA;GjD69MD;;EL5tFC;;EmD9tHA;IGnCA;GjDm+MD;;EL/tFC;;EmDjuHA;IGnCA;GjDy+MD;;ELluFC;;EmDpuHA;IGnCA;GjD++MD;;ELruFC;;EmDvuHA;IGnCA;GjDq/MD;CACF;;AC16MK;ENksHF;;EmDvvHF;IG/BE;GjDqgND;;EL5uFC;;EmDtvHF;IG/BE;GjDugND;;EL/uFC;;EmDjvHA;IGnCA;GjDygND;;ELlvFC;;EmDpvHA;IGnCA;GjD+gND;;ELrvFC;;EmDvvHA;IGnCA;GjDqhND;;ELxvFC;;EmD1vHA;IGnCA;GjD2hND;;EL3vFC;;EmD7vHA;IGnCA;GjDiiND;;EL9vFC;;EmDhwHA;IGnCA;GjDuiND;;ELjwFC;;EmDnwHA;IGnCA;GjD6iND;;ELpwFC;;EmDtwHA;IGnCA;GjDmjND;;ELvwFC;;EmDzwHA;IGnCA;GjDyjND;;EL1wFC;;EmD5wHA;IGnCA;GjD+jND;;EL7wFC;;EmD/wHA;IGnCA;GjDqkND;;ELhxFC;;EmDlxHA;IGnCA;GjD2kND;CACF;;ALnxFD;;AmDj+GI;EO/YI;CrDyoNP;;ACtgNK;ENivHF;;EmDr+GA;IO/YI;GrDgpNL;CACF;;AC9gNK;ENqvHF;;EmDz+GA;IO/YI;GrDwpNL;CACF;;ACthNK;EN0vHJ;;EmD1+GI;IOnZE;GrDgqNL;CACF;;AC9hNK;EN+vHJ;;EmD/+GI;IOnZE;GrDwqNL;CACF;;ALnyFD;;A2DhqHE;EAhLA;EACA;EACA;EAUE;EAGF;EACA;EACA;EAAA;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EAqCA;EACA;CtD0kND;;ALtyFC;;AACA;EsCjvHE;CjC4hNH;;ALzyFC;;A2DryHA;;EACE;EACA;CtDolNH;;AL7yFC;;A2DxrHA;EAMM;CtDq+MP;;ALhzFC;;A2D3rHA;EAMM;CtD2+MP;;ALnzFC;;A2D9rHA;EAMM;CtDi/MP;;ALtzFC;;A2DjsHA;EAlJE;EACA;EACA;EACA;CtD+oNH;;ALzzFC;;A2DvsHA;EApHA;EACA;CtD0nND;;AL5zFG;;A2D5zHF;;EACE;EACA;CtD8nNH;;ALh0FC;;A2D/sHA;EApHA;EACA;CtDyoND;;ALn0FG;;A2Dp0HF;;EACE;EACA;CtD6oNH;;ALv0FC;;A2DvtHA;EApHA;EACA;CtDwpND;;AL10FG;;A2D50HF;;EACE;EACA;CtD4pNH;;AL90FC;;A2D/tHA;EApHA;EACA;CtDuqND;;ALj1FG;;A2Dp1HF;;EACE;EACA;CtD2qNH;;ALr1FC;;A2DvuHA;EApHA;EACA;CtDsrND;;ALx1FG;;A2D51HF;;EACE;EACA;CtD0rNH;;AL51FC;;A2D/uHA;;EA1DA;EACA;CtD4oND;;ALh2FG;;A2D1yHF;;;;;;EACE;EACA;CtDopNH;;ALx2FG;;A2DvvHF;;EA1DA;EACA;CtDgqND;;AL52FK;;A2DlzHJ;;;;;;EACE;EACA;CtDwqNH;;ALp3FG;;A2D/vHF;;EA1DA;EACA;CtDorND;;ALx3FK;;A2D1zHJ;;;;;;EACE;EACA;CtD4rNH;;ALh4FG;;A2DvwHF;;EA1DA;EACA;CtDwsND;;ALp4FK;;A2Dl0HJ;;;;;;EACE;EACA;CtDgtNH;;AL54FG;;A2D/wHF;;EA1DA;EACA;CtD4tND;;ALh5FK;;A2D10HJ;;;;;;EACE;EACA;CtDouNH;;ALx5FG;;A2DvxHF;;EA1DA;EACA;CtDgvND;;AL55FK;;A2Dl1HJ;;;;;;EACE;EACA;CtDwvNH;;ALp6FC;;A2D/xHA;EAnFA;EACA;CtD4xND;;ALv6FG;;A2D54HF;;;EAGE;CtDwzNH;;AL56FG;;A2Dv4HA;;;;;;EAEE;CtD4zNL;;ALp7FG;;A2Dz3HF;;EACE;EACA;CtDmzNH;;ALx7FK;;A2D13HF;;;;EAEE;EACA;CtDyzNL;;AL97FG;;A2DjzHF;EAnFA;EACA;CtDw0ND;;ALj8FK;;A2Dr4HJ;;EACE;EACA;CtD40NH;;ALr8FO;;A2Dt4HJ;;;;EAEE;EACA;CtDk1NL;;AL38FG;;A2D7zHF;EAnFA;EACA;CtDi2ND;;AL98FK;;A2Dj5HJ;;EACE;EACA;CtDq2NH;;ALl9FO;;A2Dl5HJ;;;;EAEE;EACA;CtD22NL;;ALx9FG;;A2Dz0HF;EAnFA;EACA;CtD03ND;;AL39FK;;A2D75HJ;;EACE;EACA;CtD83NH;;AL/9FO;;A2D95HJ;;;;EAEE;EACA;CtDo4NL;;ALr+FG;;A2Dr1HF;EAnFA;EACA;CtDm5ND;;ALx+FK;;A2Dz6HJ;;EACE;EACA;CtDu5NH;;AL5+FO;;A2D16HJ;;;;EAEE;EACA;CtD65NL;;ALl/FG;;A2Dj2HF;EAnFA;EACA;CtD46ND;;ALr/FK;;A2Dr7HJ;;EACE;EACA;CtDg7NH;;ALz/FO;;A2Dt7HJ;;;;EAEE;EACA;CtDs7NL;;AL//FC;;A2D72HA;EAnFA;EACA;CtDq8ND;;ALlgGG;;A2D19HF;;;EAGE;CtDi+NH;;ALvgGG;;A2Dr9HA;;;;;;EAEE;CtDq+NL;;AL/gGG;;A2Dv8HF;;EACE;EACA;CtD49NH;;ALnhGK;;A2Dx8HF;;;;EAEE;EACA;CtDk+NL;;ALzhGG;;A2D/3HF;;;;;;;;;EAuFU;CtD+0NX;;ALpiGG;;A2Dl4HF;EAnFA;EACA;CtD+/ND;;ALviGK;;A2Dt9HJ;;EACE;EACA;CtDmgOH;;AL3iGO;;A2Dv9HJ;;;;EAEE;EACA;CtDygOL;;ALjjGK;;A2D94HJ;;;;;;;;;EAoGc;CtDy2Nf;;AL5jGG;;A2Dj5HF;EAnFA;EACA;CtDsiOD;;AL/jGK;;A2Dr+HJ;;EACE;EACA;CtD0iOH;;ALnkGO;;A2Dt+HJ;;;;EAEE;EACA;CtDgjOL;;ALzkGK;;A2D75HJ;;;;;;;;;EAoGc;CtDg5Nf;;ALplGG;;A2Dh6HF;EAnFA;EACA;CtD6kOD;;ALvlGK;;A2Dp/HJ;;EACE;EACA;CtDilOH;;AL3lGO;;A2Dr/HJ;;;;EAEE;EACA;CtDulOL;;ALjmGK;;A2D56HJ;;;;;;;;;EAoGc;CtDu7Nf;;AL5mGG;;A2D/6HF;EAnFA;EACA;CtDonOD;;AL/mGK;;A2DngIJ;;EACE;EACA;CtDwnOH;;ALnnGO;;A2DpgIJ;;;;EAEE;EACA;CtD8nOL;;ALznGK;;A2D37HJ;;;;;;;;;EAoGc;CtD89Nf;;ALpoGG;;A2D97HF;EAnFA;EACA;CtD2pOD;;ALvoGK;;A2DlhIJ;;EACE;EACA;CtD+pOH;;AL3oGO;;A2DnhIJ;;;;EAEE;EACA;CtDqqOL;;ALjpGK;;A2D18HJ;;;;;;;;;EAoGc;CtDqgOf;;AL5pGC;;A2Dr/HA;ErBvLA;EACA;EACA;EAEA;EAEA;EAGE;EACA;EACA;EqB8KA;EACA;EAEA;EACA;EACA;CtD4pOH;;AL/pGC;;A2D59HA;;EAwHQ;CtD0gOT;;ALnqGC;;A2D/9HA;;EA8HY;CtD2gOb;;ALvqGC;;A2Dl+HA;;EA8HY;CtDkhOb;;AL3qGC;;A2Dr+HA;;EA8HY;CtDyhOb;;AL/qGC;;A2Dx+HA;;EA8HY;CtDgiOb;;ALnrGC;;A2D3+HA;;EA8HY;CtDuiOb;;ALvrGC;;A2D9+HA;EAuII;EACA;EACA;CtDoiOL;;ALzrGD;;A2Dv2HE;;EAGI;CtDoiOL;;AL5rGD;;A4D5jIE;EAjKA;EAGE;EAAA;EAAA;EACA;MAAA;EACA;MAAA;UAAA;CvD65OH;;AL/rGC;;AsC9lIA;;EAEE;EACA;EAGE;MAAA;EACA;MAAA;UAAA;CjCgyOL;;ALnsGC;;AsCzlIA;EACE;CjCiyOH;;ALtsGC;;A4DjuIA;EACE;EACA;EACA;EACA;EAGE;MAAA;UAAA;CvD06OL;;ALzsGG;;A4D9tIA;EACE;CvD46OL;;AL5sGC;;A4DrlIA;EAMM;CvDiyOP;;AL/sGC;;A4DxlIA;EAMM;CvDuyOP;;ALltGC;;A4D3lIA;EAMM;CvD6yOP;;ALrtGC;;A4DpsIA;EAEI;MAAA;UAAA;CvD65OL;;ALxtGC;;A4DjmIA;EDhDA;EACA;CtD+2OD;;AL3tGG;;A2DlpIF;;EACE;EACA;CtDm3OH;;AL/tGC;;A4DzmIA;EDhDA;EACA;CtD83OD;;ALluGG;;A2D1pIF;;EACE;EACA;CtDk4OH;;ALtuGC;;A4DjnIA;EDhDA;EACA;CtD64OD;;ALzuGG;;A2DlqIF;;EACE;EACA;CtDi5OH;;AL7uGC;;A4DznIA;EDhDA;EACA;CtD45OD;;ALhvGG;;A2D1qIF;;EACE;EACA;CtDg6OH;;ALpvGC;;A4DjoIA;EDhDA;EACA;CtD26OD;;ALvvGG;;A2DlrIF;;EACE;EACA;CtD+6OH;;AL3vGC;;A4DzoIA;;;EAlEE;MAAA;CvD88OH;;ALhwGG;;A4D3sIF;;;EAEI;MAAA;UAAA;CvDi9OL;;ALrwGK;;A4DtsIF;;;EACE;CvDk9OL;;AL1wGG;;A4DxvIF;;;EAEI;MAAA;UAAA;CvDwgPL;;ACn8OK;ENqrIF;;E4DjrIF;IAEI;QAAA;YAAA;IAKF;GvDg8OD;CACF;;AC58OK;EN0rIF;;E4DtrIF;IAEI;QAAA;YAAA;IAKF;GvDy8OD;CACF;;ACh9OK;EN0rIF;;E4DhqIF;IAsDM;GvDu4OL;;EL1xGG;;E4DnqIJ;IAyDQ;IACA;GvD04OP;CACF;;AC/9OK;ENksIF;;E4DxqIF;IAiEM;GvD24OL;;ELjyGG;;E4D3qIJ;IAoEQ;IACA;GvD84OP;CACF;;ALpyGD;;A6DtxIE;EAXA;EACA;EACA;CxD2kPD;;ALvyGC;;AACA;EsCjrIE;CjC69OH;;AL1yGC;;A6DryIA;;EAEE;CxDolPH;;AL9yGC;;A6DjyIA;EAvBA;EACA;EACA;EACA;CxD4mPD;;ALjzGC;;A6DvyIA;;EAvBA;EACA;EACA;EACA;CxDsnPD;;ALpzGD;;A8D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EACA;C7DigQH;;ALx8GC;;AkErjJA;;EAII;C7DggQL;;AL38GC;;AkEzjJA;;;;EAUI;EACA;EACA;C7DmgQL;;AL98GC;;AkEhjJA;;EAGI;C7DkgQL;;ALj9GC;;AkEvnJI;EACE;EACA;C7D6kQP;;ALp9GC;;AkE1iJI;EAEE;C7DkgQP;;ALv9GG;;AkE9mJF;EACE;EACA;EACA;C7D0kQH;;ACxgQK;ENgjJJ;;EkEh8IE;IACE;G7D85PH;;EL59GD;;EkE97IA;IACE;G7D+5PD;;EL/9GD;;EkE77IA;;;IAGE;G7Di6PD;;ELl+GD;;EkE57IA;IACE;G7Dm6PD;CACF;;ALr+GD;;AkEh7IE;EAvGA;EACA;EACA;C7DkgQD;;ALv+GD;;AkEphJI;EACE;C7DggQL;;ALz+GD;;AkEjhJI;EACE;C7D+/PL;;AL3+GD;;AkE9gJI;EACE;C7D8/PL;;AL7+GD;;AkE1gJM;EACE;C7D4/PP;;AL/+GD;;AkE97IE;EACE;C7Dk7PH;;ALj/GD;;AmEntJE;EAXA;EACA;EACA;EAEA;EAEA;EACA;EAOE;EACA;C9D6sQH;;ALp/GC;;AmE7tJA;EAQM;EACA;C9D+sQP;;ALv/GC;;AmEjuJA;EAQM;EACA;C9DstQP;;AL1/GC;;AmEruJA;EAQM;EACA;C9D6tQP;;AL7/GC;;AmEzuJA;EAQM;EACA;C9DouQP;;ALhgHC;;AmE7uJA;EAQM;EACA;C9D2uQP;;ALlgHD;;AoErrJE;EA7CA;EACA;C/D0uQD;;ALrgHC;;AsC9nJA;;EAEE;EACA;EAGE;MAAA;EACA;MAAA;UAAA;CjCsoQL;;ALzgHC;;AsCznJA;EACE;CjCuoQH;;AL5gHC;;AoE3uJA;EACE;EAEA;EACA;EACA;EAGE;C/DyvQL;;AL/gHG;;AoEluJI;EACE;EACA;EACA;EACA;EACA;C/DsvQT;;ALlhHC;;AoE1tJA;EACE;C/DivQH;;ALrhHG;;AoE1tJA;EACE;C/DovQL;;ALxhHC;;AoEttJA;EAII;EACA;C/DgvQL;;AL1hHD;;AqEjvJE;EA1CA;EACA;EACA;EAEA;EACA;EAiBA;EACA;ChE0yQD;;AL7hHC;;AqE5xJA;EACE;ChE8zQ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;EACA;EAEA;EACA;EACA;CrEouRD;;ALvrHC;;A0E3iKA;EACE;EACA;CrEuuRH;;AL1rHC;;A0E1iKA;;EAEE;CrEyuRH;;AL9rHC;;A0EviKE;EACE;EACA;EACA;EACA;EACA;CrE0uRL;;ALjsHC;;A0EtiKE;EACE;CrE4uRL;;ALnsHD;;A0ElgKE;EA3BA;EACA;EAEA;EACA;EACA;EAEA;CrEouRD;;ALtsHC;;A0E5hKA;EACE;CrEuuRH;;ALxsHD;;A2E5jKE;EApFA;EAAA;EAAA;EACA;EAGE;MAAA;CtE41RH;;AL3sHC;;A2E9oKA;EACE;CtE81RH;;ACjtRK;ENogKF;;E2E7oKA;IAEI;QAAA;GtE+1RL;CACF;;ALjtHD;;A2ErkKE;EAhEE;MAAA;UAAA;CtE41RH;;ALptHC;;A2EjoKA;EACE;CtE01RH;;ALvtHC;;A2EhoKA;EACE;CtE41RH;;AL1tHC;;A2E/nKA;EACE;CtE81RH;;ACjvRK;ENqhKF;;E2E/nKF;IAwBA;IACA;IAGE;QAAA;IACA;GtEw0RD;;ELhuHG;;E2EroKJ;IAoCE;GtEu0RD;CACF;;ALpuHC;;A2EjoKE;EACE;MAAA;UAAA;CtE02RL;;ALtuHD;;A4EljKE;EArGA;CvEm4RD;;ALxuHD;;A4EljKE;EApGA;EACA;EACA;EACA;EACA;CvEo4RD;;AL1uHD;;A4EtjKE;EA/FA;EACA;CvEq4RD;;AL7uHC;;A4ErpKE;EACE;EACA;CvEu4RL;;AL/uHD;;A4E3jKE;EAvFA;CvEu4RD;;ALjvHD;;A4E3jKE;EAtFA;EACA;EACA;CvEw4RD;;ALnvHD;;A4E7jKE;EAnFA;EACA;EACA;EACA;EACA;EAEA;EACA;CvEw4RD;;ALrvHD;;A4EnkKE;;EtCsDA;EACA;EACA;OAAA;UAAA;EsCjIA;EACA;EACA;CvE24RD;;ALzvHC;;AACA;;EsCrjKE;CjCozRH;;AL7vHC;;A4EnpKA;;;;;;EAGE;CvEw5RH;;ALpwHD;;A4E9kKE;EAhEA;CvEw5RD;;ALtwHD;;A4E7kKE;EAhEA;EACA;CvEy5RD;;ALxwHD;;A4E7kKE;EA9DA;EACA;EACA;EACA;CvEy5RD;;AL3wHC;;AACA;EsC3kKE;CjC21RH;;AL9wHC;;A4E/oKA;EACE;EACA;EACA;EAEA;EACA;CvEi6RH;;ALjxHG;;A4E9oKA;EACE;CvEo6RL;;ALpxHG;;A4E7oKA;EACE;CvEs6RL;;ALtxHD;;A6EzvKE;;EAnBA;EACA;EACA;EACA;EACA;CxEyiSD;;ALzxHC;;A6E9wKA;;;;;;;;EAIE;EACA;EACA;EACA;EACA;CxEgjSH;;AL5xHC;;A6E/wKA;;EAQM;CxE0iSP;;AL9xHD;;A8EjrKE;EAjFA;EACA;EACA;EACA;CzEsiSD;;ALjyHC;;AsC7pKA;;EAEE;EACA;EAGE;MAAA;EACA;MAAA;UAAA;CjCi8RL;;ALryHC;;AsCxpKA;EACE;CjCk8RH;;ALvyHD;;A8E1wKE;EACE;EACA;EACA;CzEsjSH;;ALzyHD;;A8E7rKE;EAEI;CzE0+RL;;AL5yHC;;A8EhsKA;EAKM;CzE6+RP;;AL9yHD;;A8EzrKE;EACE;CzE4+RH;;ALjzHC;;A8E5rKA;EAII;CzE++RL;;ALpzHG;;A8E/rKF;;EAQM;CzEk/RP;;ALvzHD;;A8EtrKE;EA3FA;CzE8kSD;;AL1zHC;;A8ElxKA;EAEE;EACA;EACA;EACA;EACA;CzEglSH;;AL7zHG;;AACA;EsCxqKA;CjC0+RH;;ALh0HG;;A8EpxKA;EACE;EACA;CzEylSL;;ALn0HG;;A8EnxKA;;EAEE;EACA;CzE2lSL;;ALt0HD;;A8ExsKE;EAlEA;EACA;EACA;EACA;EACA;EAAA;EAAA;CzEslSD;;ALx0HD;;A8E5sKE;EA3DA;EACA;CzEqlSD;;AL10HD;;A8E7sKE;EAvDA;EACA;CzEolSD;;AL70HC;;A8ErwKA;EACE;CzEulSH;;AL/0HD;;A+Ev1KE;EAzBA;EACA;EACA;EAEA;EACA;EACA;UAAA;EAEA;C1EmsSD;;ALj1HD;;A+E71KE;EAjBA;EAAA;EAAA;EAAA;EAAA;C1EqsSD;;ALp1HC;;A+E/2KA;;EAEE;UAAA;C1EwsSH;;ALx1HC;;A+E72KA;EACE;UAAA;C1E0sSH;;AL11HD;;AgFlkKE;EA/SA;EACA;EACA;EACA;EAGE;EAAA;EAAA;EACA;MAAA;C3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E;EACA;EACA;E6CHA;EACA;C9Eg0TH;;ALxjID;;AmFnvLE;E7C7CA;EACA;EACA;EAEA;EAEA;EAkBE;EACA;EACA;E6CiEI;EACA;EACA;C9E2wTP;;AL1jID;;AoFpwLM;EACE;EACA;EACA;C/Em0TP;;AL5jID;;AoFlwLM;EACE;EACA;EACA;C/Em0TP;;AL9jID;;AoFhwLM;EACE;EACA;C/Em0TP;;ALhkID;;AoFhwLM;E9C/DJ;EACA;EACA;EAEA;EAEA;EAGE;EACA;EACA;E8CsDI;EACA;EACA;C/E40TP;;ALlkID;;AACA;EsC9qLI;CjCqvTH;;ALpkID;;AoF1uLE;EAUI;C/E0yTL;;ALtkID;;AoF9uLE;EAeI;EACA;C/E2yTL;;ALxkID;;AoFhuLI;EACE;C/E6yTL;;AL1kID;;AoFvvLE;EJqFE;EACA;C3EkvTH;;AL5kID;;AoF1xLM;EACE;C/E22TP;;AL9kID;;AoFzxLQ;EACE;EACA;EACA;C/E42TT;;ALhlID;;AoFvxLQ;EACE;EACA;C/E42TT;;ALllID;;AoF11LE;EACE;C/Ei7TH;;ALplID;;AoF11LE;E9C5BA;EACA;EACA;EAEA;EAEA;EAkBE;EACA;EACA;E8CIA;EACA;C/E07TH;;ALtlID;;AoFj2LE;E9ClCA;EACA;EACA;EAEA;EAEA;EAaE;EACA;EACA;CjCi9TH;;AC12TK;ENmxLJ;;EoFr2LI;IACE;IACA;IACA;G/Ek8TL;;EL3lID;;EoFl2LI;IACE;IACA;IACA;G/Ek8TL;;EL9lID;;EoF/1LI;IACE;IACA;G/Ek8TL;;ELjmID;;EoF91LI;I9C/DJ;IACA;IACA;IAEA;IAEA;IAGE;IACA;IACA;I8CsDI;IACA;IACA;G/E28TL;;ELpmID;;EoFj2LI;IACE;G/E08TL;;ELvmID;;EoF/1LM;IACE;IACA;IACA;G/E28TP;;EL1mID;;EoF51LM;IACE;IACA;G/E28TP;;EL7mID;;EoF95LA;IACE;G/EghUD;;ELhnID;;EoF75LA;I9C5BA;IACA;IACA;IAEA;IAEA;IAkBE;IACA;IACA;I8CIA;IACA;G/EyhUD;;ELnnID;;EoFn6LA;I9ClCA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UD;;ELj2IC;;EqFt+LM;IACN;GhF40UD;;ELp2IC;;EqFp+LF;IACE;GhF60UD;;ELv2ID;;EqFx5LM;IAtGN;SAAA;YAAA;IACA;IACA;IAAA;IAAA;IACA;GhF22UC;;EL12IC;;EqF3/LF;IACE;GhF02UD;;EL72IC;;EqFz/LF;IACE;SAAA;YAAA;GhF22UD;;ELh3IC;;EqFx/LM;IACN;GhF62UD;;ELn3IC;;EqFt/LF;IACE;GhF82UD;CACF;;AClmVK;EN6uMJ;;EqFx7LM;IA1FN;SAAA;YAAA;IACA;IACA;IAAA;IAAA;IACA;GhF84UC;;ELz3IC;;EqF/gMF;IACE;GhF64UD;;EL53IC;;EqF7gMF;IACE;SAAA;YAAA;GhF84UD;;EL/3IC;;EqF5gMM;IACN;GhFg5UD;;ELl4IC;;EqF1gMF;IACE;GhFi5UD;;ELr4ID;;EqFt8LM;IA9FN;SAAA;YAAA;IACA;IACA;IAAA;IAAA;IACA;GhF+6UC;;ELx4IC;;EqFjiMF;IACE;GhF86UD;;EL34IC;;EqF/hMF;IACE;SAAA;YAAA;GhF+6UD;;EL94IC;;EqF9hMM;IACN;GhFi7UD;;ELj5IC;;EqF5hMF;IACE;GhFk7UD;;ELp5ID;;EqFp9LM;IAlGN;SAAA;YAAA;IACA;IACA;IAAA;IAAA;IACA;GhFg9UC;;ELv5IC;;EqFnjMF;IACE;GhF+8UD;;EL15IC;;EqFjjMF;IACE;SAAA;YAAA;GhFg9UD;;EL75IC;;EqFhjMM;IACN;GhFk9UD;;ELh6IC;;EqF9iMF;IACE;GhFm9UD;;ELn6ID;;EqFl+LM;IAtGN;SAAA;YAAA;IACA;IACA;IAAA;IAAA;IACA;GhFi/UC;;ELt6IC;;EqFrkMF;IACE;GhFg/UD;;ELz6IC;;EqFnkMF;IACE;SAAA;YAAA;GhFi/UD;;EL56IC;;EqFlkMM;IACN;GhFm/UD;;EL/6IC;;EqFhkMF;IACE;GhFo/UD;CACF;;ACxuVK;ENuzMJ;;EqF3+LM;IAnFN;IACA;IACA;IACA;IACA;IACA;IACA;IAAA;IAAA;GhFs/UC;;ELr7IC;;EqF9jMF;;;;IAIE;YAAA;IACA;SAAA;YAAA;GhFw/UD;;EL37IC;;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F;MAAA;UAAA;CtF6yWD;;AL1lJD;;A0FhsNI;ECnBF;MAAA;UAAA;CtFmzWD;;AL5lJD;;A0FpsNI;ECnBF;MAAA;UAAA;CtFyzWD;;AL9lJD;;A0FxsNI;ECnBF;MAAA;CtF+zWD;;ALhmJD;;A0FrsNI;EC1BF;MAAA;UAAA;CtFq0WD;;ALlmJD;;A0FzsNI;EC1BF;MAAA;UAAA;CtF20WD;;ALpmJD;;A0F7sNI;EC1BF;MAAA;UAAA;CtFi1WD;;ALtmJD;;A0FtsNI;ECpCF;MAAA;UAAA;CtFs1WD;;ALxmJD;;A0FtsNI;ECxBF;MAAA;CtF40WD;;AL1mJD;;A0F9sNI;ECpCF;MAAA;UAAA;CtFk2WD;;AL5mJD;;A0F9sNI;ECxBF;MAAA;CtFw1WD;;AL9mJD;;A0FttNI;ECpCF;MAAA;UAAA;CtF82WD;;ALhnJD;;A0FttNI;ECxBF;MAAA;CtFo2WD;;ALlnJD;;A0F9tNI;ECpCF;MAAA;UAAA;CtF03WD;;ALpnJD;;A0F9tNI;ECxBF;MAAA;CtFg3WD;;ALtnJD;;A0F5tNE;EC/CA;MAAA;UAAA;EACA;MAAA;UAAA;EDgDE;MAAA;CrFw1WH;;ALxnJD;;A0F1tNM;EChCJ;MAAA;UAAA;CtFw3WD;;AL1nJD;;A0F9tNM;EChCJ;MAAA;UAAA;CtF83WD;;AL5nJD;;A0FluNM;EChCJ;MAAA;UAAA;CtFo4WD;;AL9nJD;;A0FtuNM;EChCJ;MAAA;UAAA;CtF04WD;;ALhoJD;;A0F1uNM;EChCJ;MAAA;UAAA;CtFg5WD;;ALloJD;;A0F9uNM;EChCJ;MAAA;UAAA;CtFs5WD;;AC9zWK;EN2rNJ;;E0FnvNI;IChCJ;QAAA;YAAA;GtF65WC;;ELvoJD;;E0FtvNI;IChCJ;QAAA;YAAA;GtFm6WC;;EL1oJD;;E0FzvNI;IChCJ;QAAA;YAAA;GtFy6WC;;EL7oJD;;E0F5vNI;IChCJ;QAAA;YAAA;GtF+6WC;;ELhpJD;;E0F/vNI;IChCJ;QAAA;YAAA;GtFq7WC;;ELnpJD;;E0FlwNI;IChCJ;QAAA;YAAA;GtF27WC;CACF;;ACp2WK;EN+sNJ;;E0FvwNI;IChCJ;QAAA;YAAA;GtFm8WC;;ELzpJD;;E0F1wNI;IChCJ;QAAA;YAAA;GtFy8WC;;EL5pJD;;E0F7wNI;IChCJ;QAAA;YAAA;GtF+8WC;;EL/pJD;;E0FhxNI;IChCJ;QAAA;YAAA;GtFq9WC;;ELlqJD;;E0FnxNI;IChCJ;QAAA;YAAA;GtF29WC;;ELrqJD;;E0FtxNI;IChCJ;QAAA;YAAA;GtFi+WC;CACF;;ALxqJD;;A0Fv3NE;ECYA;EAAA;EAAA;CtFyhXD;;AL1qJD;;A0Fv3NE;EACE;MAAA;UAAA;CrFsiXH;;AL5qJD;;A0Fv3NE;EACE;MAAA;UAAA;CrFwiXH;;AL9qJD;;A0Fv3NE;EACE;MAAA;UAAA;CrF0iXH;;ALhrJD;;A0Ft3NI;ECsDF;EAAA;MAAA;UAAA;CtFs/WD;;ALlrJD;;A0F13NI;ECsDF;EAAA;MAAA;UAAA;CtF4/WD;;ALprJD;;A0F93NI;ECsDF;EAAA;MAAA;UAAA;CtFkgXD;;ALtrJD;;A0Fl4NI;ECsDF;EAAA;MAAA;UAAA;CtFwgXD;;AC17WK;ENmwNJ;;E0F73NQ;ICfR;IAAA;IAAA;GtF0kXC;;EL3rJD;;E0F53NQ;IACE;QAAA;YAAA;GrF4jXT;;EL9rJD;;E0F33NQ;IACE;QAAA;YAAA;GrF8jXT;;ELjsJD;;E0F13NQ;IACE;QAAA;YAAA;GrFgkXT;;ELpsJD;;E0Fx3NU;IC2BV;IAAA;QAAA;YAAA;GtFuiXC;;ELvsJD;;E0F33NU;IC2BV;IAAA;QAAA;YAAA;GtF6iXC;;EL1sJD;;E0F93NU;IC2BV;IAAA;QAAA;YAAA;GtFmjXC;;EL7sJD;;E0Fj4NU;IC2BV;IAAA;QAAA;YAAA;GtFyjXC;CACF;;AC5+WK;EN6xNJ;;E0Fv5NQ;ICfR;IAAA;IAAA;GtF4nXC;;ELntJD;;E0Ft5NQ;IACE;QAAA;YAAA;GrF8mXT;;ELttJD;;E0Fr5NQ;IACE;QAAA;YAAA;GrFgnXT;;ELztJD;;E0Fp5NQ;IACE;QAAA;YAAA;GrFknXT;;EL5tJD;;E0Fl5NU;IC2BV;IAAA;QAAA;YAAA;GtFylXC;;EL/tJD;;E0Fr5NU;IC2BV;IAAA;QAAA;YAAA;GtF+lXC;;ELluJD;;E0Fx5NU;IC2BV;IAAA;QAAA;YAAA;GtFqmXC;;ELruJD;;E0F35NU;IC2BV;IAAA;QAAA;YAAA;GtF2mXC;CACF;;ALxuJD;;A4F55NE;EACE;CvFyoXH;;AL1uJD;;A4F55NE;EACE;CvF2oXH;;ACriXK;EN0zNJ;;E4Fj5NE;IA1BA;GvF6pXD;CACF;;AuFjrXG;E5Fm8NF;;E4Fl5NE;IAhDE;GvFurXH;CACF;;AC1jXK;ENy0NJ;;E4Fp6NI;IAzBF;GvFqrXD;CACF;;AC7jXK;ENy0NJ;;E4Fr6NI;IAjEF;GvFiuXD;CACF;;ACrkXK;EN80NJ;;E4Fr6NE;IA1BA;GvF6rXD;CACF;;AuFjtXG;E5Fu9NF;;E4Ft6NE;IAhDE;GvFutXH;CACF;;AC1lXK;EN61NJ;;E4Fx7NI;IAzBF;GvFqtXD;CACF;;AC7lXK;EN61NJ;;E4Fz7NI;IAjEF;GvFiwXD;CACF;;ACrmXK;ENk2NJ;;E4Fz7NE;IA1BA;GvF6tXD;CACF;;AuFjvXG;E5F2+NF;;E4F17NE;IAhDE;GvFuvXH;CACF;;AL1wJD;;A4Fv7NE;;;;EtDmHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CjCulXD;;AL7wJD;;A4F97NE;;;;EtDyHA;EACA;EACA;EACA;EACA;EACA;CjC2lXD;;ALlxJD;;A4F/7NE;;EAEE;CvFstXH;;AC1pXK;ENs4NF;;E4Fp8NF;;IAKI;GvF2tXH;CACF;;ACnqXK;EN24NF;;E4Fz8NF;;IASI;GvFguXH;CACF;;AL5xJD;;A4Fj8NE;;EAEE;CvFkuXH;;ACnrXK;ENq5NF;;E4Ft8NF;;IAKI;GvFuuXH;CACF;;AC5rXK;EN05NF;;E4F38NF;;IASI;GvF4uXH;CACF;;AFnzXD;;AAgyBA;;AC71BA;;;;;GC23XG;;ACrtXG;EN66NJ;;EOtiOA;;;;IACE;IACA;IACA;GFu1XD;CACF;;AGv4XD;;;;;;GH+4XG;;ALhzJH;;AS9lOA;EACE;EACA;EACA;EAEA;EAAA;EAAA;EAAA;EAAA;EACA;OAAA;UAAA;EACA;OAAA;UAAA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;CJg5XD;;ALnzJC;;AS7mOF;EAuBM;CJ+4XL;;ALtzJC;;AShnOF;EAiCQ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;;ALxvKD;;AmC75PE;;EAII;EACA;C9BwpaL;;AL1vKD;;AmCn6PE;;EAQI;C9B4paL;;AL5vKD;;AmCx6PE;;EAII;EACA;C9BuqaL;;AL9vKD;;AmC96PE;;EAQI;C9B2qaL;;ALhwKD;;AmCn7PE;;EAII;EACA;C9BsraL;;ALlwKD;;AmCz7PE;;EAQI;C9B0raL;;ALpwKD;;AmCh7PE;;EAGI;EACA;C9BwraL;;ALtwKD;;AmCt7PE;;EAOI;C9B4raL;;ALxwKD;;AmC37PE;;EAGI;EACA;C9BusaL;;AL1wKD;;AmCj8PE;;EAOI;C9B2saL;;AL5wKD;;AmCt8PE;;EAGI;EACA;C9BstaL;;AL9wKD;;AmC58PE;;EAOI;C9B0taL;;ALhxKD;;AmCj9PE;;EAGI;EACA;C9BquaL;;ALlxKD;;AmCv9PE;;EAOI;C9ByuaL;;ALpxKD;;AmC59PE;;EAGI;EACA;C9BovaL;;ALtxKD;;AmCl+PE;;EAOI;C9BwvaL;;ALxxKD;;AmC11PA;EACE;C9BunaD;;AL3xKC;;AmC71PF;EAII;EACA;EACA;EACA;EACA;C9B0naH;;AL9xKG;;AmCp2PJ;EAWM;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAAA;EAAA;C9B6naL;;ALjyKG;;AmCj3PJ;EAyBM;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;OAAA;UAAA;EACA;EAAA;EAAA;EAAA;EAAA;C9B+naL;;ALpyKC;;AmC/3PF;EAyCI;EACA;EACA;EACA;EACA;EACA;C9BgoaH;;ALvyKG;;AmCv4PJ;EAiDM;C9BmoaL;;AL1yKG;;AmC14PJ;EAqDM;OAAA;UAAA;C9BqoaL;;AL7yKG;;AmC74PJ;EAyDM;C9BuoaL;;ALhzKK;;AmCh5PN;EA4DQ;C9B0oaP;;ALnzKC;;AmCn5PF;EAmEI;EACA;C9ByoaH;;ALrzKD;;AmCz6PE;EAGM;C9BiuaP;;ALvzKD;;AmC76PE;EAQM;C9BkuaP;;ALzzKD;;AmCj7PE;EAWM;C9BquaP;;AL3zKD;;AmCr7PE;EAGM;C9BmvaP;;AL7zKD;;AmCz7PE;EAQM;C9BovaP;;AL/zKD;;AmC77PE;EAWM;C9BuvaP;;ALj0KD;;AmCj8PE;EAGM;C9BqwaP;;ALn0KD;;AmCr8PE;EAQM;C9BswaP;;ALr0KD;;AmCz8PE;EAWM;C9BywaP;;ALv0KD;;AmC78PE;EAGM;C9BuxaP;;ALz0KD;;AmCj9PE;EAQM;C9BwxaP;;AL30KD;;AmCr9PE;EAWM;C9B2xaP;;AL70KD;;AmCz9PE;EAGM;C9ByyaP;;AL/0KD;;AmC79PE;EAQM;C9B0yaP;;ALj1KD;;AmCj+PE;EAWM;C9B6yaP;;ALn1KD;;AmCr4PA;;EAGI;EACA;C9B4taH;;ALr1KD;;AmC34PA;;EAQM;C9B+taL;;ALv1KD;;AmCh5PA;;EAWM;C9BmuaL;;A+B79aC;;ApCqoQF;;AoC7nQE;EACE;EACA;C/B49aH;;AL51KD;;AoCxnQE;EACE;C/By9aH;;AL91KD;;AoCrnQE;EACE;EACA;C/Bw9aH;;ALh2KD;;AoC/mQE;EACE;UAAA;EACA;EACA;C/Bo9aH;;ALl2KD;;AoC5mQE;EACE;EACA;C/Bm9aH;;ALp2KD;;AoCvmQE;EACE;C/Bg9aH;;ALt2KD;;AoCpmQE;EACE;EACA;EACA;UAAA;C/B+8aH;;ALx2KD;;AoClmQE;;EAEE;C/B+8aH;;AL12KD;;AoC/lQE;;;EAGE;EACA;C/B88aH;;AL52KD;;AoC7lQE;EACE;C/B88aH;;AL92KD;;AoC1lQE;;EAEE;EACA;EACA;EACA;C/B68aH;;ALh3KD;;AoC1lQE;EACE;C/B+8aH;;ALl3KD;;AoC1lQE;EACE;C/Bi9aH;;ALp3KD;;AoCrlQE;EACE;C/B88aH;;ALt3KD;;AoC/kQE;;;;;EAKE;EACA;EACA;EACA;C/B08aH;;ALx3KD;;AoC5kQE;;EAEE;C/By8aH;;AL13KD;;AoCzkQE;;EAEE;C/Bw8aH;;AL53KD;;AoCvkQE;;;;EAIE;C/Bw8aH;;AL93KD;;AoCrkQE;;;;EAIE;EACA;C/Bw8aH;;ALh4KD;;AoCnkQE;;;;EAIE;C/Bw8aH;;ALl4KD;;AoCjkQE;EACE;C/Bw8aH;;ALp4KD;;AoC5jQE;EACE;UAAA;EACA;EACA;EACA;EACA;EACA;C/Bq8aH;;ALt4KD;;AoC1jQE;EACE;C/Bq8aH;;ALx4KD;;AoCxjQE;EACE;C/Bq8aH;;AL14KD;;AACA;;EoCpjQI;UAAA;EACA;C/Bo8aH;;AL54KD;;AACA;;EoCljQI;C/Bo8aH;;AL94KD;;AACA;EoChjQI;EACA;C/Bm8aH;;ALh5KD;;AACA;EoC9iQI;C/Bm8aH;;ALl5KD;;AoC3iQE;EACE;EACA;C/Bk8aH;;ALp5KD;;AoCtiQE;EACE;C/B+7aH;;ALt5KD;;AoCpiQE;EACE;C/B+7aH;;ALx5KD;;AoC/hQE;EACE;C/B47aH;;AL15KD;;AACA;EoC7hQI;C/B47aH;;AL55KD;;AqC3qQE;EACE;ChC4kbH;;AL95KD;;AoCjzQE;ECuIE;UAAA;EACA;ChC8kbH;;ALh6KD;;AqC1qQE;;;EAGE;UAAA;ChC+kbH;;ALl6KD;;AoClzQE;EC0IE;EACA;EAEA;EAEA;EACA;EACA;EACA;EAGE;EACA;ChC4kbL;;ALp6KD;;AoC7tQE;EC2DE;EACA;EAGA;EACA;EACA;ChC0kbH;;ALt6KD;;AoCxoQE;ECvBE;EACA;EACA;ChC2kbH;;ALx6KD;;AqC/pQE;EACE;UAAA;EACA;EACA;ChC4kbH;;AL16KD;;AqC7pQE;;;;;;EAKI;ChC6kbL;;AL56KD;;AqC5pQE;EAEE;EACA;KAAA;UAAA;EACA;EACA;EACA;EACA;EACA;ChC4kbH;;AL/6KC;;AACA;EsC9qQE;CjCkmbH;;ALj7KD;;AoC70QE;ECiLE;ChCmlbH;;ALn7KD;;AoCjwQE;;;;;EC0GE;ChColbH;;ALr7KD;;AqC3pQE;EACE;ChCqlbH;;ALv7KD;;AqC3pQE;EACE;ChCulbH;;ALz7KD;;AACA;;;;;;;;;;;;;;;EuCzzQE;EACA;UAAA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;UAAA;EAEA;EACA;EACA;EACA;EACA;EAGE;EAAA;EAAA;EAAA;EAAA;EAqBA;KAAA;UAAA;ClC6ubH;;ALz8KC;;AACA;;;;;;;;;;;;;;;EuCrzQE;EACA;EACA;EACA;UAAA;EAGE;EAAA;EAAA;EAAA;EAAA;ClC+wbL;;ALx9KD;;AoC3tQE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A;C1C6/bX;;AL9mLD;;A+C96QQ;;EAII;EAYA;EAQA;EAOA;C1CugcX;;AC3scK;EN2lRJ;;E+Ct7QM;;IAII;G1C0icT;;ELrnLD;;E+Cz7QM;;IAII;G1CijcT;;ELznLD;;E+C57QM;;IAII;G1CwjcT;;EL7nLD;;E+C/7QM;;IAII;G1C+jcT;;ELjoLD;;E+Cl8QM;;IAII;G1CskcT;;ELroLD;;E+Cr8QM;;IAII;G1C6kcT;CACF;;ALzoLD;;AoC5tRE;EW2TE;EACA;EACA;EAEA;C1C+icH;;AL5oLC;;A+Cx6QA;;EASI;C1CkjcL;;ALhpLC;;A+C36QA;EAgBI;C1CijcL;;ALlpLD;;AoC5vRE;EWmWE;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;C1C+icH;;ALppLD;;A+Cv5QE;;;EAGE;EACA;EACA;C1CgjcH;;ALtpLD;;A+Ct5QE;EACE;C1CijcH;;ALxpLD;;A+Cr5QE;EACE;EACA;C1CkjcH;;AL1pLD;;A+Cp5QE;EACE;C1CmjcH;;AL5pLD;;A+Cn5QE;;;;EAEI;EACA;C1CsjcL;;ALjqLD;;A+Ch5QE;EACE;C1CsjcH;;ALpqLC;;A+Cn5QA;EAII;EACA;C1CyjcL;;ALtqLD;;A+C94QE;EACE;EACA;EACA;C1CyjcH;;ALzqLC;;A+Cn5QA;;EAMI;EACA;C1C6jcL;;AL5qLD;;A+C54QE;EACE;EACA;EACA;C1C6jcH;;AL/qLC;;A+Cj5QA;EAMI;C1CgkcL;;ALjrLD;;A+C14QE;;EACE;EACA;EACA;C1CikcH;;ALprLD;;A+Cz4QE;EACE;C1CkkcH;;ALtrLD;;A+Cx4QE;EACE;EAEA;EACA;EAEA;EACA;EACA;C1CikcH;;ALxrLD;;A+Cr4QE;EACE;EACA;EAEA;EAEA;EACA;C1CgkcH;;AL1rLD;;AgD70RE;EACE;EACA;EAEA;EACA;EACA;C3C2gdH;;AL5rLD;;AgD30RE;EACE;EACA;C3C4gdH;;AL9rLD;;AgD10RE;EACE;EACA;C3C6gdH;;ALjsLC;;AgD10RE;EACE;C3CghdL;;ALnsLD;;AgDz0RE;;;;EAGI;EACA;C3CkhdL;;ALxsLD;;AiDx4RU;EACE;C5CqldX;;AL1sLD;;AiD54RU;EACE;C5C2ldX;;AL5sLD;;AiDh5RU;EACE;C5CimdX;;AL9sLD;;AiDp5RU;EACE;C5CumdX;;ACh9cK;ENiwRJ;;EiD95RQ;IACE;G5CmndT;;ELntLD;;EiDj6RQ;IACE;G5CyndT;;ELttLD;;EiDp6RQ;IACE;G5C+ndT;;ELztLD;;EiDv6RQ;IACE;G5CqodT;CACF;;AC1+cK;EN+wRJ;;EiD56RQ;IACE;G5C6odT;;EL/tLD;;EiD/6RQ;IACE;G5CmpdT;;ELluLD;;EiDl7RQ;IACE;G5CypdT;;ELruLD;;EiDr7RQ;IACE;G5C+pdT;CACF;;ALxuLD;;AkDj7RE;EAAkB;C7C+pdnB;;A6C7pdC;ElDo7RA;;EkDn7RE;IAEI;IAGF;YAAA;IAEA;IACA;G7C8pdH;;EL7uLD;;EkD57RA;IAcoB;G7CiqdnB;;ELhvLD;;EkDh7RE;IAAkB;G7CsqdnB;;ELnvLD;;EkDj7RE;IAAuB;G7C0qdxB;;ELtvLD;;EkDn7RE;IAAuB;G7C+qdxB;;ELzvLD;;EkDr7RE;IAAuB;G7CordxB;;EL5vLD;;EkDv7RE;IAAoB;G7CyrdrB;;EL/vLD;;EkDz7RE;IAAoB;G7C8rdrB;;ELlwLD;;EkD37RE;IAAoB;G7CmsdrB;;ELrwLD;;EkD37RE;;IACY;G7Cssdb;;ELxwLD;;EkD57RI;IAAgB;G7C0sdnB;;EL3wLD;;EkD37RE;;;IAEqB;G7C4sdtB;;EL9wLD;;EkD37RE;IAAoB;G7C+sdrB;;ELjxLD;;EkD37RE;;IAEE;IACA;G7CitdH;;ELpxLD;;EkDz7RE;IAAQ;G7CmtdT;;ELvxLD;;EkD17RE;;IACM;G7CutdP;;EL1xLD;;EoC54RA;Ic/CQ;G7C2tdP;;A6CztdC;IAAQ;C7C6tdX;;EL/xLC;;EkD57RE;;;IAGE;IACA;G7CgudH;;ELlyLD;;EkD17RE;;IACK;G7CkudN;;ELryLD;;EkD17RE;IACE;G7CoudH;CACF;;ALxyLD;;AmDvgSE;ECoBM;EAAA;ECdN;EACA;EACA;ChDizdD;;AC/pdK;ENq3RF;;EmD/gSF;ICoBM;IAAA;G/C6ydL;CACF;;AL/yLC;;AmDnhSA;ECoBM;EAAA;ECdN;EACA;EACA;ChDo0dD;;AClrdK;ENi4RA;;EmD3hSJ;ICoBM;IAAA;G/Cg0dL;CACF;;ALtzLC;;AmD/hSA;EC6BI;EAAA;ECvBJ;EACA;EACA;ChDu1dD;;ALxzLD;;AmD1hSE;EESA;EAAA;EAAA;EACA;EAAA;MAAA;UAAA;ChD+0dD;;AL1zLD;;AmD3hSE;EGqBE;MAAA;UAAA;EACA;EACA;EAsCA;CjDiydH;;AL7zLC;;AmDjiSA;EG0BE;MAAA;UAAA;CjD00dH;;ALh0LC;;AmDpiSA;EG6BE;MAAA;UAAA;CjD60dH;;ALl0LD;;AmD3hSE;EGwCE;CjD2zdH;;ALp0LD;;AmD/hSE;EG4CE;CjD6zdH;;ALt0LD;;AmDnhSI;;;;;;;;;;;;;;EAMI;MAAA;C9Cs2dP;;AChwdK;EN46RJ;;EmDxhSE;;;;;;;;;;;;;;IAMI;QAAA;G9C03dL;CACF;;ACrxdK;ENi7RJ;;EmD7hSE;;;;;;;;;;;;;;IAMI;QAAA;G9C+4dL;CACF;;ALr3LD;;AmD7gSI;;;;;;;;;;;;EGpBA;MAAA;UAAA;CjDu6dH;;ALl4LD;;AmDlgSM;EGHF;CjD64dH;;ALp4LD;;AmDtgSM;EGHF;CjDm5dH;;ALt4LD;;AmD1gSM;EGHF;CjDy5dH;;ALx4LD;;AmD9gSM;EGHF;CjD+5dH;;AL14LD;;AmDlhSM;EGHF;CjDq6dH;;AL54LD;;AmDthSM;EGHF;CjD26dH;;AL94LD;;AmD1hSM;EGHF;CjDi7dH;;ALh5LD;;AmD9hSM;EGHF;CjDu7dH;;ALl5LD;;AmDliSM;EGHF;CjD67dH;;ALp5LD;;AmDtiSM;EGHF;CjDm8dH;;ALt5LD;;AmD1iSM;EGHF;CjDy8dH;;ALx5LD;;AmD9iSM;EGHF;CjD+8dH;;ACn4dK;EN0+RJ;;EmDxkSI;IGjBF;QAAA;YAAA;IA2BA;GjD+9dD;;EL75LD;;EmDtkSE;;;;;;;;;;;;;IGpBA;QAAA;YAAA;GjDygeD;;EL56LD;;EmDnkSI;IGEF;GjDm/dD;;EL/6LD;;EmD7jSI;IGHF;GjDq/dD;;ELl7LD;;EmDhkSI;IGHF;GjD2/dD;;ELr7LD;;EmDnkSI;IGHF;GjDigeD;;ELx7LD;;EmDtkSI;IGHF;GjDugeD;;EL37LD;;EmDzkSI;IGHF;GjD6geD;;EL97LD;;EmD5kSI;IGHF;GjDmheD;;ELj8LD;;EmD/kSI;IGHF;GjDyheD;;ELp8LD;;EmDllSI;IGHF;GjD+heD;;ELv8LD;;EmDrlSI;IGHF;GjDqieD;;EL18LD;;EmDxlSI;IGHF;GjD2ieD;;EL78LD;;EmD3lSI;IGHF;GjDijeD;;ELh9LD;;EmD9lSI;IGHF;GjDujeD;CACF;;AC5+dK;EN0hSJ;;EmDxnSI;IGjBF;QAAA;YAAA;IA2BA;GjDwkeD;;ELt9LD;;EmDtnSE;;;;;;;;;;;;;IGpBA;QAAA;YAAA;GjDkneD;;ELr+LD;;EmDnnSI;IGEF;GjD4leD;;ELx+LD;;EmD7mSI;IGHF;GjD8leD;;EL3+LD;;EmDhnSI;IGHF;GjDomeD;;EL9+LD;;EmDnnSI;IGHF;GjD0meD;;ELj/LD;;EmDtnSI;IGHF;GjDgneD;;ELp/LD;;EmDznSI;IGHF;GjDsneD;;ELv/LD;;EmD5nSI;IGHF;GjD4neD;;EL1/LD;;EmD/nSI;IGHF;GjDkoeD;;EL7/LD;;EmDloSI;IGHF;GjDwoeD;;ELhgMD;;EmDroSI;IGHF;GjD8oeD;;ELngMD;;EmDxoSI;IGHF;GjDopeD;;ELtgMD;;EmD3oSI;IGHF;GjD0peD;;ELzgMD;;EmD9oSI;IGHF;GjDgqeD;CACF;;AL5gMD;;AmD1oSE;EACE;C9C2peH;;AL9gMD;;AmDzoSE;EACE;C9C4peH;;ALhhMD;;AmD9mSE;ECzGM;EAAA;C/C8ueP;;ACxmeK;ENslSF;;EmDnnSF;ICzGM;IAAA;G/CsveL;CACF;;ALvhMC;;AmDvnSA;EG1DE;EFtCE;EAAA;C/CsveL;;ACzneK;ENgmSF;;EmD7nSF;IG1DE;IFtCE;IAAA;G/C+veH;CACF;;AL9hMC;;AmD1pSA;EG/BE;CjD6teH;;ALjiMC;;AmDzpSA;EG/BE;CjD+teH;;ALpiMC;;AmDppSE;EGnCA;CjDiueH;;ALviMC;;AmDvpSE;EGnCA;CjDuueH;;AL1iMC;;AmD1pSE;EGnCA;CjD6ueH;;AL7iMC;;AmD7pSE;EGnCA;CjDmveH;;ALhjMC;;AmDhqSE;EGnCA;CjDyveH;;ALnjMC;;AmDnqSE;EGnCA;CjD+veH;;ALtjMC;;AmDtqSE;EGnCA;CjDqweH;;ALzjMC;;AmDzqSE;EGnCA;CjD2weH;;AL5jMC;;AmD5qSE;EGnCA;CjDixeH;;AL/jMC;;AmD/qSE;EGnCA;CjDuxeH;;ALlkMC;;AmDlrSE;EGnCA;CjD6xeH;;ALrkMC;;AmDrrSE;EGnCA;CjDmyeH;;ACvteK;ENgpSF;;EmDrsSF;IG/BE;GjDkzeD;;EL3kMC;;EmDpsSF;IG/BE;GjDozeD;;EL9kMC;;EmD/rSA;IGnCA;GjDszeD;;ELjlMC;;EmDlsSA;IGnCA;GjD4zeD;;ELplMC;;EmDrsSA;IGnCA;GjDk0eD;;ELvlMC;;EmDxsSA;IGnCA;GjDw0eD;;EL1lMC;;EmD3sSA;IGnCA;GjD80eD;;EL7lMC;;EmD9sSA;IGnCA;GjDo1eD;;ELhmMC;;EmDjtSA;IGnCA;GjD01eD;;ELnmMC;;EmDptSA;IGnCA;GjDg2eD;;ELtmMC;;EmDvtSA;IGnCA;GjDs2eD;;ELzmMC;;EmD1tSA;IGnCA;GjD42eD;;EL5mMC;;EmD7tSA;IGnCA;GjDk3eD;;EL/mMC;;EmDhuSA;IGnCA;GjDw3eD;;ELlnMC;;EmD/uSF;IG/BE;GjDs4eD;;ELrnMC;;EmD9uSF;IG/BE;GjDw4eD;;ELxnMC;;EmDzuSA;IGnCA;GjD04eD;;EL3nMC;;EmD5uSA;IGnCA;GjDg5eD;;EL9nMC;;EmD/uSA;IGnCA;GjDs5eD;;ELjoMC;;EmDlvSA;IGnCA;GjD45eD;;ELpoMC;;EmDrvSA;IGnCA;GjDk6eD;;ELvoMC;;EmDxvSA;IGnCA;GjDw6eD;;EL1oMC;;EmD3vSA;IGnCA;GjD86eD;;EL7oMC;;EmD9vSA;IGnCA;GjDo7eD;;ELhpMC;;EmDjwSA;IGnCA;GjD07eD;;ELnpMC;;EmDpwSA;IGnCA;GjDg8eD;;ELtpMC;;EmDvwSA;IGnCA;GjDs8eD;;ELzpMC;;EmD1wSA;IGnCA;GjD48eD;CACF;;ACj4eK;ENquSF;;EmD1xSF;IG/BE;GjD49eD;;ELhqMC;;EmDzxSF;IG/BE;GjD89eD;;ELnqMC;;EmDpxSA;IGnCA;GjDg+eD;;ELtqMC;;EmDvxSA;IGnCA;GjDs+eD;;ELzqMC;;EmD1xSA;IGnCA;GjD4+eD;;EL5qMC;;EmD7xSA;IGnCA;GjDk/eD;;EL/qMC;;EmDhySA;IGnCA;GjDw/eD;;ELlrMC;;EmDnySA;IGnCA;GjD8/eD;;ELrrMC;;EmDtySA;IGnCA;GjDogfD;;ELxrMC;;EmDzySA;IGnCA;GjD0gfD;;EL3rMC;;EmD5ySA;IGnCA;GjDghfD;;EL9rMC;;EmD/ySA;IGnCA;GjDshfD;;ELjsMC;;EmDlzSA;IGnCA;GjD4hfD;;ELpsMC;;EmDrzSA;IGnCA;GjDkifD;CACF;;ALvsMD;;AmDzwSE;EC7IM;EAAA;C/ComfP;;AC99eK;ENqxSF;;EmD9wSF;IC7IM;IAAA;G/C4mfL;CACF;;AL7sMD;;AmD1wSI;ECtJI;EAAA;C/ConfP;;AC9+eK;EN+xSF;;EmD/wSA;ICtJI;IAAA;G/C4nfL;CACF;;ALntMD;;AmD7xSE;EC7IM;EAAA;C/CoofP;;AC9/eK;ENyySF;;EmDlySF;IC7IM;IAAA;G/C4ofL;CACF;;ALztMD;;AuDt7SE;ED4DE;CjDylfH;;AL3tMD;;AuD17SE;ED4DE;CjD+lfH;;AL7tMD;;AuD97SE;ED4DE;CjDqmfH;;AL/tMD;;AuDl8SE;ED4DE;CjD2mfH;;ALjuMD;;AuDt8SE;ED4DE;CjDinfH;;ALnuMD;;AuD18SE;ED4DE;CjDunfH;;ALruMD;;AuD98SE;ED4DE;CjD6nfH;;ALvuMD;;AuDl9SE;ED4DE;CjDmofH;;ACvjfK;EN+0SJ;;EuDv9SA;ID4DE;GjD0ofD;;EL5uMD;;EuD19SA;ID4DE;GjDgpfD;;EL/uMD;;EuD79SA;ID4DE;GjDspfD;;ELlvMD;;EuDh+SA;ID4DE;GjD4pfD;;ELrvMD;;EuDn+SA;ID4DE;GjDkqfD;;ELxvMD;;EuDt+SA;ID4DE;GjDwqfD;;EL3vMD;;EuDz+SA;ID4DE;GjD8qfD;;EL9vMD;;EuD5+SA;ID4DE;GjDorfD;CACF;;ACzmfK;ENy2SJ;;EuDj/SA;ID4DE;GjD4rfD;;ELpwMD;;EuDp/SA;ID4DE;GjDksfD;;ELvwMD;;EuDv/SA;ID4DE;GjDwsfD;;EL1wMD;;EuD1/SA;ID4DE;GjD8sfD;;EL7wMD;;EuD7/SA;ID4DE;GjDotfD;;ELhxMD;;EuDhgTA;ID4DE;GjD0tfD;;ELnxMD;;EuDngTA;ID4DE;GjDgufD;;ELtxMD;;EuDtgTA;ID4DE;GjDsufD;CACF;;ALzxMD;;AuD1gTE;ED4DE;CjD6ufH;;AL3xMD;;AuD9gTE;ED4DE;CjDmvfH;;AL7xMD;;AuDlhTE;ED4DE;CjDyvfH;;AL/xMD;;AuDthTE;ED4DE;CjD+vfH;;ALjyMD;;AuD1hTE;ED4DE;CjDqwfH;;ALnyMD;;AuD9hTE;ED4DE;CjD2wfH;;ALryMD;;AuDliTE;ED4DE;CjDixfH;;ALvyMD;;AuDtiTE;ED4DE;CjDuxfH;;AC3sfK;ENm6SJ;;EuD3iTA;ID4DE;GjD8xfD;;EL5yMD;;EuD9iTA;ID4DE;GjDoyfD;;EL/yMD;;EuDjjTA;ID4DE;GjD0yfD;;ELlzMD;;EuDpjTA;ID4DE;GjDgzfD;;ELrzMD;;EuDvjTA;ID4DE;GjDszfD;;ELxzMD;;EuD1jTA;ID4DE;GjD4zfD;;EL3zMD;;EuD7jTA;ID4DE;GjDk0fD;;EL9zMD;;EuDhkTA;ID4DE;GjDw0fD;;ELj0MD;;EuDnkTA;ID4DE;GjD80fD;;ELp0MD;;EuDtkTA;ID4DE;GjDo1fD;;ELv0MD;;EuDzkTA;ID4DE;GjD01fD;;EL10MD;;EuD5kTA;ID4DE;GjDg2fD;;EL70MD;;EuD/kTA;ID4DE;GjDs2fD;;ELh1MD;;EuDllTA;ID4DE;GjD42fD;;ELn1MD;;EuDrlTA;ID4DE;GjDk3fD;;ELt1MD;;EuDxlTA;ID4DE;GjDw3fD;CACF;;AC7yfK;ENq9SJ;;EuD7lTA;ID4DE;GjDg4fD;;EL51MD;;EuDhmTA;ID4DE;GjDs4fD;;EL/1MD;;EuDnmTA;ID4DE;GjD44fD;;ELl2MD;;EuDtmTA;ID4DE;GjDk5fD;;ELr2MD;;EuDzmTA;ID4DE;GjDw5fD;;ELx2MD;;EuD5mTA;ID4DE;GjD85fD;;EL32MD;;EuD/mTA;ID4DE;GjDo6fD;;EL92MD;;EuDlnTA;ID4DE;GjD06fD;CACF;;ALj3MD;;AmD36SM;EKhNE;EAAA;CnDm/fP;;ALp3MC;;AwD5nTI;EAEI;EAAA;CnDq/fT;;ALv3MC;;AwDxmTU;EFsCR;CjD+7fH;;AL13MC;;AwD3mTU;EFsCR;CjDq8fH;;AL73MC;;AwD9mTU;EFsCR;CjD28fH;;ALh4MC;;AwDjnTU;EFsCR;CjDi9fH;;ALn4MC;;AwDpnTU;EFsCR;CjDu9fH;;ALt4MC;;AwDvnTU;EFsCR;CjD69fH;;ALz4MC;;AwD1nTU;EFsCR;CjDm+fH;;AL54MC;;AwD7nTU;EFsCR;CjDy+fH;;AL/4MC;;AwDhoTU;EFsCR;CjD++fH;;ALl5MC;;AwDnoTU;EFsCR;CjDq/fH;;ALr5MC;;AwDtoTU;EFsCR;CjD2/fH;;ALx5MC;;AwDzoTU;EFsCR;CjDiggBH;;ACr7fK;EN2hTF;;EwD7oTQ;IFsCR;GjDwggBD;;EL95MC;;EwDhpTQ;IFsCR;GjD8ggBD;;ELj6MC;;EwDnpTQ;IFsCR;GjDohgBD;;ELp6MC;;EwDtpTQ;IFsCR;GjD0hgBD;;ELv6MC;;EwDzpTQ;IFsCR;GjDgigBD;;EL16MC;;EwD5pTQ;IFsCR;GjDsigBD;;EL76MC;;EwD/pTQ;IFsCR;GjD4igBD;;ELh7MC;;EwDlqTQ;IFsCR;GjDkjgBD;;ELn7MC;;EwDrqTQ;IFsCR;GjDwjgBD;;ELt7MC;;EwDxqTQ;IFsCR;GjD8jgBD;;ELz7MC;;EwD3qTQ;IFsCR;GjDokgBD;;EL57MC;;EwD9qTQ;IFsCR;GjD0kgBD;CACF;;AC//fK;ENgkTF;;EwDlrTQ;IFsCR;GjDklgBD;;ELn8MC;;EwDrrTQ;IFsCR;GjDwlgBD;;ELt8MC;;EwDxrTQ;IFsCR;GjD8lgBD;;ELz8MC;;EwD3rTQ;IFsCR;GjDomgBD;;EL58MC;;EwD9rTQ;IFsCR;GjD0mgBD;;EL/8MC;;EwDjsTQ;IFsCR;GjDgngBD;;ELl9MC;;EwDpsTQ;IFsCR;GjDsngBD;;ELr9MC;;EwDvsTQ;IFsCR;GjD4ngBD;;ELx9MC;;EwD1sTQ;IFsCR;GjDkogBD;;EL39MC;;EwD7sTQ;IFsCR;GjDwogBD;;EL99MC;;EwDhtTQ;IFsCR;GjD8ogBD;;ELj+MC;;EwDntTQ;IFsCR;GjDopgBD;CACF;;ALp+MD;;AmD5hTM;EK/KE;EAAA;CnDsrgBP;;ALv+MC;;AwD5sTI;EAEI;EAAA;CnDwrgBT;;ACvlgBK;EN+mTJ;;EmD5iTI;IKhNE;IAAA;GnD4ugBL;;EL5+MC;;EwD7vTE;IAEI;IAAA;GnD8ugBP;CACF;;ACvmgBK;ENynTJ;;EwDpvTU;IF+CR;GjD0rgBD;;ELl/MD;;EwDvvTU;IF+CR;GjDgsgBD;;ELr/MD;;EwD1vTU;IF+CR;GjDssgBD;;ELx/MD;;EwD7vTU;IF+CR;GjD4sgBD;;EL3/MD;;EwDhwTU;IF+CR;GjDktgBD;;EL9/MD;;EwDnwTU;IF+CR;GjDwtgBD;;ELjgND;;EwDtwTU;IF+CR;GjD8tgBD;;ELpgND;;EwDzwTU;IF+CR;GjDougBD;;ELvgND;;EwD5wTU;IF+CR;GjD0ugBD;;EL1gND;;EwD/wTU;IF+CR;GjDgvgBD;;EL7gND;;EwDlxTU;IF+CR;GjDsvgBD;;ELhhND;;EwDrxTU;IF+CR;GjD4vgBD;CACF;;ACjrgBK;EN+pTJ;;EwDjxTU;IFsCR;GjDowgBD;;ELthND;;EwDpxTU;IFsCR;GjD0wgBD;;ELzhND;;EwDvxTU;IFsCR;GjDgxgBD;;EL5hND;;EwD1xTU;IFsCR;GjDsxgBD;;EL/hND;;EwD7xTU;IFsCR;GjD4xgBD;;ELliND;;EwDhyTU;IFsCR;GjDkygBD;;ELriND;;EwDnyTU;IFsCR;GjDwygBD;;ELxiND;;EwDtyTU;IFsCR;GjD8ygBD;;EL3iND;;EwDzyTU;IFsCR;GjDozgBD;;EL9iND;;EwD5yTU;IFsCR;GjD0zgBD;;ELjjND;;EwD/yTU;IFsCR;GjDg0gBD;;ELpjND;;EwDlzTU;IFsCR;GjDs0gBD;CACF;;AC3vgBK;ENqsTJ;;EwDvzTU;IFsCR;GjD80gBD;;EL1jND;;EwD1zTU;IFsCR;GjDo1gBD;;EL7jND;;EwD7zTU;IFsCR;GjD01gBD;;ELhkND;;EwDh0TU;IFsCR;GjDg2gBD;;ELnkND;;EwDn0TU;IFsCR;GjDs2gBD;;ELtkND;;EwDt0TU;IFsCR;GjD42gBD;;ELzkND;;EwDz0TU;IFsCR;GjDk3gBD;;EL5kND;;EwD50TU;IFsCR;GjDw3gBD;;EL/kND;;EwD/0TU;IFsCR;GjD83gBD;;ELllND;;EwDl1TU;IFsCR;GjDo4gBD;;ELrlND;;EwDr1TU;IFsCR;GjD04gBD;;ELxlND;;EwDx1TU;IFsCR;GjDg5gBD;CACF;;ACr0gBK;EN2uTJ;;EmDlqTI;IK/KE;IAAA;GnDm7gBL;;EL9lNC;;EwDl1TE;IAEI;IAAA;GnDq7gBP;CACF;;ACr1gBK;ENqvTJ;;EmDlrTI;IKhNE;IAAA;GnD0+gBL;;ELpmNC;;EwDn4TE;IAEI;IAAA;GnD4+gBP;CACF;;ACr2gBK;EN+vTJ;;EwD13TU;IF+CR;GjDw7gBD;;EL1mND;;EwD73TU;IF+CR;GjD87gBD;;EL7mND;;EwDh4TU;IF+CR;GjDo8gBD;;ELhnND;;EwDn4TU;IF+CR;GjD08gBD;;ELnnND;;EwDt4TU;IF+CR;GjDg9gBD;;ELtnND;;EwDz4TU;IF+CR;GjDs9gBD;;ELznND;;EwD54TU;IF+CR;GjD49gBD;;EL5nND;;EwD/4TU;IF+CR;GjDk+gBD;;EL/nND;;EwDl5TU;IF+CR;GjDw+gBD;;ELloND;;EwDr5TU;IF+CR;GjD8+gBD;;ELroND;;EwDx5TU;IF+CR;GjDo/gBD;;ELxoND;;EwD35TU;IF+CR;GjD0/gBD;CACF;;AC/6gBK;ENqyTJ;;EwDh6TU;IF+CR;GjDkghBD;;EL9oND;;EwDn6TU;IF+CR;GjDwghBD;;ELjpND;;EwDt6TU;IF+CR;GjD8ghBD;;ELppND;;EwDz6TU;IF+CR;GjDohhBD;;ELvpND;;EwD56TU;IF+CR;GjD0hhBD;;EL1pND;;EwD/6TU;IF+CR;GjDgihBD;;EL7pND;;EwDl7TU;IF+CR;GjDsihBD;;ELhqND;;EwDr7TU;IF+CR;GjD4ihBD;;ELnqND;;EwDx7TU;IF+CR;GjDkjhBD;;ELtqND;;EwD37TU;IF+CR;GjDwjhBD;;ELzqND;;EwD97TU;IF+CR;GjD8jhBD;;EL5qND;;EwDj8TU;IF+CR;GjDokhBD;CACF;;ACz/gBK;EN20TJ;;EwD77TU;IFsCR;GjD4khBD;;ELlrND;;EwDh8TU;IFsCR;GjDklhBD;;ELrrND;;EwDn8TU;IFsCR;GjDwlhBD;;ELxrND;;EwDt8TU;IFsCR;GjD8lhBD;;EL3rND;;EwDz8TU;IFsCR;GjDomhBD;;EL9rND;;EwD58TU;IFsCR;GjD0mhBD;;ELjsND;;EwD/8TU;IFsCR;GjDgnhBD;;ELpsND;;EwDl9TU;IFsCR;GjDsnhBD;;ELvsND;;EwDr9TU;IFsCR;GjD4nhBD;;EL1sND;;EwDx9TU;IFsCR;GjDkohBD;;EL7sND;;EwD39TU;IFsCR;GjDwohBD;;ELhtND;;EwD99TU;IFsCR;GjD8ohBD;CACF;;ACnkhBK;ENi3TJ;;EmDxyTI;IK/KE;IAAA;GnDirhBL;;ELttNC;;EwDx9TE;IAEI;IAAA;GnDmrhBP;CACF;;ALztND;;AmDnyTM;EMhOF;CpDkuhBH;;AL3tND;;AmDnyTM;EMpOF;CpDwuhBH;;AL7tND;;AmD3yTM;EMhOF;CpD8uhBH;;AL/tND;;AmD3yTM;EMpOF;CpDovhBH;;ALjuND;;AmDnzTM;EMhOF;CpD0vhBH;;ALnuND;;AmDnzTM;EMpOF;CpDgwhBH;;ALruND;;AmD3zTM;EMhOF;CpDswhBH;;ALvuND;;AmD3zTM;EMpOF;CpD4whBH;;ALzuND;;AmDn0TM;EMhOF;CpDkxhBH;;AL3uND;;AmDn0TM;EMpOF;CpDwxhBH;;AL7uND;;AmD30TM;EMhOF;CpD8xhBH;;AL/uND;;AmD30TM;EMpOF;CpDoyhBH;;ALjvND;;AmDn1TM;EMhOF;CpD0yhBH;;ALnvND;;AmDn1TM;EMpOF;CpDgzhBH;;ALrvND;;AmD31TM;EMhOF;CpDszhBH;;ALvvND;;AmD31TM;EMpOF;CpD4zhBH;;ALzvND;;AmDn2TM;EMhOF;CpDk0hBH;;AL3vND;;AmDn2TM;EMpOF;CpDw0hBH;;AL7vND;;AmD32TM;EMhOF;CpD80hBH;;AL/vND;;AmD32TM;EMpOF;CpDo1hBH;;ALjwND;;AmDn3TM;EMhOF;CpD01hBH;;ALnwND;;AmDn3TM;EMpOF;CpDg2hBH;;ALrwND;;AmD33TM;EMhOF;CpDs2hBH;;ALvwND;;AmD33TM;EMpOF;CpD42hBH;;ACnuhBK;EN29TJ;;EmDp4TI;IMhOF;GpDm3hBD;;EL5wND;;EmDn4TI;IMpOF;GpDy3hBD;;EL/wND;;EmD14TI;IMhOF;GpD+3hBD;;ELlxND;;EmDz4TI;IMpOF;GpDq4hBD;;ELrxND;;EmDh5TI;IMhOF;GpD24hBD;;ELxxND;;EmD/4TI;IMpOF;GpDi5hBD;;EL3xND;;EmDt5TI;IMhOF;GpDu5hBD;;EL9xND;;EmDr5TI;IMpOF;GpD65hBD;;ELjyND;;EmD55TI;IMhOF;GpDm6hBD;;ELpyND;;EmD35TI;IMpOF;GpDy6hBD;;ELvyND;;EmDl6TI;IMhOF;GpD+6hBD;;EL1yND;;EmDj6TI;IMpOF;GpDq7hBD;;EL7yND;;EmDx6TI;IMhOF;GpD27hBD;;ELhzND;;EmDv6TI;IMpOF;GpDi8hBD;;ELnzND;;EmD96TI;IMhOF;GpDu8hBD;;ELtzND;;EmD76TI;IMpOF;GpD68hBD;;ELzzND;;EmDp7TI;IMhOF;GpDm9hBD;;EL5zND;;EmDn7TI;IMpOF;GpDy9hBD;;EL/zND;;EmD17TI;IMhOF;GpD+9hBD;;ELl0ND;;EmDz7TI;IMpOF;GpDq+hBD;;ELr0ND;;EmDh8TI;IMhOF;GpD2+hBD;;ELx0ND;;EmD/7TI;IMpOF;GpDi/hBD;;EL30ND;;EmDt8TI;IMhOF;GpDu/hBD;;EL90ND;;EmDr8TI;IMpOF;GpD6/hBD;CACF;;ACr3hBK;ENqiUJ;;EmD98TI;IMhOF;GpDqgiBD;;ELp1ND;;EmD78TI;IMpOF;GpD2giBD;;ELv1ND;;EmDp9TI;IMhOF;GpDihiBD;;EL11ND;;EmDn9TI;IMpOF;GpDuhiBD;;EL71ND;;EmD19TI;IMhOF;GpD6hiBD;;ELh2ND;;EmDz9TI;IMpOF;GpDmiiBD;;ELn2ND;;EmDh+TI;IMhOF;GpDyiiBD;;ELt2ND;;EmD/9TI;IMpOF;GpD+iiBD;;ELz2ND;;EmDt+TI;IMhOF;GpDqjiBD;;EL52ND;;EmDr+TI;IMpOF;GpD2jiBD;;EL/2ND;;EmD5+TI;IMhOF;GpDikiBD;;ELl3ND;;EmD3+TI;IMpOF;GpDukiBD;;ELr3ND;;EmDl/TI;IMhOF;GpD6kiBD;;ELx3ND;;EmDj/TI;IMpOF;GpDmliBD;;EL33ND;;EmDx/TI;IMhOF;GpDyliBD;;EL93ND;;EmDv/TI;IMpOF;GpD+liBD;;ELj4ND;;EmD9/TI;IMhOF;GpDqmiBD;;ELp4ND;;EmD7/TI;IMpOF;GpD2miBD;;ELv4ND;;EmDpgUI;IMhOF;GpDiniBD;;EL14ND;;EmDngUI;IMpOF;GpDuniBD;;EL74ND;;EmD1gUI;IMhOF;GpD6niBD;;ELh5ND;;EmDzgUI;IMpOF;GpDmoiBD;;ELn5ND;;EmDhhUI;IMhOF;GpDyoiBD;;ELt5ND;;EmD/gUI;IMpOF;GpD+oiBD;CACF;;ALz5ND;;AmD1qUgB;EExEd;EAAA;EAAA;EACA;EAAA;MAAA;UAAA;ChDipiBD;;AL55NC;;AmDrgUA;EG7MA;EACA;CjDoniBD;;AL/5NC;;AmDzgUA;EGjME;CjD+miBH;;ALl6NC;;AmD5gUA;EG7LE;CjDiniBH;;ALr6NC;;AmD/gUA;;;;;;;;;;;;;;EA2BM;MAAA;C9C46hBP;;ACpjiBK;ENgoUF;;EmDnhUF;;;;;;;;;;;;;;IA2BM;QAAA;G9Cg8hBL;CACF;;ACzkiBK;ENooUF;;EmDvhUF;;;;;;;;;;;;;;IA2BM;QAAA;G9Cq9hBL;CACF;;ALv9NC;;AmD1hUA;;;;;;;;;;;;EGzNE;MAAA;UAAA;CjD2tiBH;;ALr+NC;;AmD7hUA;EGzLE;CjDisiBH;;ALx+NC;;AmDhiUA;EGzLE;CjDusiBH;;AL3+NC;;AmDniUA;EGzLE;CjD6siBH;;AL9+NC;;AmDtiUA;EGzLE;CjDmtiBH;;ALj/NC;;AmDziUA;EGzLE;CjDytiBH;;ALp/NC;;AmD5iUA;EGzLE;CjD+tiBH;;ALv/NC;;AmD/iUA;EGzLE;CjDquiBH;;AL1/NC;;AmDljUA;EGzLE;CjD2uiBH;;AL7/NC;;AmDrjUA;EGzLE;CjDiviBH;;ALhgOC;;AmDxjUA;EGzLE;CjDuviBH;;ALngOC;;AmD3jUA;EGzLE;CjD6viBH;;ALtgOC;;AmD9jUA;EGzLE;CjDmwiBH;;ACvriBK;EN+qUF;;EmDlkUF;IG5NE;QAAA;YAAA;IA2BA;GjDmxiBD;;EL5gOC;;EmDtkUF;;;;;;;;;;;;;IGzNE;QAAA;YAAA;GjD6ziBD;;EL3hOC;;EmDzkUF;IG7LE;GjDuyiBD;;EL9hOC;;EmD5kUF;IGzLE;GjDyyiBD;;ELjiOC;;EmD/kUF;IGzLE;GjD+yiBD;;ELpiOC;;EmDllUF;IGzLE;GjDqziBD;;ELviOC;;EmDrlUF;IGzLE;GjD2ziBD;;EL1iOC;;EmDxlUF;IGzLE;GjDi0iBD;;EL7iOC;;EmD3lUF;IGzLE;GjDu0iBD;;ELhjOC;;EmD9lUF;IGzLE;GjD60iBD;;ELnjOC;;EmDjmUF;IGzLE;GjDm1iBD;;ELtjOC;;EmDpmUF;IGzLE;GjDy1iBD;;ELzjOC;;EmDvmUF;IGzLE;GjD+1iBD;;EL5jOC;;EmD1mUF;IGzLE;GjDq2iBD;;EL/jOC;;EmD7mUF;IGzLE;GjD22iBD;CACF;;AChyiBK;EN8tUF;;EmDjnUF;IG5NE;QAAA;YAAA;IA2BA;GjD43iBD;;ELtkOC;;EmDrnUF;;;;;;;;;;;;;IGzNE;QAAA;YAAA;GjDs6iBD;;ELrlOC;;EmDxnUF;IG7LE;GjDg5iBD;;ELxlOC;;EmD3nUF;IGzLE;GjDk5iBD;;EL3lOC;;EmD9nUF;IGzLE;GjDw5iBD;;EL9lOC;;EmDjoUF;IGzLE;GjD85iBD;;ELjmOC;;EmDpoUF;IGzLE;GjDo6iBD;;ELpmOC;;EmDvoUF;IGzLE;GjD06iBD;;ELvmOC;;EmD1oUF;IGzLE;GjDg7iBD;;EL1mOC;;EmD7oUF;IGzLE;GjDs7iBD;;EL7mOC;;EmDhpUF;IGzLE;GjD47iBD;;ELhnOC;;EmDnpUF;IGzLE;GjDk8iBD;;ELnnOC;;EmDtpUF;IGzLE;GjDw8iBD;;ELtnOC;;EmDzpUF;IGzLE;GjD88iBD;;ELznOC;;EmD5pUF;IGzLE;GjDo9iBD;CACF;;AL5nOD;;AmD/lUI;ECpTI;EAAA;C/CshjBP;;ACh5iBK;ENkxUF;;EmDpmUA;ICpTI;IAAA;G/C8hjBL;CACF;;ALloOD;;AmDzmUI;ECpTI;EAAA;C/CsijBP;;ACh6iBK;EN4xUF;;EmD9mUA;ICpTI;IAAA;G/C8ijBL;CACF;;ALxoOD;;AmD9zUE;ECzGM;EAAA;C/CsjjBP;;ACh7iBK;ENsyUF;;EmDn0UF;ICzGM;IAAA;G/C8jjBL;CACF;;AL/oOC;;AmDv0UA;EG1DE;EFtCE;EAAA;C/C8jjBL;;ACj8iBK;ENgzUF;;EmD70UF;IG1DE;IFtCE;IAAA;G/CukjBH;CACF;;ALtpOC;;AmD12UA;EG/BE;CjDqijBH;;ALzpOC;;AmDz2UA;EG/BE;CjDuijBH;;AL5pOC;;AmDp2UE;EGnCA;CjDyijBH;;AL/pOC;;AmDv2UE;EGnCA;CjD+ijBH;;ALlqOC;;AmD12UE;EGnCA;CjDqjjBH;;ALrqOC;;AmD72UE;EGnCA;CjD2jjBH;;ALxqOC;;AmDh3UE;EGnCA;CjDikjBH;;AL3qOC;;AmDn3UE;EGnCA;CjDukjBH;;AL9qOC;;AmDt3UE;EGnCA;CjD6kjBH;;ALjrOC;;AmDz3UE;EGnCA;CjDmljBH;;ALprOC;;AmD53UE;EGnCA;CjDyljBH;;ALvrOC;;AmD/3UE;EGnCA;CjD+ljBH;;AL1rOC;;AmDl4UE;EGnCA;CjDqmjBH;;AL7rOC;;AmDr4UE;EGnCA;CjD2mjBH;;AC/hjBK;ENg2UF;;EmDr5UF;IG/BE;GjD0njBD;;ELnsOC;;EmDp5UF;IG/BE;GjD4njBD;;ELtsOC;;EmD/4UA;IGnCA;GjD8njBD;;ELzsOC;;EmDl5UA;IGnCA;GjDoojBD;;EL5sOC;;EmDr5UA;IGnCA;GjD0ojBD;;EL/sOC;;EmDx5UA;IGnCA;GjDgpjBD;;ELltOC;;EmD35UA;IGnCA;GjDspjBD;;ELrtOC;;EmD95UA;IGnCA;GjD4pjBD;;ELxtOC;;EmDj6UA;IGnCA;GjDkqjBD;;EL3tOC;;EmDp6UA;IGnCA;GjDwqjBD;;EL9tOC;;EmDv6UA;IGnCA;GjD8qjBD;;ELjuOC;;EmD16UA;IGnCA;GjDorjBD;;ELpuOC;;EmD76UA;IGnCA;GjD0rjBD;;ELvuOC;;EmDh7UA;IGnCA;GjDgsjBD;;EL1uOC;;EmD/7UF;IG/BE;GjD8sjBD;;EL7uOC;;EmD97UF;IG/BE;GjDgtjBD;;ELhvOC;;EmDz7UA;IGnCA;GjDktjBD;;ELnvOC;;EmD57UA;IGnCA;GjDwtjBD;;ELtvOC;;EmD/7UA;IGnCA;GjD8tjBD;;ELzvOC;;EmDl8UA;IGnCA;GjDoujBD;;EL5vOC;;EmDr8UA;IGnCA;GjD0ujBD;;EL/vOC;;EmDx8UA;IGnCA;GjDgvjBD;;ELlwOC;;EmD38UA;IGnCA;GjDsvjBD;;ELrwOC;;EmD98UA;IGnCA;GjD4vjBD;;ELxwOC;;EmDj9UA;IGnCA;GjDkwjBD;;EL3wOC;;EmDp9UA;IGnCA;GjDwwjBD;;EL9wOC;;EmDv9UA;IGnCA;GjD8wjBD;;ELjxOC;;EmD19UA;IGnCA;GjDoxjBD;CACF;;ACzsjBK;ENq7UF;;EmD1+UF;IG/BE;GjDoyjBD;;ELxxOC;;EmDz+UF;IG/BE;GjDsyjBD;;EL3xOC;;EmDp+UA;IGnCA;GjDwyjBD;;EL9xOC;;EmDv+UA;IGnCA;GjD8yjBD;;ELjyOC;;EmD1+UA;IGnCA;GjDozjBD;;ELpyOC;;EmD7+UA;IGnCA;GjD0zjBD;;ELvyOC;;EmDh/UA;IGnCA;GjDg0jBD;;EL1yOC;;EmDn/UA;IGnCA;GjDs0jBD;;EL7yOC;;EmDt/UA;IGnCA;GjD40jBD;;ELhzOC;;EmDz/UA;IGnCA;GjDk1jBD;;ELnzOC;;EmD5/UA;IGnCA;GjDw1jBD;;ELtzOC;;EmD//UA;IGnCA;GjD81jBD;;ELzzOC;;EmDlgVA;IGnCA;GjDo2jBD;;EL5zOC;;EmDrgVA;IGnCA;GjD02jBD;CACF;;AL/zOD;;AmD7xUE;EOzVE;EACA;EACA;MAAA;EACA;MAAA;UAAA;EA2BI;CrDi6jBP;;ALj0OD;;AmDjyUE;EACE;C9CumjBH;;ALn0OD;;AmDjyUE;EOhTE;EACA;EAGF;EACA;CrDw5jBD;;ALr0OD;;AmDpyUE;EOxTE;EACA;EACA;EAMF;EACA;CrDk6jBD;;ALv0OD;;AmDvyUE;EO7SA;EAAA;EAAA;EACA;EAAA;MAAA;UAAA;EACA;CrDi6jBD;;AL10OC;;A0DrlVA;EACE;EACA;MAAA;CrDo6jBH;;ACj1jBK;ENsgVJ;;EmD3yUE;IOjXA;IACA;IACA;QAAA;IACA;QAAA;YAAA;IA2BI;GrDo9jBL;;EL/0OD;;EmD9yUE;IACE;G9CkojBH;;ELl1OD;;EmD7yUE;IOxUA;IACA;IAGF;IACA;GrD28jBC;;ELr1OD;;EmD/yUE;IOhUF;IAAA;IAAA;IACA;IAAA;QAAA;YAAA;IACA;GrD08jBC;;ELx1OC;;E0DhnVF;IACE;IACA;QAAA;GrD68jBD;;EL31OD;;EmDpzUE;IOpVA;IACA;IACA;IAMF;IACA;GrDo+jBC;CACF;;ACr4jBK;ENwiVJ;;EmD70UE;IOjXA;IACA;IACA;QAAA;IACA;QAAA;YAAA;IA2BI;GrDwgkBL;;ELj2OD;;EmDh1UE;IACE;G9CsrjBH;;ELp2OD;;EmD/0UE;IOxUA;IACA;IAGF;IACA;GrD+/jBC;;ELv2OD;;EmDj1UE;IOhUF;IAAA;IAAA;IACA;IAAA;QAAA;YAAA;IACA;GrD8/jBC;;EL12OC;;E0DlpVF;IACE;IACA;QAAA;GrDigkBD;;EL72OD;;EmDt1UE;IOpVA;IACA;IACA;IAMF;IACA;GrDwhkBC;CACF;;ALh3OD;;AmDx1UI;EAEI;EOzYJ;EACA;EACA;MAAA;EACA;MAAA;UAAA;EAyBI;CrD8jkBP;;ACp8jBK;ENmlVJ;;EmDl2UE;IAQM;IO/YN;IACA;IACA;QAAA;IACA;QAAA;YAAA;IAyBI;GrD0kkBL;CACF;;ACj9jBK;EN6lVJ;;EmD52UE;IAQM;IO/YN;IACA;IACA;QAAA;IACA;QAAA;YAAA;IAyBI;GrDulkBL;CACF;;ALx3OD;;AmDv2UI;EAEI;C9CmujBP;;ACp+jBK;EN2mVJ;;EmD52UE;IAMM;G9CsujBP;CACF;;AC5+jBK;ENgnVJ;;EmDj3UE;IAMM;G9C8ujBP;CACF;;ALh4OD;;AmDjpVE;ECzGM;EAAA;C/CiokBP;;AC3/jBK;ENynVF;;EmDtpVF;ICzGM;IAAA;G/CyokBL;CACF;;ALv4OC;;AmD1pVA;EG1DE;EFtCE;EAAA;C/CyokBL;;AC5gkBK;ENmoVF;;EmDhqVF;IG1DE;IFtCE;IAAA;G/CkpkBH;CACF;;AL94OC;;AmD7rVA;EG/BE;CjDgnkBH;;ALj5OC;;AmD5rVA;EG/BE;CjDknkBH;;ALp5OC;;AmDvrVE;EGnCA;CjDonkBH;;ALv5OC;;AmD1rVE;EGnCA;CjD0nkBH;;AL15OC;;AmD7rVE;EGnCA;CjDgokBH;;AL75OC;;AmDhsVE;EGnCA;CjDsokBH;;ALh6OC;;AmDnsVE;EGnCA;CjD4okBH;;ALn6OC;;AmDtsVE;EGnCA;CjDkpkBH;;ALt6OC;;AmDzsVE;EGnCA;CjDwpkBH;;ALz6OC;;AmD5sVE;EGnCA;CjD8pkBH;;AL56OC;;AmD/sVE;EGnCA;CjDoqkBH;;AL/6OC;;AmDltVE;EGnCA;CjD0qkBH;;ALl7OC;;AmDrtVE;EGnCA;CjDgrkBH;;ALr7OC;;AmDxtVE;EGnCA;CjDsrkBH;;AC1mkBK;ENmrVF;;EmDxuVF;IG/BE;GjDqskBD;;EL37OC;;EmDvuVF;IG/BE;GjDuskBD;;EL97OC;;EmDluVA;IGnCA;GjDyskBD;;ELj8OC;;EmDruVA;IGnCA;GjD+skBD;;ELp8OC;;EmDxuVA;IGnCA;GjDqtkBD;;ELv8OC;;EmD3uVA;IGnCA;GjD2tkBD;;EL18OC;;EmD9uVA;IGnCA;GjDiukBD;;EL78OC;;EmDjvVA;IGnCA;GjDuukBD;;ELh9OC;;EmDpvVA;IGnCA;GjD6ukBD;;ELn9OC;;EmDvvVA;IGnCA;GjDmvkBD;;ELt9OC;;EmD1vVA;IGnCA;GjDyvkBD;;ELz9OC;;EmD7vVA;IGnCA;GjD+vkBD;;EL59OC;;EmDhwVA;IGnCA;GjDqwkBD;;EL/9OC;;EmDnwVA;IGnCA;GjD2wkBD;;ELl+OC;;EmDlxVF;IG/BE;GjDyxkBD;;ELr+OC;;EmDjxVF;IG/BE;GjD2xkBD;;ELx+OC;;EmD5wVA;IGnCA;GjD6xkBD;;EL3+OC;;EmD/wVA;IGnCA;GjDmykBD;;EL9+OC;;EmDlxVA;IGnCA;GjDyykBD;;ELj/OC;;EmDrxVA;IGnCA;GjD+ykBD;;ELp/OC;;EmDxxVA;IGnCA;GjDqzkBD;;ELv/OC;;EmD3xVA;IGnCA;GjD2zkBD;;EL1/OC;;EmD9xVA;IGnCA;GjDi0kBD;;EL7/OC;;EmDjyVA;IGnCA;GjDu0kBD;;ELhgPC;;EmDpyVA;IGnCA;GjD60kBD;;ELngPC;;EmDvyVA;IGnCA;GjDm1kBD;;ELtgPC;;EmD1yVA;IGnCA;GjDy1kBD;;ELzgPC;;EmD7yVA;IGnCA;GjD+1kBD;CACF;;ACpxkBK;ENwwVF;;EmD7zVF;IG/BE;GjD+2kBD;;ELhhPC;;EmD5zVF;IG/BE;GjDi3kBD;;ELnhPC;;EmDvzVA;IGnCA;GjDm3kBD;;ELthPC;;EmD1zVA;IGnCA;GjDy3kBD;;ELzhPC;;EmD7zVA;IGnCA;GjD+3kBD;;EL5hPC;;EmDh0VA;IGnCA;GjDq4kBD;;EL/hPC;;EmDn0VA;IGnCA;GjD24kBD;;ELliPC;;EmDt0VA;IGnCA;GjDi5kBD;;ELriPC;;EmDz0VA;IGnCA;GjDu5kBD;;ELxiPC;;EmD50VA;IGnCA;GjD65kBD;;EL3iPC;;EmD/0VA;IGnCA;GjDm6kBD;;EL9iPC;;EmDl1VA;IGnCA;GjDy6kBD;;ELjjPC;;EmDr1VA;IGnCA;GjD+6kBD;;ELpjPC;;EmDx1VA;IGnCA;GjDq7kBD;CACF;;ALvjPD;;AmDviVI;EO/YI;CrDm/kBP;;ACh3kBK;ENuzVF;;EmD3iVA;IO/YI;GrD0/kBL;CACF;;ACx3kBK;EN2zVF;;EmD/iVA;IO/YI;GrDkglBL;CACF;;ACh4kBK;ENg0VJ;;EmDhjVI;IOnZE;GrD0glBL;CACF;;ACx4kBK;ENq0VJ;;EmDrjVI;IOnZE;GrDkhlBL;CACF;;ALvkPD;;A2DtuVE;EAhLA;EACA;EACA;EAUE;EAGF;EACA;EACA;EAAA;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EAqCA;EACA;CtDo7kBD;;AL1kPC;;AACA;EsCvzVE;CjCs4kBH;;AL7kPC;;A2D32VA;;EACE;EACA;CtD87kBH;;ALjlPC;;A2D9vVA;EAMM;CtD+0kBP;;ALplPC;;A2DjwVA;EAMM;CtDq1kBP;;ALvlPC;;A2DpwVA;EAMM;CtD21kBP;;AL1lPC;;A2DvwVA;EAlJE;EACA;EACA;EACA;CtDy/kBH;;AL7lPC;;A2D7wVA;EApHA;EACA;CtDo+kBD;;ALhmPG;;A2Dl4VF;;EACE;EACA;CtDw+kBH;;ALpmPC;;A2DrxVA;EApHA;EACA;CtDm/kBD;;ALvmPG;;A2D14VF;;EACE;EACA;CtDu/kBH;;AL3mPC;;A2D7xVA;EApHA;EACA;CtDkglBD;;AL9mPG;;A2Dl5VF;;EACE;EACA;CtDsglBH;;ALlnPC;;A2DryVA;EApHA;EACA;CtDihlBD;;ALrnPG;;A2D15VF;;EACE;EACA;CtDqhlBH;;ALznPC;;A2D7yVA;EApHA;EACA;CtDgilBD;;AL5nPG;;A2Dl6VF;;EACE;EACA;CtDoilBH;;ALhoPC;;A2DrzVA;;EA1DA;EACA;CtDs/kBD;;ALpoPG;;A2Dh3VF;;;;;;EACE;EACA;CtD8/kBH;;AL5oPG;;A2D7zVF;;EA1DA;EACA;CtD0glBD;;ALhpPK;;A2Dx3VJ;;;;;;EACE;EACA;CtDkhlBH;;ALxpPG;;A2Dr0VF;;EA1DA;EACA;CtD8hlBD;;AL5pPK;;A2Dh4VJ;;;;;;EACE;EACA;CtDsilBH;;ALpqPG;;A2D70VF;;EA1DA;EACA;CtDkjlBD;;ALxqPK;;A2Dx4VJ;;;;;;EACE;EACA;CtD0jlBH;;ALhrPG;;A2Dr1VF;;EA1DA;EACA;CtDsklBD;;ALprPK;;A2Dh5VJ;;;;;;EACE;EACA;CtD8klBH;;AL5rPG;;A2D71VF;;EA1DA;EACA;CtD0llBD;;ALhsPK;;A2Dx5VJ;;;;;;EACE;EACA;CtDkmlBH;;ALxsPC;;A2Dr2VA;EAnFA;EACA;CtDsolBD;;AL3sPG;;A2Dl9VF;;;EAGE;CtDkqlBH;;ALhtPG;;A2D78VA;;;;;;EAEE;CtDsqlBL;;ALxtPG;;A2D/7VF;;EACE;EACA;CtD6plBH;;AL5tPK;;A2Dh8VF;;;;EAEE;EACA;CtDmqlBL;;ALluPG;;A2Dv3VF;EAnFA;EACA;CtDkrlBD;;ALruPK;;A2D38VJ;;EACE;EACA;CtDsrlBH;;ALzuPO;;A2D58VJ;;;;EAEE;EACA;CtD4rlBL;;AL/uPG;;A2Dn4VF;EAnFA;EACA;CtD2slBD;;ALlvPK;;A2Dv9VJ;;EACE;EACA;CtD+slBH;;ALtvPO;;A2Dx9VJ;;;;EAEE;EACA;CtDqtlBL;;AL5vPG;;A2D/4VF;EAnFA;EACA;CtDoulBD;;AL/vPK;;A2Dn+VJ;;EACE;EACA;CtDwulBH;;ALnwPO;;A2Dp+VJ;;;;EAEE;EACA;CtD8ulBL;;ALzwPG;;A2D35VF;EAnFA;EACA;CtD6vlBD;;AL5wPK;;A2D/+VJ;;EACE;EACA;CtDiwlBH;;ALhxPO;;A2Dh/VJ;;;;EAEE;EACA;CtDuwlBL;;ALtxPG;;A2Dv6VF;EAnFA;EACA;CtDsxlBD;;ALzxPK;;A2D3/VJ;;EACE;EACA;CtD0xlBH;;AL7xPO;;A2D5/VJ;;;;EAEE;EACA;CtDgylBL;;ALnyPC;;A2Dn7VA;EAnFA;EACA;CtD+ylBD;;ALtyPG;;A2DhiWF;;;EAGE;CtD20lBH;;AL3yPG;;A2D3hWA;;;;;;EAEE;CtD+0lBL;;ALnzPG;;A2D7gWF;;EACE;EACA;CtDs0lBH;;ALvzPK;;A2D9gWF;;;;EAEE;EACA;CtD40lBL;;AL7zPG;;A2Dr8VF;;;;;;;;;EAuFU;CtDyrlBX;;ALx0PG;;A2Dx8VF;EAnFA;EACA;CtDy2lBD;;AL30PK;;A2D5hWJ;;EACE;EACA;CtD62lBH;;AL/0PO;;A2D7hWJ;;;;EAEE;EACA;CtDm3lBL;;ALr1PK;;A2Dp9VJ;;;;;;;;;EAoGc;CtDmtlBf;;ALh2PG;;A2Dv9VF;EAnFA;EACA;CtDg5lBD;;ALn2PK;;A2D3iWJ;;EACE;EACA;CtDo5lBH;;ALv2PO;;A2D5iWJ;;;;EAEE;EACA;CtD05lBL;;AL72PK;;A2Dn+VJ;;;;;;;;;EAoGc;CtD0vlBf;;ALx3PG;;A2Dt+VF;EAnFA;EACA;CtDu7lBD;;AL33PK;;A2D1jWJ;;EACE;EACA;CtD27lBH;;AL/3PO;;A2D3jWJ;;;;EAEE;EACA;CtDi8lBL;;ALr4PK;;A2Dl/VJ;;;;;;;;;EAoGc;CtDiylBf;;ALh5PG;;A2Dr/VF;EAnFA;EACA;CtD89lBD;;ALn5PK;;A2DzkWJ;;EACE;EACA;CtDk+lBH;;ALv5PO;;A2D1kWJ;;;;EAEE;EACA;CtDw+lBL;;AL75PK;;A2DjgWJ;;;;;;;;;EAoGc;CtDw0lBf;;ALx6PG;;A2DpgWF;EAnFA;EACA;CtDqgmBD;;AL36PK;;A2DxlWJ;;EACE;EACA;CtDygmBH;;AL/6PO;;A2DzlWJ;;;;EAEE;EACA;CtD+gmBL;;ALr7PK;;A2DhhWJ;;;;;;;;;EAoGc;CtD+2lBf;;ALh8PC;;A2D3jWA;ErBvLA;EACA;EACA;EAEA;EAEA;EAGE;EACA;EACA;EqB8KA;EACA;EAEA;EACA;EACA;CtDsgmBH;;ALn8PC;;A2DliWA;;EAwHQ;CtDo3lBT;;ALv8PC;;A2DriWA;;EA8HY;CtDq3lBb;;AL38PC;;A2DxiWA;;EA8HY;CtD43lBb;;AL/8PC;;A2D3iWA;;EA8HY;CtDm4lBb;;ALn9PC;;A2D9iWA;;EA8HY;CtD04lBb;;ALv9PC;;A2DjjWA;;EA8HY;CtDi5lBb;;AL39PC;;A2DpjWA;EAuII;EACA;EACA;CtD84lBL;;AL79PD;;A2D76VE;;EAGI;CtD84lBL;;ALh+PD;;A4DloWE;EAjKA;EAGE;EAAA;EAAA;EACA;MAAA;EACA;MAAA;UAAA;CvDuwmBH;;ALn+PC;;AsCpqWA;;EAEE;EACA;EAGE;MAAA;EACA;MAAA;UAAA;CjC0omBL;;ALv+PC;;AsC/pWA;EACE;CjC2omBH;;AL1+PC;;A4DvyWA;EACE;EACA;EACA;EACA;EAGE;MAAA;UAAA;CvDoxmBL;;AL7+PG;;A4DpyWA;EACE;CvDsxmBL;;ALh/PC;;A4D3pWA;EAMM;CvD2omBP;;ALn/PC;;A4D9pWA;EAMM;CvDipmBP;;ALt/PC;;A4DjqWA;EAMM;CvDupmBP;;ALz/PC;;A4D1wWA;EAEI;MAAA;UAAA;CvDuwmBL;;AL5/PC;;A4DvqWA;EDhDA;EACA;CtDytmBD;;AL//PG;;A2DxtWF;;EACE;EACA;CtD6tmBH;;ALngQC;;A4D/qWA;EDhDA;EACA;CtDwumBD;;ALtgQG;;A2DhuWF;;EACE;EACA;CtD4umBH;;AL1gQC;;A4DvrWA;EDhDA;EACA;CtDuvmBD;;AL7gQG;;A2DxuWF;;EACE;EACA;CtD2vmBH;;ALjhQC;;A4D/rWA;EDhDA;EACA;CtDswmBD;;ALphQG;;A2DhvWF;;EACE;EACA;CtD0wmBH;;ALxhQC;;A4DvsWA;EDhDA;EACA;CtDqxmBD;;AL3hQG;;A2DxvWF;;EACE;EACA;CtDyxmBH;;AL/hQC;;A4D/sWA;;;EAlEE;MAAA;CvDwzmBH;;ALpiQG;;A4DjxWF;;;EAEI;MAAA;UAAA;CvD2zmBL;;ALziQK;;A4D5wWF;;;EACE;CvD4zmBL;;AL9iQG;;A4D9zWF;;;EAEI;MAAA;UAAA;CvDk3mBL;;AC7ymBK;EN2vWF;;E4DvvWF;IAEI;QAAA;YAAA;IAKF;GvD0ymBD;CACF;;ACtzmBK;ENgwWF;;E4D5vWF;IAEI;QAAA;YAAA;IAKF;GvDmzmBD;CACF;;AC1zmBK;ENgwWF;;E4DtuWF;IAsDM;GvDivmBL;;EL9jQG;;E4DzuWJ;IAyDQ;IACA;GvDovmBP;CACF;;ACz0mBK;ENwwWF;;E4D9uWF;IAiEM;GvDqvmBL;;ELrkQG;;E4DjvWJ;IAoEQ;IACA;GvDwvmBP;CACF;;ALxkQD;;A6D51WE;EAXA;EACA;EACA;CxDq7mBD;;AL3kQC;;AACA;EsCvvWE;CjCu0mBH;;AL9kQC;;A6D32WA;;EAEE;CxD87mBH;;ALllQC;;A6Dv2WA;EAvBA;EACA;EACA;EACA;CxDs9mBD;;ALrlQC;;A6D72WA;;EAvBA;EACA;EACA;EACA;CxDg+mBD;;ALxlQD;;A8Dj6WE;EAZA;EACA;EAEA;EAEA;EACA;EACA;EACA;EAOE;EACA;CzDmgnBH;;AL3lQC;;A8D56WA;EAQM;EACA;CzDqgnBP;;AL9lQC;;A8Dh7WA;EAQM;EACA;CzD4gnBP;;ALjmQC;;A8Dp7WA;EAQM;EACA;CzDmhnBP;;ALpmQC;;A8Dx7WA;EAQM;EACA;CzD0hnBP;;ALvmQC;;A8D57WA;EAQM;EACA;CzDiinBP;;ALzmQD;;A+D18WE;EAnCA;EACA;EACA;EACA;C1D4lnBD;;AL5mQC;;A+Dh9WA;EAMQ;C1D4jnBT;;AL/mQC;;A+Dn9WA;EAMQ;C1DkknBT;;ALlnQC;;A+Dt9WA;EAMQ;C1DwknBT;;ALrnQC;;A+Dz9WA;EAMQ;C1D8knBT;;ALxnQC;;A+D59WA;EAMQ;C1DolnBT;;AL1nQD;;A+Dn9WE;EAxCA;EACA;EACA;EACA;EACA;C1D2nnBD;;AL5nQD;;A+Dt9WE;EzB8LA;EACA;EACA;EACA;OAAA;UAAA;EyBhOA;EACA;EACA;EACA;EACA;C1D2nnBD;;AL9nQD;;AgEp7WE;EApFA;EACA;EACA;EACA;EAEA;EACA;EACA;KAAA;MAAA;UAAA;EACA;MAAA;C3D2onBD;;ALhoQD;;AgE17WE;EA5EA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EAAA;EAAA;C3D0onBD;;ALnoQC;;AgErgXA;EACE;EAAA;EAAA;C3D6onBH;;ALroQD;;AgEn8WE;E1BsHA;EACA;EACA;OAAA;UAAA;E0BrLA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EAAA;EAAA;EACA;MAAA;C3D4onBD;;ALxoQC;;AACA;EsC33WE;CjCwgnBH;;AL3oQC;;AgErgXA;EACE;C3DqpnBH;;AL9oQC;;AgEpgXA;EACE;EAAA;EAAA;C3DupnBH;;ALhpQD;;AgEt9WE;;EA5CA;EACA;C3DypnBD;;ALlpQD;;AgEt9WE;EA7CA;EACA;EACA;EACA;EACA;OAAA;UAAA;C3D2pnBD;;ALrpQC;;AgEpgXA;EACE;EACA;EACA;C3D8pnBH;;ALxpQC;;AgEngXA;EACE;EACA;EACA;EACA;EACA;EACA;OAAA;UAAA;C3DgqnBH;;AL1pQD;;AiE/5WE;EACE;EA7IF;EACA;EACA;EAGA;EACA;EACA;EAEA;KAAA;MAAA;UAAA;C5DysnBD;;AL5pQD;;AiEp6WE;EApIA;EACA;EACA;C5D0snBD;;AL9pQD;;AiEr6WE;EA7HA;EACA;EACA;EACA;EAEA;EACA;EACA;EAAA;EAAA;EAGA;EACA;EAEA;C5DksnBD;;ALjqQC;;AiE9hXA;EACE;C5DosnBH;;ALpqQC;;AiE5hXA;EACE;EACA;EACA;EAEA;EACA;EACA;EAEA;UAAA;EACA;EACA;EACA;EAAA;EAAA;EACA;C5DmsnBH;;ALvqQC;;AiExhXA;EACE;C5DosnBH;;AL1qQG;;AiE3hXF;EAII;C5DusnBL;;AL7qQC;;AACA;EsCn9WE;CjCqonBH;;AL/qQD;;AiEt8WE;;EA7EA;EACA;EACA;OAAA;UAAA;C5DysnBD;;ALlrQD;;AiEv8WE;EA3EA;EACA;C5D0snBD;;ALrrQC;;AiEnhXA;EACE;C5D6snBH;;ALvrQD;;AiEz8WE;EAvEA;C5D6snBD;;AL1rQC;;AiEjhXA;EACE;C5DgtnBH;;AL5rQD;;AiE18WE;EAvDA;C5DmsnBD;;AL/rQC;;AiElgXA;EACE;EACA;EACA;C5DssnBH;;ALlsQC;;AiEjgXA;EACE;EACA;EACA;EACA;C5DwsnBH;;ALrsQC;;AiEhgXA;EACE;C5D0snBH;;ALvsQD;;AiEx9WE;EA3DA;C5DgunBD;;AL1sQC;;AiEphXA;EACE;EACA;EACA;C5DmunBH;;AL7sQC;;AiEnhXA;EACE;EACA;EACA;EACA;C5DqunBH;;ALhtQC;;AiElhXA;EACE;C5DuunBH;;ALltQD;;AiEt+WE;EA/DA;C5D6vnBD;;ALrtQC;;AiEtiXA;EACE;EACA;EACA;C5DgwnBH;;ALxtQC;;AiEriXA;EACE;EACA;EACA;EACA;C5DkwnBH;;AL3tQC;;AiEpiXA;EACE;C5DownBH;;AL7tQD;;AkE37WE;EA9GA;EACA;EACA;EACA;C7D4wnBD;;ALhuQC;;AkEnoXA;;;EAGE;EACA;C7Dw2nBH;;ALnuQC;;AkEjoXA;EACE;EACA;C7Dy2nBH;;ALtuQC;;AkD3rXE;EgB6DA;EACA;C7D02nBH;;ALzuQC;;AkE7nXA;EACE;EACA;C7D22nBH;;AL5uQC;;AkE3nXA;;EAII;C7D02nBL;;AL/uQC;;AkE/nXA;;;;EAUI;EACA;EACA;C7D62nBL;;ALlvQC;;AkEtnXA;;EAGI;C7D42nBL;;ALrvQC;;AkE7rXI;EACE;EACA;C7Du7nBP;;ALxvQC;;AkEhnXI;EAEE;C7D42nBP;;AL3vQG;;AkEprXF;EACE;EACA;EACA;C7Do7nBH;;ACl3nBK;ENsnXJ;;EkEtgXE;IACE;G7DwwnBH;;ELhwQD;;EkEpgXA;IACE;G7DywnBD;;ELnwQD;;EkEngXA;;;IAGE;G7D2wnBD;;ELtwQD;;EkElgXA;IACE;G7D6wnBD;CACF;;ALzwQD;;AkEt/WE;EAvGA;EACA;EACA;C7D42nBD;;AL3wQD;;AkE1lXI;EACE;C7D02nBL;;AL7wQD;;AkEvlXI;EACE;C7Dy2nBL;;AL/wQD;;AkEplXI;EACE;C7Dw2nBL;;ALjxQD;;AkEhlXM;EACE;C7Ds2nBP;;ALnxQD;;AkEpgXE;EACE;C7D4xnBH;;ALrxQD;;AmEzxXE;EAXA;EACA;EACA;EAEA;EAEA;EACA;EAOE;EACA;C9DujoBH;;ALxxQC;;AmEnyXA;EAQM;EACA;C9DyjoBP;;AL3xQC;;AmEvyXA;EAQM;EACA;C9DgkoBP;;AL9xQC;;AmE3yXA;EAQM;EACA;C9DukoBP;;ALjyQC;;AmE/yXA;EAQM;EACA;C9D8koBP;;ALpyQC;;AmEnzXA;EAQM;EACA;C9DqloBP;;ALtyQD;;AoE3vXE;EA7CA;EACA;C/DoloBD;;ALzyQC;;AsCpsXA;;EAEE;EACA;EAGE;MAAA;EACA;MAAA;UAAA;CjCg/nBL;;AL7yQC;;AsC/rXA;EACE;CjCi/nBH;;ALhzQC;;AoEjzXA;EACE;EAEA;EACA;EACA;EAGE;C/DmmoBL;;ALnzQG;;AoExyXI;EACE;EACA;EACA;EACA;EACA;C/DgmoBT;;ALtzQC;;AoEhyXA;EACE;C/D2loBH;;ALzzQG;;AoEhyXA;EACE;C/D8loBL;;AL5zQC;;AoE5xXA;EAII;EACA;C/D0loBL;;AL9zQD;;AqEvzXE;EA1CA;EACA;EACA;EAEA;EACA;EAiBA;EACA;ChEopoBD;;ALj0QC;;AqEl2XA;EACE;ChEwqoBH;;ALp0QC;;AqEj2XA;EACE;ChE0qoBH;;ALv0QC;;AqEt0XA;EApBA;EACA;ChEuqoBD;;AL10QC;;AqE10XA;EApBA;EACA;ChE8qoBD;;AL70QC;;AqE90XA;EApBA;EACA;ChEqroBD;;ALh1QC;;AqEl1XA;EApBA;EACA;ChE4roBD;;ALn1QC;;AqEt1XA;EApBA;EACA;ChEmsoBD;;ALt1QC;;AqE11XA;EAfA;EACA;EACA;EACA;ChEqsoBD;;ALz1QC;;AqEh2XA;EAfA;EACA;EACA;EACA;ChE8soBD;;AL31QD;;AsEh1XE;EAvDE;EAAA;EAAA;EACA;EAAA;MAAA;UAAA;EACA;MAAA;UAAA;EAGF;EAEA;EACA;EAEA;EACA;UAAA;EAEA;EACA;CjEmuoBD;;AL91QC;;AsEn4XA;EACE;CjEsuoBH;;ALh2QD;;AsE51XE;EAhCE;EAAA;EAAA;EACA;MAAA;UAAA;EAGF;EACA;CjEguoBD;;ALn2QC;;AsE33XA;EACE;CjEmuoBH;;ALr2QD;;AsEl2XE;EAnBE;MAAA;UAAA;EAGF;CjE8toBD;;ALx2QC;;AsEp3XA;EACE;CjEiuoBH;;AL12QD;;AsEp2XE;EACE;CjEmtoBH;;AL52QD;;AuE/5XE;EA5BA;EACA;EAEA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;ClEyyoBD;;AL/2QC;;AuEt7XA;EACE;ClE0yoBH;;ALl3QC;;AuEr7XA;EACE;EACA;ClE4yoBH;;ALp3QD;;AuE96XI;EAEI;ClEsyoBP;;ALt3QD;;AuEl7XI;EAEI;ClE4yoBP;;ALx3QD;;AuEt7XI;EAEI;ClEkzoBP;;AL13QD;;AwEp2XE;EAnFA;EACA;CnEuzoBD;;AL73QC;;AsCh2XA;;EAEE;EACA;EAGE;MAAA;EACA;MAAA;UAAA;CjCguoBL;;ALj4QC;;AsC31XA;EACE;CjCiuoBH;;ALp4QC;;AwEh8XA;EACE;EACA;EACA;EAME;CnEo0oBL;;ALv4QG;;AwE37XE;;EAEE;CnEu0oBP;;AChwoBK;ENs3XA;;EwE18XJ;IAuBM;GnEo0oBL;CACF;;AL/4QC;;AwEh7XA;;EAEE;EACA;EACA;EACA;CnEo0oBH;;ALl5QG;;AwEh7XA;;EACE;CnEw0oBL;;ALr5QC;;AwEz4XA;EA/BA;EACA;EACA;EACA;CnEm0oBD;;ALx5QC;;AwE/4XA;EApBA;EACA;EACA;CnEi0oBD;;AL35QG;;AwEp6XF;EACE;CnEo0oBH;;AL95QC;;AwEv5XA;EANA;EACA;EACA;CnEi0oBD;;ALh6QD;;AwE54XI;;EAEE;EACA;EACA;CnEizoBL;;ALl6QD;;AwE54XI;;EAEE;EACA;EACA;CnEmzoBL;;ALp6QD;;AyEp7XE;EAnGA;EACA;EAEA;EACA;EACA;CpEg8oBD;;ALt6QD;;AyEx7XE;EA9FA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;CpEg8oBD;;ALz6QC;;AyErhYA;EACE;CpEm8oBH;;AL56QC;;AyEnhYE;EnCrCF;EACA;EACA;EAEA;EAEA;EAQE;EACA;EACA;EmCuBE;CpE28oBL;;AL/6QC;;AyEzhYE;EACE;EACA;OAAA;UAAA;CpE68oBL;;ALl7QC;;AyEthYE;EnCjDF;EACA;EACA;EAEA;EAEA;EAGE;EACA;EACA;EmCwCE;EACA;CpEo9oBL;;ALr7QC;;AyE5hYE;EACE;EACA;OAAA;UAAA;CpEs9oBL;;ALx7QC;;AyEzhYE;EnC9DF;EACA;EACA;EAEA;EAEA;EAaE;EACA;EACA;EmC2CE;CpE69oBL;;AL37QC;;AyE/hYE;EACE;EACA;EACA;OAAA;UAAA;CpE+9oBL;;AL97QC;;AyE5hYE;EnC3EF;EACA;EACA;EAEA;EAEA;EAkBE;EACA;EACA;EmCmDE;EACA;CpEs+oBL;;ALj8QC;;AyEliYE;EACE;EACA;EACA;OAAA;UAAA;CpEw+oBL;;ALp8QC;;AyEhiYA;EACE;EACA;CpEy+oBH;;ALv8QC;;AyE/hYA;EACE;EACA;CpE2+oBH;;AL18QC;;AyE9hYA;EACE;EACA;CpE6+oBH;;AL78QC;;AyE7hYA;EACE;EACA;CpE++oBH;;AL/8QD;;A0EviYE;EAxFA;EACA;EACA;CrEolpBD;;ALl9QC;;A0E/nYE;EACE;CrEslpBL;;ALp9QD;;A0E3nYE;EACE;CrEolpBH;;ALt9QD;;A0E3nYE;EACE;CrEslpBH;;ALx9QD;;A0EhjYE;EAlEA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;CrE8kpBD;;AL39QC;;A0EjnYA;EACE;EACA;CrEilpBH;;AL99QC;;A0EhnYA;;EAEE;CrEmlpBH;;ALl+QC;;A0E7mYE;EACE;EACA;EACA;EACA;EACA;CrEolpBL;;ALr+QC;;A0E5mYE;EACE;CrEslpBL;;ALv+QD;;A0ExkYE;EA3BA;EACA;EAEA;EACA;EACA;EAEA;CrE8kpBD;;AL1+QC;;A0ElmYA;EACE;CrEilpBH;;AL5+QD;;A2EloYE;EApFA;EAAA;EAAA;EACA;EAGE;MAAA;CtEsspBH;;AL/+QC;;A2EptYA;EACE;CtEwspBH;;AC3jpBK;EN0kYF;;E2EntYA;IAEI;QAAA;GtEyspBL;CACF;;ALr/QD;;A2E3oYE;EAhEE;MAAA;UAAA;CtEsspBH;;ALx/QC;;A2EvsYA;EACE;CtEospBH;;AL3/QC;;A2EtsYA;EACE;CtEsspBH;;AL9/QC;;A2ErsYA;EACE;CtEwspBH;;AC3lpBK;EN2lYF;;E2ErsYF;IAwBA;IACA;IAGE;QAAA;IACA;GtEkrpBD;;ELpgRG;;E2E3sYJ;IAoCE;GtEirpBD;CACF;;ALxgRC;;A2EvsYE;EACE;MAAA;UAAA;CtEotpBL;;AL1gRD;;A4ExnYE;EArGA;CvE6upBD;;AL5gRD;;A4ExnYE;EApGA;EACA;EACA;EACA;EACA;CvE8upBD;;AL9gRD;;A4E5nYE;EA/FA;EACA;CvE+upBD;;ALjhRC;;A4E3tYE;EACE;EACA;CvEivpBL;;ALnhRD;;A4EjoYE;EAvFA;CvEivpBD;;ALrhRD;;A4EjoYE;EAtFA;EACA;EACA;CvEkvpBD;;ALvhRD;;A4EnoYE;EAnFA;EACA;EACA;EACA;EACA;EAEA;EACA;CvEkvpBD;;ALzhRD;;A4EzoYE;;EtCsDA;EACA;EACA;OAAA;UAAA;EsCjIA;EACA;EACA;CvEqvpBD;;AL7hRC;;AACA;;EsC3nYE;CjC8ppBH;;ALjiRC;;A4EztYA;;;;;;EAGE;CvEkwpBH;;ALxiRD;;A4EppYE;EAhEA;CvEkwpBD;;AL1iRD;;A4EnpYE;EAhEA;EACA;CvEmwpBD;;AL5iRD;;A4EnpYE;EA9DA;EACA;EACA;EACA;CvEmwpBD;;AL/iRC;;AACA;EsCjpYE;CjCqspBH;;ALljRC;;A4ErtYA;EACE;EACA;EACA;EAEA;EACA;CvE2wpBH;;ALrjRG;;A4EptYA;EACE;CvE8wpBL;;ALxjRG;;A4EntYA;EACE;CvEgxpBL;;AL1jRD;;A6E/zYE;;EAnBA;EACA;EACA;EACA;EACA;CxEm5pBD;;AL7jRC;;A6Ep1YA;;;;;;;;EAIE;EACA;EACA;EACA;EACA;CxE05pBH;;ALhkRC;;A6Er1YA;;EAQM;CxEo5pBP;;ALlkRD;;A8EvvYE;EAjFA;EACA;EACA;EACA;CzEg5pBD;;ALrkRC;;AsCnuYA;;EAEE;EACA;EAGE;MAAA;EACA;MAAA;UAAA;CjC2ypBL;;ALzkRC;;AsC9tYA;EACE;CjC4ypBH;;AL3kRD;;A8Eh1YE;EACE;EACA;EACA;CzEg6pBH;;AL7kRD;;A8EnwYE;EAEI;CzEo1pBL;;ALhlRC;;A8EtwYA;EAKM;CzEu1pBP;;ALllRD;;A8E/vYE;EACE;CzEs1pBH;;ALrlRC;;A8ElwYA;EAII;CzEy1pBL;;ALxlRG;;A8ErwYF;;EAQM;CzE41pBP;;AL3lRD;;A8E5vYE;EA3FA;CzEw7pBD;;AL9lRC;;A8Ex1YA;EAEE;EACA;EACA;EACA;EACA;CzE07pBH;;ALjmRG;;AACA;EsC9uYA;CjCo1pBH;;ALpmRG;;A8E11YA;EACE;EACA;CzEm8pBL;;ALvmRG;;A8Ez1YA;;EAEE;EACA;CzEq8pBL;;AL1mRD;;A8E9wYE;EAlEA;EACA;EACA;EACA;EACA;EAAA;EAAA;CzEg8pBD;;AL5mRD;;A8ElxYE;EA3DA;EACA;CzE+7pBD;;AL9mRD;;A8EnxYE;EAvDA;EACA;CzE87pBD;;ALjnRC;;A8E30YA;EACE;CzEi8pBH;;ALnnRD;;A+E75YE;EAzBA;EACA;EACA;EAEA;EACA;EACA;UAAA;EAEA;C1E6iqBD;;ALrnRD;;A+En6YE;EAjBA;EAAA;EAAA;EAAA;EAAA;C1E+iqBD;;ALxnRC;;A+Er7YA;;EAEE;UAAA;C1EkjqBH;;AL5nRC;;A+En7YA;EACE;UAAA;C1EojqBH;;AL9nRD;;AgFxoYE;EA/SA;EACA;EACA;EACA;EAGE;EAAA;EAAA;EACA;MAAA;C3EyjqBH;;ALjoRC;;AACA;EsC3yYE;CjCi7pBH;;ALpoRC;;AgFp7YA;;EAEE;EACA;EACA;EACA;C3E6jqBH;;ALvoRC;;AgFl7YA;;;;EAIE;C3E8jqBH;;AL1oRC;;AgFj7YA;EACE;C3EgkqBH;;AL7oRC;;AgFnqYA;;EApLI;MAAA;EACA;EAAA;MAAA;UAAA;C3E2+pBL;;ALjpRC;;AgFvqYA;EAzKI;MAAA;EACA;EAAA;MAAA;UAAA;C3Eu+pBL;;ALppRC;;AgFp7YE;EACE;MAAA;UAAA;C3E6kqBL;;ALvpRC;;AgF9qYA;EAtJE;MAAA;UAAA;C3Ei+pBH;;AL1pRG;;AgFp0YF;EACE;C3Em+pBH;;AL7pRG;;Ag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ACA;C/EsrrBP;;ALt2RD;;AACA;EsCpvZI;CjC+lrBH;;ALx2RD;;AoFhzZE;EAUI;C/EoprBL;;AL12RD;;AoFpzZE;EAeI;EACA;C/EqprBL;;AL52RD;;AoFtyZI;EACE;C/EuprBL;;AL92RD;;AoF7zZE;EJqFE;EACA;C3E4lrBH;;ALh3RD;;AoFh2ZM;EACE;C/EqtrBP;;ALl3RD;;AoF/1ZQ;EACE;EACA;EACA;C/EstrBT;;ALp3RD;;AoF71ZQ;EACE;EACA;C/EstrBT;;ALt3RD;;AoFh6ZE;EACE;C/E2xrBH;;ALx3RD;;AoFh6ZE;E9C5BA;EACA;EACA;EAEA;EAEA;EAkBE;EACA;EACA;E8CIA;EACA;C/EoyrBH;;AL13RD;;AoFv6ZE;E9ClCA;EACA;EACA;EAEA;EAEA;EAaE;EACA;EACA;CjC2zrBH;;ACptrBK;ENy1ZJ;;EoF36ZI;IACE;IACA;IACA;G/E4yrBL;;EL/3RD;;EoFx6ZI;IACE;IACA;IACA;G/E4yrBL;;ELl4RD;;EoFr6ZI;IACE;IACA;G/E4yrBL;;ELr4RD;;EoFp6ZI;I9C/DJ;IACA;IACA;IAEA;IAEA;IAGE;IACA;IACA;I8CsDI;IACA;IACA;G/EqzrBL;;ELx4RD;;EoFv6ZI;IACE;G/EozrBL;;EL34RD;;EoFr6ZM;IACE;IACA;IACA;G/EqzrBP;;EL94RD;;EoFl6ZM;IACE;IACA;G/EqzrBP;;ELj5RD;;EoFp+ZA;IACE;G/E03rBD;;ELp5RD;;EoFn+ZA;I9C5BA;IACA;IACA;IAEA;IAEA;IAkBE;IACA;IACA;I8CIA;IACA;G/Em4rBD;;ELv5RD;;EoFz+ZA;I9ClCA;IACA;IACA;IAEA;IAEA;IAaE;IACA;IACA;GjC05rBD;CACF;;ACpzrBK;EN25ZJ;;EoF7+ZI;IACE;IACA;IACA;G/E44rBL;;EL75RD;;EoF1+ZI;IACE;IACA;IACA;G/E44rBL;;ELh6RD;;EoFv+ZI;IACE;IACA;G/E44rBL;;ELn6RD;;EoFt+ZI;I9C/DJ;IACA;IACA;IAEA;IAEA;IAGE;IACA;IACA;I8CsDI;IACA;IACA;G/Eq5rBL;;ELt6RD;;EoFz+ZI;IACE;G/Eo5rBL;;ELz6RD;;EoFv+ZM;IACE;IACA;IACA;G/Eq5rBP;;EL56RD;;EoFp+ZM;IACE;IACA;G/Eq5rBP;;EL/6RD;;EoFtiaA;IACE;G/E09rBD;;ELl7RD;;EoFriaA;I9C5BA;IACA;IACA;IAEA;IAEA;IAkBE;IACA;IACA;I8CIA;IACA;G/Em+rBD;;ELr7RD;;EoF3iaA;I9ClCA;IACA;IACA;IAEA;IAEA;IAaE;IACA;IACA;GjC0/rBD;CACF;;ALx7RD;;AoFj/ZE;EA+CM;EACA;EACA;C/Eg4rBP;;AL17RD;;AoFj8ZE;EACE;C/Eg4rBH;;AL77RC;;AoFp8ZA;EAII;C/Em4rBL;;AL/7RD;;AoFh8ZE;EACE;C/Eo4rBH;;ALl8RC;;AoFn8ZA;EAII;EACA;EACA;EACA;EACA;C/Eu4rBL;;ALr8RC;;AoF18ZA;EAaI;EAKE;C/Eo4rBP;;ALx8RC;;AoF98ZA;EAuBI;EACA;C/Eq4rBL;;AL38RC;;AoFl9ZA;EA4BI;EACA;C/Eu4rBL;;AL78RD;;AoFt7ZE;EACE;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;C/Es4rBH;;ALh9RC;;AoFp7ZE;EACE;C/Ey4rBL;;ALn9RC;;AoFjnaA;EACE;C/EyksBH;;ALt9RC;;AoFhnaA;E9C5BA;EACA;EACA;EAEA;EAEA;EAkBE;EACA;EACA;E8CIA;EACA;C/EklsBH;;ALz9RC;;AoFtnaA;E9ClCA;EACA;EACA;EAEA;EAEA;EAaE;EACA;EACA;CjCymsBH;;AL59RC;;AoF59ZA;EAwBM;C/Es6rBP;;AL/9RC;;AoF/9ZA;EA6BI;C/Eu6rBL;;ALl+RC;;AoFl+ZA;EAmCI;C/Eu6rBL;;ALp+RD;;AqF3naE;EACE;ChFomsBH;;ALt+RD;;AqF1naE;EACE;EACA;EACA;EACA;EAEA;EACA;EAEA;EAAA;EAAA;EAEA;EAEA;EACA;EAEA;ChFgmsBH;;ALz+RC;;AqFvoaA;EAmBI;EACA;ChFmmsBL;;AL5+RC;;AqF3oaA;EAwBI;ChFqmsBL;;AL/+RC;;AqF9oaA;EA4BI;ChFumsBL;;ALl/RC;;AqFjpaA;EAgCI;ChFymsBL;;ALp/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A;EAeI;EACA;ClFg+tBL;;AL1zSD;;AuFjqbI;;EAEE;MAAA;UAAA;ClFg+tBL;;AL5zSD;;AuFjqbI;EACE;ClFk+tBL;;AL9zSD;;AuFtpbE;EACE;EACA;EACA;ClFy9tBH;;ALh0SD;;AwFjnbE;EAtFE;EAAA;EAAA;EACA;MAAA;EACA;MAAA;UAAA;EACA;MAAA;UAAA;EAMF;EAkCE;MAAA;CnFu+tBH;;ALn0SC;;AwFpsbA;;EAEE;CnF4guBH;;ALt0SC;;AwF3rbA;EACE;EACA;CnFsguBH;;ALz0SC;;AwFzrbA;;;EACE;EACA;CnFyguBH;;AL90SC;;AwFxrbA;EACE;CnF2guBH;;ALj1SC;;AwFhrbE;;EAEE;MAAA;UAAA;EACA;CnFsguBL;;ACp7tBK;ENimbF;;EwF9obF;IAtBE;QAAA;GnF8/tBD;;ELv1SG;;EwFrqbF;IACE;QAAA;YAAA;IACA;GnFiguBH;;EL11SG;;EwFpqbF;IACE;QAAA;YAAA;IACA;GnFmguBH;CACF;;ACr8tBK;ENwmbF;;EwF1pbF;IA3CE;QAAA;GnFyiuBD;;ELj2SG;;EwFrsbF;;IAEE;QAAA;YAAA;IACA;GnF2iuBH;CACF;;ACr9tBK;ENinbF;;EwFnqbF;IA3CE;QAAA;GnFyjuBD;;ELx2SG;;EwF9sbF;;IAEE;QAAA;YAAA;IACA;GnF2juBH;CACF;;AL32SD;;AwFppbI;EACE;MAAA;UAAA;EACA;CnFoguBL;;AL72SD;;AwFppbI;;EAEE;MAAA;UAAA;CnFsguBL;;AL/2SD;;AyFtybE;EACE;CpF0puBH;;ALj3SD;;AyFtybE;EACE;CpF4puBH;;ALn3SD;;AyFtybE;EACE;EACA;EACA;CpF8puBH;;ALr3SD;;AsCppbE;;EAEE;EACA;EAGE;MAAA;EACA;MAAA;UAAA;CjC4guBL;;ALx3SD;;AsChpbE;EACE;CjC6guBH;;AL13SD;;A0F9vbI;ECnBF;MAAA;UAAA;CtFipuBD;;AL53SD;;A0FlwbI;ECnBF;MAAA;UAAA;CtFupuBD;;AL93SD;;A0FtwbI;ECnBF;MAAA;UAAA;CtF6puBD;;ALh4SD;;A0F1wbI;ECnBF;MAAA;UAAA;CtFmquBD;;ALl4SD;;A0F9wbI;ECnBF;MAAA;CtFyquBD;;ALp4SD;;A0F3wbI;EC1BF;MAAA;UAAA;CtF+quBD;;ALt4SD;;A0F/wbI;EC1BF;MAAA;UAAA;CtFqruBD;;ALx4SD;;A0FnxbI;EC1BF;MAAA;UAAA;CtF2ruBD;;AL14SD;;A0F5wbI;ECpCF;MAAA;UAAA;CtFgsuBD;;AL54SD;;A0F5wbI;ECxBF;MAAA;CtFsruBD;;AL94SD;;A0FpxbI;ECpCF;MAAA;UAAA;CtF4suBD;;ALh5SD;;A0FpxbI;ECxBF;MAAA;CtFksuBD;;ALl5SD;;A0F5xbI;ECpCF;MAAA;UAAA;CtFwtuBD;;ALp5SD;;A0F5xbI;ECxBF;MAAA;CtF8suBD;;ALt5SD;;A0FpybI;ECpCF;MAAA;UAAA;CtFouuBD;;ALx5SD;;A0FpybI;ECxBF;MAAA;CtF0tuBD;;AL15SD;;A0FlybE;EC/CA;MAAA;UAAA;EACA;MAAA;UAAA;EDgDE;MAAA;CrFksuBH;;AL55SD;;A0FhybM;EChCJ;MAAA;UAAA;CtFkuuBD;;AL95SD;;A0FpybM;EChCJ;MAAA;UAAA;CtFwuuBD;;ALh6SD;;A0FxybM;EChCJ;MAAA;UAAA;CtF8uuBD;;ALl6SD;;A0F5ybM;EChCJ;MAAA;UAAA;CtFovuBD;;ALp6SD;;A0FhzbM;EChCJ;MAAA;UAAA;CtF0vuBD;;ALt6SD;;A0FpzbM;EChCJ;MAAA;UAAA;CtFgwuBD;;ACxquBK;ENiwbJ;;E0FzzbI;IChCJ;QAAA;YAAA;GtFuwuBC;;EL36SD;;E0F5zbI;IChCJ;QAAA;YAAA;GtF6wuBC;;EL96SD;;E0F/zbI;IChCJ;QAAA;YAAA;GtFmxuBC;;ELj7SD;;E0Fl0bI;IChCJ;QAAA;YAAA;GtFyxuBC;;ELp7SD;;E0Fr0bI;IChCJ;QAAA;YAAA;GtF+xuBC;;ELv7SD;;E0Fx0bI;IChCJ;QAAA;YAAA;GtFqyuBC;CACF;;AC9suBK;ENqxbJ;;E0F70bI;IChCJ;QAAA;YAAA;GtF6yuBC;;EL77SD;;E0Fh1bI;IChCJ;QAAA;YAAA;GtFmzuBC;;ELh8SD;;E0Fn1bI;IChCJ;QAAA;YAAA;GtFyzuBC;;ELn8SD;;E0Ft1bI;IChCJ;QAAA;YAAA;GtF+zuBC;;ELt8SD;;E0Fz1bI;IChCJ;QAAA;YAAA;GtFq0uBC;;ELz8SD;;E0F51bI;IChCJ;QAAA;YAAA;GtF20uBC;CACF;;AL58SD;;A0F77bE;ECYA;EAAA;EAAA;CtFm4uBD;;AL98SD;;A0F77bE;EACE;MAAA;UAAA;CrFg5uBH;;ALh9SD;;A0F77bE;EACE;MAAA;UAAA;CrFk5uBH;;ALl9SD;;A0F77bE;EACE;MAAA;UAAA;CrFo5uBH;;ALp9SD;;A0F57bI;ECsDF;EAAA;MAAA;UAAA;CtFg2uBD;;ALt9SD;;A0Fh8bI;ECsDF;EAAA;MAAA;UAAA;CtFs2uBD;;ALx9SD;;A0Fp8bI;ECsDF;EAAA;MAAA;UAAA;CtF42uBD;;AL19SD;;A0Fx8bI;ECsDF;EAAA;MAAA;UAAA;CtFk3uBD;;ACpyuBK;ENy0bJ;;E0Fn8bQ;ICfR;IAAA;IAAA;GtFo7uBC;;EL/9SD;;E0Fl8bQ;IACE;QAAA;YAAA;GrFs6uBT;;ELl+SD;;E0Fj8bQ;IACE;QAAA;YAAA;GrFw6uBT;;ELr+SD;;E0Fh8bQ;IACE;QAAA;YAAA;GrF06uBT;;ELx+SD;;E0F97bU;IC2BV;IAAA;QAAA;YAAA;GtFi5uBC;;EL3+SD;;E0Fj8bU;IC2BV;IAAA;QAAA;YAAA;GtFu5uBC;;EL9+SD;;E0Fp8bU;IC2BV;IAAA;QAAA;YAAA;GtF65uBC;;ELj/SD;;E0Fv8bU;IC2BV;IAAA;QAAA;YAAA;GtFm6uBC;CACF;;ACt1uBK;ENm2bJ;;E0F79bQ;ICfR;IAAA;IAAA;GtFs+uBC;;ELv/SD;;E0F59bQ;IACE;QAAA;YAAA;GrFw9uBT;;EL1/SD;;E0F39bQ;IACE;QAAA;YAAA;GrF09uBT;;EL7/SD;;E0F19bQ;IACE;QAAA;YAAA;GrF49uBT;;ELhgTD;;E0Fx9bU;IC2BV;IAAA;QAAA;YAAA;GtFm8uBC;;ELngTD;;E0F39bU;IC2BV;IAAA;QAAA;YAAA;GtFy8uBC;;ELtgTD;;E0F99bU;IC2BV;IAAA;QAAA;YAAA;GtF+8uBC;;ELzgTD;;E0Fj+bU;IC2BV;IAAA;QAAA;YAAA;GtFq9uBC;CACF;;AL5gTD;;A4Fl+bE;EACE;CvFm/uBH;;AL9gTD;;A4Fl+bE;EACE;CvFq/uBH;;AC/4uBK;ENg4bJ;;E4Fv9bE;IA1BA;GvFugvBD;CACF;;AuF3hvBG;E5FygcF;;E4Fx9bE;IAhDE;GvFiivBH;CACF;;ACp6uBK;EN+4bJ;;E4F1+bI;IAzBF;GvF+hvBD;CACF;;ACv6uBK;EN+4bJ;;E4F3+bI;IAjEF;GvF2kvBD;CACF;;AC/6uBK;ENo5bJ;;E4F3+bE;IA1BA;GvFuivBD;CACF;;AuF3jvBG;E5F6hcF;;E4F5+bE;IAhDE;GvFikvBH;CACF;;ACp8uBK;ENm6bJ;;E4F9/bI;IAzBF;GvF+jvBD;CACF;;ACv8uBK;ENm6bJ;;E4F//bI;IAjEF;GvF2mvBD;CACF;;AC/8uBK;ENw6bJ;;E4F//bE;IA1BA;GvFukvBD;CACF;;AuF3lvBG;E5FijcF;;E4FhgcE;IAhDE;GvFimvBH;CACF;;AL9iTD;;A4F7/bE;;;;EtDmHA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CjCi8uBD;;ALjjTD;;A4FpgcE;;;;EtDyHA;EACA;EACA;EACA;EACA;EACA;CjCq8uBD;;ALtjTD;;A4FrgcE;;EAEE;CvFgkvBH;;ACpgvBK;EN48bF;;E4F1gcF;;IAKI;GvFqkvBH;CACF;;AC7gvBK;ENi9bF;;E4F/gcF;;IASI;GvF0kvBH;CACF;;ALhkTD;;A4FvgcE;;EAEE;CvF4kvBH;;AC7hvBK;EN29bF;;E4F5gcF;;IAKI;GvFilvBH;CACF;;ACtivBK;ENg+bF;;E4FjhcF;;IASI;GvFslvBH;CACF;;AF7pvBD;;AAgyBA;;ADv1BA;;;;;GG+tvBG;;AHvtvBH;;A2FdA;;;;;GxF8uvBG;;AwFluvBH;;ACRA;;;;;;;;;;;;;EzF2vvBE;;AwFhvvBF;;AE6DA;;AAyBA;;AA6BA;;AA8BA;;AAmDA;;AC/MA;;AhGircA;;AgGhrcA;EJ6CI;CvFiuvBH;;ACxmvBK;EN+gcJ;;EgGrrcF;IJqDI;GvFguvBD;CACF;;ACrnvBK;ENyhcJ;;EgG1rcF;IJ6CI;GvFgvvBD;CACF;;ACxnvBK;ENyhcJ;;EgG/rcF;IJqDI;GvFgvvBD;CACF;;ACrovBK;ENmicJ;;EgGpscF;IJ6CI;GvFgwvBD;CACF;;ACxovBK;ENmicJ;;EgGzscF;IJqDI;GvFgwvBD;CACF;;ALzmTD;;AsCzicE;;EAEE;EACA;EAGE;MAAA;EACA;MAAA;UAAA;CjCqpvBL;;AL5mTD;;AsCricE;EACE;CjCspvBH;;AL9mTD;;AiGntcA;E3D+OE;EACA;EACA;EACA;OAAA;UAAA;CjCwlvBD;;ALhnTD;;AiGrtcA;EACE;EACA;C5F00vBD;;ALlnTD;;AiGptcA;EACE;EACA;C5F20vBD;;ALpnTD;;AiGntcA;EACE;EACA;C5F40vBD;;ALtnTD;;AiGltcA;EACE;EACA;C5F60vBD;;ALxnTD;;AiGjtcA;EACE;C5F80vBD;;AL1nTD;;AiGhtcA;E3DqME;EACA;EACA;OAAA;UAAA;CjC2ovBD;;ACntvBK;ENwlcJ;;EiGltcA;I3DwLA;IACA;IACA;SAAA;YAAA;GjC4pvBC;;EL/nTD;;EiGntcA;I3D4LA;IACA;IACA;SAAA;YAAA;GjC4pvBC;CACF;;ALloTD;;AiGntcA;E3D8KE;EACA;EACA;OAAA;UAAA;CjC6qvBD;;AClvvBK;EN+mcJ;;EiGrtcA;I3DyKA;IACA;IACA;SAAA;YAAA;GjCsrvBC;;ELvoTD;;EiGttcA;I3D6KA;IACA;IACA;SAAA;YAAA;GjCsrvBC;CACF;;ACpwvBK;EN2ncJ;;EiGvtcA;I3D+JA;IACA;IACA;SAAA;YAAA;GjCwsvBC;;EL7oTD;;EiGxtcA;I3DmKA;IACA;IACA;SAAA;YAAA;GjCwsvBC;CACF;;ALhpTD;;AiGxtcA;EC9CE;EAEE;ED8CF;C5F82vBD;;ALlpTD;;AiGztcA;ECnDE;EAQE;ED6CF;C5Fi3vBD;;ACtyvBK;ENmpcJ;;EiG1tcA;ICzDA;IAEE;IDyDA;G5Fo3vBD;;ELvpTD;;EiG1tcA;IC9DA;IAQE;IDwDA;G5Fu3vBD;CACF;;AL1pTD;;AiGttcI;EACE;C5Fq3vBL;;AL5pTD;;AiG1tcI;EACE;C5F23vBL;;AL9pTD;;AiG9tcI;EACE;C5Fi4vBL;;ALhqTD;;AiGlucI;EACE;C5Fu4vBL;;ALlqTD;;AiGtucI;EACE;C5F64vBL;;ALpqTD;;AiG1ucI;EACE;C5Fm5vBL;;AC51vBK;ENurcJ;;EiG/ucE;IACE;G5F05vBH;;ELzqTD;;EiGlvcE;IACE;G5Fg6vBH;;EL5qTD;;EiGrvcE;IACE;G5Fs6vBH;;EL/qTD;;EiGxvcE;IACE;G5F46vBH;;ELlrTD;;EiG3vcE;IACE;G5Fk7vBH;;ELrrTD;;EiG9vcE;IACE;G5Fw7vBH;CACF;;ACl4vBK;EN2scJ;;EiGnwcE;IACE;G5Fg8vBH;;EL3rTD;;EiGtwcE;IACE;G5Fs8vBH;;EL9rTD;;EiGzwcE;IACE;G5F48vBH;;ELjsTD;;EiG5wcE;IACE;G5Fk9vBH;;ELpsTD;;EiG/wcE;IACE;G5Fw9vBH;;ELvsTD;;EiGlxcE;IACE;G5F89vBH;CACF;;AL1sTD;;AiG/wcA;EEjHE;EAAA;EAAA;EACA;EACA;C9FglwBD;;AL5sTD;;AiGhxcA;EACE;C5Fi+vBD;;AL9sTD;;AiG/wcA;EACE;C5Fk+vBD;;ALhtTD;;AiG9wcA;;EAGI;C5Fk+vBH;;ALltTD;;AiGnxcA;;EAOI;C5Fq+vBH;;ALptTD;;AiGxxcA;;EAWI;C5Fw+vBH;;ALttTD;;AiG7xcA;;EAeI;C5F2+vBH;;ALxtTD;;AiGlycA;;EAmBI;C5F8+vBH;;AL1tTD;;AiGvycA;;EAuBI;C5Fi/vBH;;AL5tTD;;AiG5ycA;;EA4BI;C5Fm/vBH;;AL9tTD;;AiGjzcA;;EAgCI;C5Fs/vBH;;ALhuTD;;AiGtzcA;;EAqCI;C5Fw/vBH;;ALluTD;;AiG3zcA;;EA0CI;C5F0/vBH;;ALpuTD;;AiGlxcA;EACE;C5F2/vBD;;ALtuTD;;AiGlxcA;EACE;C5F6/vBD;;ALxuTD;;AiGlxcA;EACE;C5F+/vBD;;A+F1rwBD;EAEE;EACA;EAIA;EACA;C/FyrwBD;;AL3uTD;;AACA;;EqGl9cE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;ChGiswBD;;AL9uTC;;AACA;;EqG/8cI;ChGmswBL;;ALjvTC;;AACA;;EqGn9cI;ChG0swBL;;ALpvTC;;AACA;;EqGv9cI;ChGitwBL;;ALvvTC;;AACA;;EqG39cI;ChGwtwBL;;AL1vTC;;AACA;;EqG/9cI;ChG+twBL;;AiGxvwBD;gCjG2vwBgC;;AiGxvwBhC;;AAEA;;;;GjG8vwBG;;AiGxvwBH;;AtG0/cA;;AsGz/cA;EAEE;EACA;EACA;CjG6vwBD;;ALlwTD;;AsGx/cA;EAEE;CjG8vwBD;;ALpwTD;;AsGv/cA;EAEE;CjG+vwBD;;ALtwTD;;AsGt/cA;EAEE;CjGgwwBD;;ALxwTD;;AsGr/cA;EAEE;CjGiwwBD;;AL1wTD;;AsGp/cA;EAEE;EACA;CjGkwwBD;;AL5wTD;;AsGn/cA;EAEE;EACA;EACA;CjGmwwBD;;AL/wTC;;AsGx/cF;EAQI;CjGqwwBH;;ALjxTD;;AsGh/cA;EAEE;EACA;EACA;EACA;EACA;CjGqwwBD;;ALpxTC;;AsGv/cF;EAUI;CjGuwwBH;;ALtxTD;;AsG7+cA;EAEE;EACA;EACA;CjGuwwBD;;ALxxTD;;AsG5+cA;EAEE;CjGwwwBD;;AL1xTD;;AsG3+cA;EAGI;EACA;EACA;CjGwwwBH;;AL5xTD;;AsGj/cA;EASI;CjG0wwBH;;AL9xTD;;AsGx+cA;EAEE;OAAA;UAAA;CjG0wwBD;;ALhyTD;;AsGv+cA;EACE;CjG4wwBD;;AiGzwwBD;EACE;IAEE;YAAA;GjG2wwBD;;EiGxwwBD;IAEE;YAAA;GjG0wwBD;CACF;;AiGnxwBD;EACE;IAEE;OAAA;GjG2wwBD;;EiGxwwBD;IAEE;OAAA;GjG0wwBD;CACF;;AiGnxwBD;EACE;IAEE;SAAA;YAAA;GjG2wwBD;;EiGxwwBD;IAEE;SAAA;YAAA;GjG0wwBD;CACF;;ALtyTD;;AsGj+cA;EACE;EACA;EACA;OAAA;UAAA;CjG4wwBD;;ALxyTD;;AsGj+cA;EACE;EACA;EACA;OAAA;UAAA;CjG8wwBD;;AL1yTD;;AsGj+cA;EACE;EACA;EACA;OAAA;UAAA;CjGgxwBD;;AL5yTD;;AsGj+cA;EACE;EACA;EACA;OAAA;UAAA;CjGkxwBD;;AL9yTD;;AsGj+cA;EACE;EACA;EACA;OAAA;UAAA;CjGoxwBD;;ALhzTD;;AsGj+cA;EAEE;EACA;EACA;EACA;EACA;EACA;CjGqxwBD;;ALlzTD;;AsGh+cA;;EAGE;EACA;EACA;EACA;CjGsxwBD;;ALpzTD;;AsG/9cA;EAEE;CjGuxwBD;;ALtzTD;;AsG99cA;EAEE;CjGwxwBD;;ALxzTD;;AsG79cA;EAEE;CjGyxwBD;;AiGtxwBD;;AtG69cA;;AsG59cA;EAEE;CjG2xwBD;;AkGp9wBD;;AvGwpdA;;AuGvpdA;EAEI;ClGy9wBH;;ALh0TD;;AuGtpdA;EAEI;ClG09wBH;;ALl0TD;;AuGrpdA;EAEI;ClG29wBH;;ALp0TD;;AuGppdA;EAEI;ClG49wBH;;ALt0TD;;AuGnpdA;EAEI;ClG69wBH;;ALx0TD;;AuGlpdA;EAEI;ClG89wBH;;AL10TD;;AuGjpdA;EAEI;ClG+9wBH;;AL50TD;;AuGhpdA;EAEI;ClGg+wBH;;AL90TD;;AuG/odA;EAEI;ClGi+wBH;;ALh1TD;;AuG9odA;EAEI;ClGk+wBH;;ALl1TD;;AuG7odA;EAEI;ClGm+wBH;;ALp1TD;;AuG5odA;EAEI;ClGo+wBH;;ALt1TD;;AuG3odA;EAEI;ClGq+wBH;;ALx1TD;;AuG1odA;EAEI;ClGs+wBH;;AL11TD;;AuGzodA;EAEI;ClGu+wBH;;AL51TD;;AuGxodA;EAEI;ClGw+wBH;;AL91TD;;AuGvodA;EAEI;ClGy+wBH;;ALh2TD;;AuGtodA;EAEI;ClG0+wBH;;ALl2TD;;AuGrodA;EAEI;ClG2+wBH;;ALp2TD;;AuGpodA;EAEI;ClG4+wBH;;ALt2TD;;AuGnodA;EAEI;ClG6+wBH;;ALx2TD;;AuGlodA;EAEI;ClG8+wBH;;AL12TD;;AuGjodA;EAEI;ClG++wBH;;AL52TD;;AuGhodA;EAEI;ClGg/wBH;;AL92TD;;AuG/ndA;EAEI;ClGi/wBH;;ALh3TD;;AuG9ndA;EAEI;ClGk/wBH;;ALl3TD;;AuG7ndA;EAEI;ClGm/wBH;;ALp3TD;;AuG5ndA;EAEI;ClGo/wBH;;ALt3TD;;AuG3ndA;EAEI;ClGq/wBH;;ALx3TD;;AuG1ndA;EAEI;ClGs/wBH;;AL13TD;;AuGzndA;EAEI;ClGu/wBH;;AL53TD;;AuGxndA;EAEI;ClGw/wBH;;AL93TD;;AuGvndA;EAEI;ClGy/wBH;;ALh4TD;;AuGtndA;EAEI;ClG0/wBH;;ALl4TD;;AuGrndA;EAEI;ClG2/wBH;;ALp4TD;;AuGpndA;EAEI;ClG4/wBH;;ALt4TD;;AuGnndA;EAEI;ClG6/wBH;;ALx4TD;;AuGlndA;EAEI;ClG8/wBH;;AL14TD;;AuGjndA;EAEI;ClG+/wBH;;AL54TD;;AuGhndA;EAEI;ClGggxBH;;AL94TD;;AuG/mdA;EAEI;ClGigxBH;;ALh5TD;;AuG9mdA;EAEI;ClGkgxBH;;ALl5TD;;AuG7mdA;EAEI;ClGmgxBH;;ALp5TD;;AuG5mdA;EAEI;ClGogxBH;;ALt5TD;;AuG3mdA;EAEI;ClGqgxBH;;ALx5TD;;AuG1mdA;EAEI;ClGsgxBH;;AL15TD;;AuGzmdA;EAEI;ClGugxBH;;AL55TD;;AuGxmdA;EAEI;ClGwgxBH;;AL95TD;;AuGvmdA;EAEI;ClGygxBH;;ALh6TD;;AuGtmdA;EAEI;ClG0gxBH;;ALl6TD;;AuGrmdA;EAEI;ClG2gxBH;;ALp6TD;;AuGpmdA;EAEI;ClG4gxBH;;ALt6TD;;AuGnmdA;EAEI;ClG6gxBH;;ALx6TD;;AuGlmdA;EAEI;ClG8gxBH;;AL16TD;;AuGjmdA;EAEI;ClG+gxBH;;AL56TD;;AuGhmdA;EAEI;ClGghxBH;;AL96TD;;AuG/ldA;EAEI;ClGihxBH;;ALh7TD;;AuG9ldA;EAEI;ClGkhxBH;;ALl7TD;;AuG7ldA;EAEI;ClGmhxBH;;ALp7TD;;AuG5ldA;EAEI;ClGohxBH;;ALt7TD;;AuG3ldA;EAEI;ClGqhxBH;;ALx7TD;;AuG1ldA;EAEI;ClGshxBH;;AL17TD;;AuGzldA;EAEI;ClGuhxBH;;AL57TD;;AuGxldA;EAEI;ClGwhxBH;;AL97TD;;AuGvldA;EAEI;ClGyhxBH;;ALh8TD;;AuGtldA;EAEI;ClG0hxBH;;ALl8TD;;AuGrldA;EAEI;ClG2hxBH;;ALp8TD;;AuGpldA;EAEI;ClG4hxBH;;ALt8TD;;AuGnldA;EAEI;ClG6hxBH;;ALx8TD;;AuGlldA;EAEI;ClG8hxBH;;AL18TD;;AuGjldA;EAEI;ClG+hxBH;;AL58TD;;AuGhldA;EAEI;ClGgixBH;;AL98TD;;AuG/kdA;EAEI;ClGiixBH;;ALh9TD;;AuG9kdA;EAEI;ClGkixBH;;ALl9TD;;AuG7kdA;EAEI;ClGmixBH;;ALp9TD;;AuG5kdA;EAEI;ClGoixBH;;ALt9TD;;AuG3kdA;EAEI;ClGqixBH;;ALx9TD;;AuG1kdA;EAEI;ClGsixBH;;AL19TD;;AuGzkdA;EAEI;ClGuixBH;;AL59TD;;AuGxkdA;EAEI;ClGwixBH;;AL99TD;;AuGvkdA;EAEI;ClGyixBH;;ALh+TD;;AuGtkdA;EAEI;ClG0ixBH;;ALl+TD;;AuGrkdA;EAEI;ClG2ixBH;;ALp+TD;;AuGpkdA;EAEI;ClG4ixBH;;ALt+TD;;AuGnkdA;EAEI;ClG6ixBH;;ALx+TD;;AuGlkdA;EAEI;ClG8ixBH;;AL1+TD;;AuGjkdA;EAEI;ClG+ixBH;;AL5+TD;;AuGhkdA;EAEI;ClGgjxBH;;AL9+TD;;AuG/jdA;EAEI;ClGijxBH;;ALh/TD;;AuG9jdA;EAEI;ClGkjxBH;;ALl/TD;;AuG7jdA;EAEI;ClGmjxBH;;ALp/TD;;AuG5jdA;EAEI;ClGojxBH;;ALt/TD;;AuG3jdA;EAEI;ClGqjxBH;;ALx/TD;;AuG1jdA;EAEI;ClGsjxBH;;AL1/TD;;AuGzjdA;EAEI;ClGujxBH;;AL5/TD;;AuGxjdA;EAEI;ClGwjxBH;;AL9/TD;;AuGvjdA;EAEI;ClGyjxBH;;ALhgUD;;AuGtjdA;EAEI;ClG0jxBH;;ALlgUD;;AuGrjdA;EAEI;ClG2jxBH;;ALpgUD;;AuGpjdA;EAEI;ClG4jxBH;;ALtgUD;;AuGnjdA;EAEI;ClG6jxBH;;ALxgUD;;AuGljdA;EAEI;ClG8jxBH;;AL1gUD;;AuGjjdA;EAEI;ClG+jxBH;;AL5gUD;;AuGhjdA;EAEI;ClGgkxBH;;AL9gUD;;AuG/idA;EAEI;ClGikxBH;;ALhhUD;;AuG9idA;EAEI;ClGkkxBH;;ALlhUD;;AuG7idA;EAEI;ClGmkxBH;;ALphUD;;AuG5idA;EAEI;ClGokxBH;;ALthUD;;AuG3idA;EAEI;ClGqkxBH;;ALxhUD;;AuG1idA;EAEI;ClGskxBH;;AL1hUD;;AuGzidA;EAEI;ClGukxBH;;AL5hUD;;AuGxidA;EAEI;ClGwkxBH;;AL9hUD;;AuGvidA;EAEI;ClGykxBH;;ALhiUD;;AuGtidA;EAEI;ClG0kxBH;;ALliUD;;AuGridA;EAEI;ClG2kxBH;;ALpiUD;;AuGpidA;EAEI;ClG4kxBH;;ALtiUD;;AuGnidA;EAEI;ClG6kxBH;;ALxiUD;;AuGlidA;EAEI;ClG8kxBH;;AL1iUD;;AuGjidA;EAEI;ClG+kxBH;;AL5iUD;;AuGhidA;EAEI;ClGglxBH;;AL9iUD;;AuG/hdA;EAEI;ClGilxBH;;ALhjUD;;AuG9hdA;EAEI;ClGklxBH;;ALljUD;;AuG7hdA;EAEI;ClGmlxBH;;ALpjUD;;AuG5hdA;EAEI;ClGolxBH;;ALtjUD;;AuG3hdA;EAEI;ClGqlxBH;;ALxjUD;;AuG1hdA;EAEI;ClGslxBH;;AL1jUD;;AuGzhdA;EAEI;ClGulxBH;;AL5jUD;;AuGxhdA;EAEI;ClGwlxBH;;AL9jUD;;AuGvhdA;EAEI;ClGylxBH;;ALhkUD;;AuGthdA;EAEI;ClG0lxBH;;ALlkUD;;AuGrhdA;EAEI;ClG2lxBH;;ALpkUD;;AuGphdA;EAEI;ClG4lxBH;;ALtkUD;;AuGnhdA;EAEI;ClG6lxBH;;ALxkUD;;AuGlhdA;EAEI;ClG8lxBH;;AL1kUD;;AuGjhdA;EAEI;ClG+lxBH;;AL5kUD;;AuGhhdA;EAEI;ClGgmxBH;;AL9kUD;;AuG/gdA;EAEI;ClGimxBH;;ALhlUD;;AuG9gdA;EAEI;ClGkmxBH;;ALllUD;;AuG7gdA;EAEI;ClGmmxBH;;ALplUD;;AuG5gdA;EAEI;ClGomxBH;;ALtlUD;;AuG3gdA;EAEI;ClGqmxBH;;ALxlUD;;AuG1gdA;EAEI;ClGsmxBH;;AL1lUD;;AuGzgdA;EAEI;ClGumxBH;;AL5lUD;;AuGxgdA;EAEI;ClGwmxBH;;AL9lUD;;AuGvgdA;EAEI;ClGymxBH;;ALhmUD;;AuGtgdA;EAEI;ClG0mxBH;;ALlmUD;;AuGrgdA;EAEI;ClG2mxBH;;ALpmUD;;AuGpgdA;EAEI;ClG4mxBH;;ALtmUD;;AuGngdA;EAEI;ClG6mxBH;;ALxmUD;;AuGlgdA;EAEI;ClG8mxBH;;AL1mUD;;AuGjgdA;EAEI;ClG+mxBH;;AL5mUD;;AuGhgdA;EAEI;ClGgnxBH;;AL9mUD;;AuG//cA;EAEI;ClGinxBH;;ALhnUD;;AuG9/cA;EAEI;ClGknxBH;;ALlnUD;;AuG7/cA;EAEI;ClGmnxBH;;ALpnUD;;AuG5/cA;EAEI;ClGonxBH;;ALtnUD;;AuG3/cA;EAEI;ClGqnxBH;;ALxnUD;;AuG1/cA;EAEI;ClGsnxBH;;AL1nUD;;AuGz/cA;EAEI;ClGunxBH;;AL5nUD;;AuGx/cA;EAEI;ClGwnxBH;;AL9nUD;;AuGv/cA;EAEI;ClGynxBH;;ALhoUD;;AuGt/cA;EAEI;ClG0nxBH;;ALloUD;;AuGr/cA;EAEI;ClG2nxBH;;ALpoUD;;AuGp/cA;EAEI;ClG4nxBH;;ALtoUD;;AuGn/cA;EAEI;ClG6nxBH;;ALxoUD;;AuGl/cA;EAEI;ClG8nxBH;;AL1oUD;;AuGj/cA;EAEI;ClG+nxBH;;AL5oUD;;AuGh/cA;EAEI;ClGgoxBH;;AL9oUD;;AuG/+cA;EAEI;ClGioxBH;;ALhpUD;;AuG9+cA;EAEI;ClGkoxBH;;ALlpUD;;AuG7+cA;EAEI;ClGmoxBH;;ALppUD;;AuG5+cA;EAEI;ClGooxBH;;ALtpUD;;AuG3+cA;EAEI;ClGqoxBH;;ALxpUD;;AuG1+cA;EAEI;ClGsoxBH;;AL1pUD;;AuGz+cA;EAEI;ClGuoxBH;;AL5pUD;;AuGx+cA;EAEI;ClGwoxBH;;AL9pUD;;AuGv+cA;EAEI;ClGyoxBH;;ALhqUD;;AuGt+cA;EAEI;ClG0oxBH;;ALlqUD;;AuGr+cA;EAEI;ClG2oxBH;;ALpqUD;;AuGp+cA;EAEI;ClG4oxBH;;ALtqUD;;AuGn+cA;EAEI;ClG6oxBH;;ALxqUD;;AuGl+cA;EAEI;ClG8oxBH;;AL1qUD;;AuGj+cA;EAEI;ClG+oxBH;;AL5qUD;;AuGh+cA;EAEI;ClGgpxBH;;AL9qUD;;AuG/9cA;EAEI;ClGipxBH;;ALhrUD;;AuG99cA;EAEI;ClGkpxBH;;ALlrUD;;AuG79cA;EAEI;ClGmpxBH;;ALprUD;;AuG59cA;EAEI;ClGopxBH;;ALtrUD;;AuG39cA;EAEI;ClGqpxBH;;ALxrUD;;AuG19cA;EAEI;ClGspxBH;;AL1rUD;;AuGz9cA;EAEI;ClGupxBH;;AL5rUD;;AuGx9cA;EAEI;ClGwpxBH;;AL9rUD;;AuGv9cA;EAEI;ClGypxBH;;ALhsUD;;AuGt9cA;EAEI;ClG0pxBH;;ALlsUD;;AuGr9cA;EAEI;ClG2pxBH;;ALpsUD;;AuGp9cA;EAEI;ClG4pxBH;;ALtsUD;;AuGn9cA;EAEI;ClG6pxBH;;ALxsUD;;AuGl9cA;EAEI;ClG8pxBH;;AL1sUD;;AuGj9cA;EAEI;ClG+pxBH;;AL5sUD;;AuGh9cA;EAEI;ClGgqxBH;;AL9sUD;;AuG/8cA;EAEI;ClGiqxBH;;ALhtUD;;AuG98cA;EAEI;ClGkqxBH;;ALltUD;;AuG78cA;EAEI;ClGmqxBH;;ALptUD;;AuG58cA;EAEI;ClGoqxBH;;ALttUD;;AuG38cA;EAEI;ClGqqxBH;;ALxtUD;;AuG18cA;EAEI;ClGsqxBH;;AL1tUD;;AuGz8cA;EAEI;ClGuqxBH;;AL5tUD;;AuGx8cA;EAEI;ClGwqxBH;;AL9tUD;;AuGv8cA;EAEI;ClGyqxBH;;ALhuUD;;AuGt8cA;EAEI;ClG0qxBH;;ALluUD;;AuGr8cA;EAEI;ClG2qxBH;;ALpuUD;;AuGp8cA;EAEI;ClG4qxBH;;ALtuUD;;AuGn8cA;EAEI;ClG6qxBH;;ALxuUD;;AuGl8cA;EAEI;ClG8qxBH;;AL1uUD;;AuGj8cA;EAEI;ClG+qxBH;;AL5uUD;;AuGh8cA;EAEI;ClGgrxBH;;AL9uUD;;AuG/7cA;EAEI;ClGirxBH;;ALhvUD;;AuG97cA;EAEI;ClGkrxBH;;ALlvUD;;AuG77cA;EAEI;ClGmrxBH;;ALpvUD;;AuG57cA;EAEI;ClGorxBH;;ALtvUD;;AuG37cA;EAEI;ClGqrxBH;;ALxvUD;;AuG17cA;EAEI;ClGsrxBH;;AL1vUD;;AuGz7cA;EAEI;ClGurxBH;;AL5vUD;;AuGx7cA;EAEI;ClGwrxBH;;AL9vUD;;AuGv7cA;EAEI;ClGyrxBH;;ALhwUD;;AuGt7cA;EAEI;ClG0rxBH;;ALlwUD;;AuGr7cA;EAEI;ClG2rxBH;;ALpwUD;;AuGp7cA;EAEI;ClG4rxBH;;ALtwUD;;AuGn7cA;EAEI;ClG6rxBH;;ALxwUD;;AuGl7cA;EAEI;ClG8rxBH;;AL1wUD;;AuGj7cA;EAEI;ClG+rxBH;;AL5wUD;;AuGh7cA;EAEI;ClGgsxBH;;AL9wUD;;AuG/6cA;EAEI;ClGisxBH;;ALhxUD;;AuG96cA;EAEI;ClGksxBH;;ALlxUD;;AuG76cA;EAEI;ClGmsxBH;;ALpxUD;;AuG56cA;EAEI;ClGosxBH;;ALtxUD;;AuG36cA;EAEI;ClGqsxBH;;ALxxUD;;AuG16cA;EAEI;ClGssxBH;;AL1xUD;;AuGz6cA;EAEI;ClGusxBH;;AL5xUD;;AuGx6cA;EAEI;ClGwsxBH;;AL9xUD;;AuGv6cA;EAEI;ClGysxBH;;ALhyUD;;AuGt6cA;EAEI;ClG0sxBH;;ALlyUD;;AuGr6cA;EAEI;ClG2sxBH;;ALpyUD;;AuGp6cA;EAEI;ClG4sxBH;;ALtyUD;;AuGn6cA;EAEI;ClG6sxBH;;ALxyUD;;AuGl6cA;EAEI;ClG8sxBH;;AL1yUD;;AuGj6cA;EAEI;ClG+sxBH;;AL5yUD;;AuGh6cA;EAEI;ClGgtxBH;;AL9yUD;;AuG/5cA;EAEI;ClGitxBH;;ALhzUD;;AuG95cA;EAEI;ClGktxBH;;ALlzUD;;AuG75cA;EAEI;ClGmtxBH;;ALpzUD;;AuG55cA;EAEI;ClGotxBH;;ALtzUD;;AuG35cA;EAEI;ClGqtxBH;;ALxzUD;;AuG15cA;EAEI;ClGstxBH;;AL1zUD;;AuGz5cA;EAEI;ClGutxBH;;AL5zUD;;AuGx5cA;EAEI;ClGwtxBH;;AL9zUD;;AuGv5cA;EAEI;ClGytxBH;;ALh0UD;;AuGt5cA;EAEI;ClG0txBH;;ALl0UD;;AuGr5cA;EAEI;ClG2txBH;;ALp0UD;;AuGp5cA;EAEI;ClG4txBH;;ALt0UD;;AuGn5cA;EAEI;ClG6txBH;;ALx0UD;;AuGl5cA;EAEI;ClG8txBH;;AL10UD;;AuGj5cA;EAEI;ClG+txBH;;AL50UD;;AuGh5cA;EAEI;ClGguxBH;;AL90UD;;AuG74cA;EAEI;ClG+txBH;;ALh1UD;;AuG54cA;EAEI;ClGguxBH;;AkG7txBD;;AvG44cA;;AwG5rfA;E7CoFE;EACA;EACA;EAUE;EAGF;EACA;EACA;EAAA;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EAsEA;EACA;E6CjKA;EACA;CnGmh0BD;;ALt1UC;;AACA;EsC3gfE;CjCs2zBH;;ALz1UC;;A2DvjfA;;;EAGE;CtDq5zBH;;AL91UC;;A2DljfE;;;;;;EAEE;CtDy5zBL;;ALt2UC;;A2DpifA;;EACE;EACA;CtDg5zBH;;AL12UG;;A2DrifA;;;;EAEE;EACA;CtDs5zBL;;ALh3UC;;AwGhufF;EAMM;CnGgl0BL;;ALn3UC;;AwGnufF;EAMM;CnGsl0BL;;ALt3UC;;AwGtufF;EAMM;CnG4l0BL;;ALz3UC;;AwGzufF;E7CiLE;EACA;CtDu7zBD;;AL53UG;;A2DzjfF;;EACE;EACA;CtD27zBH;;ALh4UK;;A2D1jfF;;;;EAEE;EACA;CtDi8zBL;;ALt4UC;;AwGrvfF;E7CiLE;EACA;CtDg9zBD;;ALz4UG;;A2DrkfF;;EACE;EACA;CtDo9zBH;;AL74UK;;A2DtkfF;;;;EAEE;EACA;CtD09zBL;;ALn5UC;;AwGjwfF;E7CiLE;EACA;CtDy+zBD;;ALt5UG;;A2DjlfF;;EACE;EACA;CtD6+zBH;;AL15UK;;A2DllfF;;;;EAEE;EACA;CtDm/zBL;;ALh6UC;;AwG7wfF;E7CiLE;EACA;CtDkg0BD;;ALn6UG;;A2D7lfF;;EACE;EACA;CtDsg0BH;;ALv6UK;;A2D9lfF;;;;EAEE;EACA;CtD4g0BL;;AL76UC;;AwGzxfF;E7CiLE;EACA;CtD2h0BD;;ALh7UG;;A2DzmfF;;EACE;EACA;CtD+h0BH;;ALp7UK;;A2D1mfF;;;;EAEE;EACA;CtDqi0BL;;AL17UC;;A2D1ofA;;;E6CpIE;EACA;CnGgt0BH;;AL/7UG;;AwGzyfJ;;;;;;EA4BM;EACA;CnGut0BL;;AoGrv0BD;;AzGgzfA;;AyG3yfA;EACE;CpGuv0BD;;ALz8UD;;AyGvyfA;E9CwEE;EACA;EACA;EAUE;EAGF;EACA;EACA;EAAA;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EAqCA;EACA;CtD+n0BD;;AL58UC;;AACA;EsChofE;CjCil0BH;;AL/8UC;;A2DprfA;;EACE;EACA;CtDyo0BH;;ALl9UD;;A0G10fA;;EAGI;CrGgy0BH;;ALr9UC;;A0G90fF;;EAMM;CrGoy0BL;;AqG/x0BD;;A1Gy0fA;;A0Gx0fA;;;;;;;;;;;;EAOI;EACA;CrG0y0BH;;AL19UD;;A0Gx1fA;;;;EAcM;EACA;CrG6y0BL;;AL59UD;;A0Gh2fA;;;;;;;;;;;;EAsBI;CrGuz0BH;;AL/9UC;;A0G92fF;;;;;;;;;;;;EAyBM;CrGq00BL;;ALj+UD;;A0G73fA;;;;EAgCM;CrGu00BL;;ALn+UD;;A0Gp4fA;;;;EAqCQ;CrG200BP;;ALr+UD;;A0G34fA;;;;;;;;EA8CQ;CrG+00BP;;ALv+UD;;A0Gt5fA;;;;;;;;EAoDQ;CrGs10BP;;ALz+UD;;A0Gj6fA;;;;;;;;;;;;EA4DM;CrG+10BL;;AL7+UD;;A0G96fA;;;;;;;;;;;;EAkEM;CrG020BL;;ALj/UD;;A0G37fA;;;;;;;;;;;;EAwEM;CrGq30BL;;AqGj30BD;;A1G63fA;;A2Gr9fA;EACE;CtGg90BD;;ALx/UD;;A2Gr9fA;EhD8EE;EACA;EACA;EAUE;EAGF;EACA;EACA;EAAA;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EAqCA;EACA;CtDs10BD;;AL3/UC;;AACA;EsCxyfE;CjCwy0BH;;AL9/UC;;A2D51fA;;EACE;EACA;CtDg20BH;;ALjgVD;;AoFh5fM;EwBhGM;EACA;EACA;EACA;EACA;EACA;EACA;CvGu/0BX;;ALngVD;;A4GhggBA;;EAqBQ;ECpBN;EAAA;EAAA;CxG0g1BD;;ALvgVC;;A4GpggBF;;EA0BU;CvGw/0BT;;AL1gVD;;A4GxggBA;EAgCM;EACA;UAAA;CvGw/0BL;;AL5gVD;;A8G1/fE;E1DmBI;EAAA;ECvBJ;EACA;EACA;ChDkh1BD;;AL9gVD;;A8Gl/fE;E1DGI;EAAA;ECvBJ;EACA;EACA;ChD4h1BD;;ALhhVD;;A8G1+fE;EzDpBA;EAAA;EAAA;EACA;EAAA;MAAA;UAAA;EG6BM;EAAA;EAAA;EAAA;CnD2/0BP;;ALnhVC;;AwDr+fI;EAEI;EAAA;CnD6/0BT;;ALthVC;;AwDz+fI;EAEI;EAAA;CnDog1BT;;ALxhVD;;A8Gr/fE;;ExD8BE;EFjDE;EAAA;C/Cyi1BL;;AL1hVD;;A8Gv/fE;ExDyBE;EFjDE;EAAA;C/Cij1BL;;ACp70BK;ENw5fF;;E8G7/fF;IxDVE;QAAA;YAAA;IA2BA;IFzCE;IAAA;G/C2j1BH;CACF;;AC/70BK;EN+5fF;;E8GpggBF;IxDVE;QAAA;YAAA;IA2BA;IFzCE;IAAA;G/Csk1BH;CACF;;ALpiVD;;A8G3ggBE;ExDyBE;EFjDE;EAAA;C/C+k1BL;;ACl90BK;EN46fF;;E8GjhgBF;IxDPE;QAAA;YAAA;IA4BA;IF7CE;IAAA;G/Cyl1BH;CACF;;AC790BK;ENm7fF;;E8GxhgBF;IxDPE;QAAA;YAAA;IA4BA;IF7CE;IAAA;G/Com1BH;CACF;;AL9iVD;;A8G1lgBI;ECgBA;EACA;C1G8n1BH;;ALhjVD;;A8G3lgBI;ECYA;EACA;C1Gqo1BH;;ACt/0BK;ENq8fJ;;E8GrmgBE;ICgBA;IACA;G1G6o1BD;;ELrjVD;;E8GrmgBE;ICYA;IACA;G1Gop1BD;CACF;;ACtg1BK;EN+8fJ;;E8G/mgBE;ICgBA;IACA;G1G6p1BD;;EL3jVD;;E8G/mgBE;ICYA;IACA;G1Goq1BD;CACF;;AL9jVD;;A8G1/fE;EACE;CzG6j1BH;;ALhkVD;;A8Gz/fA;;EAGE;CzG6j1BD;;ALlkVD;;A8Gv/fA;;EAIM;EACA;CzG4j1BL;;ALpkVD;;A8G7/fA;;EAUQ;EACA;CzG8j1BP;;ACnj1BK;EN8+fJ;;E8GpggBF;;IAUQ;IACA;GzGuk1BL;CACF;;AC7j1BK;ENq/fJ;;E8G3ggBF;;IAUQ;IACA;GzGil1BL;CACF;;AL5kVD;;A8GhggBA;;EAIM;EACA;CzG+k1BL;;AL9kVD;;A8GtggBA;;EAUQ;EACA;CzGil1BP;;ACvl1BK;ENwggBJ;;E8G7ggBF;;IAUQ;IACA;GzG0l1BL;CACF;;ACjm1BK;EN+ggBJ;;E8GphgBF;;IAUQ;IACA;GzGom1BL;CACF;;ALtlVD;;AgHxrgBA;EhCkDE;EACA;EACA;EACA;EAGE;EAAA;EAAA;EACA;MAAA;C3Egu1BH;;ALzlVC;;AACA;EsC1/fE;CjCwl1BH;;AL5lVC;;AgFnogBA;;EAEE;EACA;EACA;EACA;C3Eou1BH;;AL/lVC;;AgFjogBA;;;;EAIE;C3Equ1BH;;ALlmVC;;AgFhogBA;EACE;C3Euu1BH;;ALpmVD;;AiHhtgBA;EAEI;C5Gwz1BH;;ALtmVD;;AiHptgBA;EAMI;EACA;EACA;C5G0z1BH;;ALzmVC;;AiHztgBF;EAYQ;EACA;C5G4z1BP;;AL5mVC;;AiH7tgBF;EAYQ;EACA;C5Gm01BP;;AL/mVC;;AiHjugBF;EAYQ;EACA;C5G001BP;;ALlnVC;;AiHrugBF;EAYQ;EACA;C5Gi11BP;;ALrnVC;;AiHzugBF;EAYQ;EACA;C5Gw11BP;;ALvnVD;;AiH9ugBA;EAmBI;C5Gw11BH;;ALznVD;;AkHlvgBA;EAEI;EACA;EACA;EACA;C7G+21BH;;AL3nVD;;AkHzvgBA;;E7D2BE;EAAA;EAAA;EACA;EAAA;MAAA;UAAA;EDHM;EAAA;C/Cq21BP;;AC/t1BK;ENkmgBF;;EkHjwgBJ;;I9DyBQ;IAAA;G/C821BL;CACF;;ALloVC;;AkHtwgBF;;E9DyBQ;EAAA;C/Cu31BP;;ACjv1BK;EN6mgBA;;EkH5wgBN;;I9DyBQ;IAAA;G/Cg41BL;CACF;;ALzoVC;;AkHjxgBF;;E5DgDI;MAAA;UAAA;EA2BA;CjDu11BH;;AL5oVG;;AkHtxgBJ;;E5DmDI;MAAA;UAAA;CjDs31BH;;AL/oVC;;AkH1xgBF;;E5DmDI;MAAA;UAAA;CjD631BH;;ALjpVD;;AmHpugBA;;EAtDE;EACA;EACA;EAGE;EACA;C9Gg71BH;;ALppVC;;AmHpxgBA;;;EACE;EACA;C9G+61BH;;ALvpVD;;AmH7ugBA;EA3DE;EACA;EACA;EAQE;EACA;C9G871BH;;AL1pVC;;AmHjygBA;EACE;EACA;C9Gg81BH;;AL5pVD;;AmHrvgBA;EACE;EACA;C9Gs51BD;;AL9pVD;;AmHrvgBA;EA/CE;EACA;EACA;EACA;EACA;EACA;EACA;C9Gw81BD;;ALjqVC;;AmHrygBA;EACE;C9G281BH;;ALnqVD;;AmH9vgBA;EACE;EACA;C9Gs61BD;;ALtqVC;;AmHlwgBF;EAKI;C9Gy61BH;;ALxqVD;;AmH7vgBA;EACE;EACA;C9G061BD;;AL3qVC;;AmHjwgBF;EAKI;C9G661BH;;AL7qVD;;AmH5vgBA;EArDI;C9Go+1BH;;ALhrVC;;AmH/vgBF;EArDI;C9G0+1BH;;ALnrVC;;AmHlwgBF;EArDI;C9Gg/1BH;;ALtrVC;;AmHrwgBF;EArDI;C9Gs/1BH;;ALzrVC;;AmHxwgBF;EArDI;C9G4/1BH;;AL5rVC;;AmH3wgBF;EArDI;C9Gkg2BH;;AL/rVC;;AmH9wgBF;EArDI;C9Gwg2BH;;ALjsVD;;AmHlwgBA;EA3DI;C9Gog2BH;;ALpsVC;;AmHrwgBF;EA3DI;C9G0g2BH;;ALvsVC;;AmHxwgBF;EA3DI;C9Ggh2BH;;AL1sVC;;AmH3wgBF;EA3DI;C9Gsh2BH;;AL7sVC;;AmH9wgBF;EA3DI;C9G4h2BH;;ALhtVC;;AmHjxgBF;EA3DI;C9Gki2BH;;ALntVC;;AmHpxgBF;EA3DI;C9Gwi2BH;;ALrtVD;;AoH71gBA;EAhCE;C/Gwl2BD;;ALxtVC;;AoH93gBA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;C/G2l2BH;;AL3tVC;;AoH33gBA;EACE;C/G2l2BH;;AL9tVC;;AoH93gBA;EACE;C/Gim2BH;;ALjuVC;;AoHj4gBA;EACE;C/Gum2BH;;ALpuVC;;AoHp4gBA;EACE;C/G6m2BH;;ALvuVC;;AoHv4gBA;EACE;C/Gmn2BH;;AL1uVC;;AoH73gBA;EACE;C/G4m2BH;;AL7uVC;;AoHh4gBA;EACE;C/Gkn2BH;;ALhvVC;;AoH14gBA;EACE;EACA;OAAA;UAAA;C/G+n2BH;;ALlvVD;;AqHx6gBA;EAIM;EACA;ChH4p2BL;;ALpvVD;;AqH76gBA;EAIM;EACA;ChHmq2BL;;ALtvVD;;AqHl7gBA;EAIM;EACA;ChH0q2BL;;ALxvVD;;AqHv7gBA;EAYM;ChHyq2BL;;AL1vVD;;AqH37gBA;EAYM;ChH+q2BL;;AL5vVD;;AqH/7gBA;EAYM;ChHqr2BL;;AL9vVD;;AqHn8gBA;EAYM;ChH2r2BL;;ALhwVD;;AqHv8gBA;EAYM;ChHis2BL;;ALlwVD;;AsHl9gBA;;EAEE;CjHyt2BD;;ALpwVD;;AuHz9gBA;EAGI;EAAA;EAAA;EAAA;EAAA;EAGF;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EAIE;EAAA;EAAA;EAAA;EAAA;ClH+t2BH;;AwFtt2BD;;A2B/BA;;;GnH4v2BG;;ALxwVH;;AwH9+gBA;EACE;CnH2v2BD;;AL1wVD;;AwH7+gBA;E7D0EE;EACA;EACA;EAUE;EAGF;EACA;EACA;EAAA;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EAqCA;EACA;CtDoo2BD;;AL7wVC;;AACA;EsCp0gBE;CjCsl2BH;;ALhxVC;;A2Dx3gBA;;EACE;EACA;CtD8o2BH;;AmHrx2BD;;AAKA;;AxH+/gBA;;AkEj7gBE;;;EACE;EACA;EACA;C7D6s2BH;;ALvxVD;;AyH1hhBA;EAUQ;CpH6y2BP;;ALzxVD;;AyH9hhBA;EAgBQ;CpH6y2BP;;AL3xVD;;AyHlihBA;;;EAwBQ;CpH6y2BP;;AL9xVC;;AyHvihBF;;;EA2BU;CpHkz2BT;;ALhyVD;;A0H9ihBA;EACE;EACA;EACA;EACA;CrHm12BD;;ALlyVD;;AACA;E2Dj+gBE;EACA;EACA;EAUE;EAGF;EACA;EACA;EAAA;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EAqCA;EACA;CtDyt2BD;;ALryVC;;AACA;EsCj4gBE;CjC2q2BH;;ALxyVC;;AACA;;E2Dr7gBE;EACA;CtDmu2BH;;AwFp12BD;;A7F0ihBA;;A2H9khBE;EhEoFA;EACA;EACA;EAUE;EAGF;EACA;EACA;EAAA;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EAqCA;EACA;CtD6v2BD;;AL/yVC;;AACA;EsC35gBE;CjC+s2BH;;ALlzVC;;A2D/8gBA;;EACE;EACA;CtDuw2BH;;ALtzVC;;A2HtmhBA;;;;;EAQI;CtH852BL;;AL5zVD;;A2H9lhBE;EhEqKA;EACA;CtD2v2BD;;AL/zVC;;A2Dn9gBA;;;EAGE;CtDux2BH;;ALp0VC;;A2D98gBE;;;;;;EAEE;CtD2x2BL;;AL50VC;;A2Dh8gBA;;EACE;EACA;CtDkx2BH;;ALh1VG;;A2Dj8gBA;;;;EAEE;EACA;CtDwx2BL;;ALr1VD;;A2H1mhBE;EhE6HA;EACA;CtDw02BD;;ALx1VC;;A2D9+gBA;;EACE;EACA;CtD402BH;;AL31VD;;A2HnnhBE;EhE6HA;EACA;CtDu12BD;;AL91VC;;A2Dv/gBA;;EACE;EACA;CtD212BH;;ALj2VD;;A2H5nhBE;EhE6HA;EACA;CtDs22BD;;ALp2VC;;A2DhghBA;;EACE;EACA;CtD022BH;;ALv2VD;;A2HrohBE;EhE6HA;EACA;CtDq32BD;;AL12VC;;A2DzghBA;;EACE;EACA;CtDy32BH;;AL72VD;;A+F57gBY;;EAEI;C1F8y2Bf;;ALh3VD;;A+Fh8gBY;;EAMI;C1Fiz2Bf;;ALn3VD;;A+Fp8gBY;;EAUI;C1Foz2Bf;;ALt3VD;;A+Fx8gBY;;EAeM;C1Fsz2BjB;;ALz3VD;;A+F58gBY;;EAeM;C1F6z2BjB;;AL53VD;;A+Fh9gBY;;EAeM;C1Fo02BjB;;AL/3VD;;A+Fp9gBY;;EAeM;C1F202BjB;;ALl4VD;;A+Fx9gBY;;EAeM;C1Fk12BjB;;ALr4VD;;A+F/7gBY;;EAGM;C1Fw02BjB;;ALx4VD;;A+Fl7gBY;;EAGM;C1F8z2BjB;;AL34VD;;A+Fn6gBY;;EqB1RV;C/G+k3BD;;AL/4VC;;A+Ft6gBU;;EqBvRR;EACA;EACA;EACA;EACA;EACA;EACA;C/Gml3BH;;ALl5VD;;A+Fh7gBY;;EqBrQR;EACA;OAAA;UAAA;C/G8k3BH;;ALr5VD;;A+Fr7gBY;;EqB3QR;C/G4l3BH;;ALx5VD;;A+Fz7gBY;;EqB3QR;C/Gmm3BH;;AL35VD;;A+F77gBY;;EqB3QR;C/G0m3BH;;AL95VD;;A+Fj8gBY;;EqB3QR;C/Gin3BH;;ALj6VD;;A+Fr8gBY;;EqB3QR;C/Gwn3BH;;ALp6VD;;A+Fz8gBY;;EqB9PR;C/Gkn3BH;;ALv6VD;;A+F78gBY;;EqB9PR;C/Gyn3BH;;AL16VD;;A+Fn6gBY;;EIrVV;EAAA;EAAA;EACA;EACA;C9Fyq3BD;;AL76VD;;A+F75gBY;;EoBzVV;EACA;EACA;EAGE;EACA;C9Gwq3BH;;ALj7VC;;AmH/uhBA;;EACE;EACA;C9Gsq3BH;;ALp7VD;;A+F75gBY;;EoB7TR;C9Gqp3BH;;ALv7VD;;A+Fj6gBY;;EoB7TR;C9G4p3BH;;AL17VD;;A+Fr6gBY;;EoB7TR;C9Gmq3BH;;AL77VD;;A+Fz6gBY;;EoB7TR;C9G0q3BH;;ALh8VD;;A+Fz5gBY;;EoBvUR;C9Guq3BH;;ALn8VD;;A+F75gBY;;EoBvUR;C9G8q3BH;;ALt8VD;;A+Fj6gBY;;EoBvUR;C9Gqr3BH;;ALz8VD;;A+Fr6gBY;;EoBvUR;C9G4r3BH;;AL58VD;;A+Fp5gBc;;EAGM;C1Fo22BnB;;AL/8VD;;A+Fx5gBc;;EAGM;C1F222BnB;;ALl9VD;;A+F55gBc;;EAGM;C1Fk32BnB;;ALr9VD;;A+Fh6gBc;;EAGM;C1Fy32BnB;;ALx9VD;;A+Fp6gBc;;EAGM;C1Fg42BnB;;AL39VD;;A+Fl4gBoB;;EAGM;EA5RpB;C1F8n3BL;;AL99VD;;A+Fv4gBoB;;EAGM;EA5RpB;C1Fso3BL;;ACvo3BK;ENuqhBJ;;E+FnmhBU;;IAEI;G1Fyk3Bb;;ELr+VD;;E+FtmhBU;;IAMI;G1F4k3Bb;;ELz+VD;;E+FzmhBU;;IAUI;G1F+k3Bb;;EL7+VD;;E+F5mhBU;;IAeM;G1Fil3Bf;;ELj/VD;;E+F/mhBU;;IAeM;G1Fwl3Bf;;ELr/VD;;E+FlnhBU;;IAeM;G1F+l3Bf;;ELz/VD;;E+FrnhBU;;IAeM;G1Fsm3Bf;;EL7/VD;;E+FxnhBU;;IAeM;G1F6m3Bf;;ELjgWD;;E+F9lhBU;;IAGM;G1Fmm3Bf;;ELrgWD;;E+FhlhBU;;IAGM;G1Fyl3Bf;;ELzgWD;;E+FhkhBU;;IqB1RV;G/G023BC;;EL7gWC;;E+FnkhBQ;;IqBvRR;IACA;IACA;IACA;IACA;IACA;IACA;G/G823BD;;ELjhWD;;E+F5khBU;;IqBrQR;IACA;SAAA;YAAA;G/Gy23BD;;ELrhWD;;E+FhlhBU;;IqB3QR;G/Gu33BD;;ELzhWD;;E+FnlhBU;;IqB3QR;G/G833BD;;EL7hWD;;E+FtlhBU;;IqB3QR;G/Gq43BD;;ELjiWD;;E+FzlhBU;;IqB3QR;G/G443BD;;ELriWD;;E+F5lhBU;;IqB3QR;G/Gm53BD;;ELziWD;;E+F/lhBU;;IqB9PR;G/G643BD;;EL7iWD;;E+FlmhBU;;IqB9PR;G/Go53BD;;ELjjWD;;E+FvjhBU;;IIrVV;IAAA;IAAA;IACA;IACA;G9Fo83BC;;ELrjWD;;E+FhjhBU;;IoBzVV;IACA;IACA;IAGE;IACA;G9Gm83BD;;ELzjWC;;EmHl4hBF;;IACE;IACA;G9Gi83BD;;EL7jWD;;E+F/ihBU;;IoB7TR;G9Gg73BD;;ELjkWD;;E+FljhBU;;IoB7TR;G9Gu73BD;;ELrkWD;;E+FrjhBU;;IoB7TR;G9G873BD;;ELzkWD;;E+FxjhBU;;IoB7TR;G9Gq83BD;;EL7kWD;;E+FvihBU;;IoBvUR;G9Gk83BD;;ELjlWD;;E+F1ihBU;;IoBvUR;G9Gy83BD;;ELrlWD;;E+F7ihBU;;IoBvUR;G9Gg93BD;;ELzlWD;;E+FhjhBU;;IoBvUR;G9Gu93BD;;EL7lWD;;E+F9hhBY;;IAGM;G1F+n3BjB;;ELjmWD;;E+FjihBY;;IAGM;G1Fso3BjB;;ELrmWD;;E+FpihBY;;IAGM;G1F6o3BjB;;ELzmWD;;E+FvihBY;;IAGM;G1Fop3BjB;;EL7mWD;;E+F1ihBY;;IAGM;G1F2p3BjB;;ELjnWD;;E+FvghBkB;;IAGM;IA5RpB;G1Fy53BH;;ELrnWD;;E+F3ghBkB;;IAGM;IA5RpB;G1Fi63BH;CACF;;ACn63BK;EN2yhBJ;;E+FvuhBU;;IAEI;G1Fq23Bb;;EL7nWD;;E+F1uhBU;;IAMI;G1Fw23Bb;;ELjoWD;;E+F7uhBU;;IAUI;G1F223Bb;;ELroWD;;E+FhvhBU;;IAeM;G1F623Bf;;ELzoWD;;E+FnvhBU;;IAeM;G1Fo33Bf;;EL7oWD;;E+FtvhBU;;IAeM;G1F233Bf;;ELjpWD;;E+FzvhBU;;IAeM;G1Fk43Bf;;ELrpWD;;E+F5vhBU;;IAeM;G1Fy43Bf;;ELzpWD;;E+FluhBU;;IAGM;G1F+33Bf;;EL7pWD;;E+FpthBU;;IAGM;G1Fq33Bf;;ELjqWD;;E+FpshBU;;IqB1RV;G/Gso4BC;;ELrqWC;;E+FvshBQ;;IqBvRR;IACA;IACA;IACA;IACA;IACA;IACA;G/G0o4BD;;ELzqWD;;E+FhthBU;;IqBrQR;IACA;SAAA;YAAA;G/Gqo4BD;;EL7qWD;;E+FpthBU;;IqB3QR;G/Gmp4BD;;ELjrWD;;E+FvthBU;;IqB3QR;G/G0p4BD;;ELrrWD;;E+F1thBU;;IqB3QR;G/Giq4BD;;ELzrWD;;E+F7thBU;;IqB3QR;G/Gwq4BD;;EL7rWD;;E+FhuhBU;;IqB3QR;G/G+q4BD;;ELjsWD;;E+FnuhBU;;IqB9PR;G/Gyq4BD;;ELrsWD;;E+FtuhBU;;IqB9PR;G/Ggr4BD;;ELzsWD;;E+F3rhBU;;IIrVV;IAAA;IAAA;IACA;IACA;G9Fgu4BC;;EL7sWD;;E+FprhBU;;IoBzVV;IACA;IACA;IAGE;IACA;G9G+t4BD;;ELjtWC;;EmHtgiBF;;IACE;IACA;G9G6t4BD;;ELrtWD;;E+FnrhBU;;IoB7TR;G9G4s4BD;;ELztWD;;E+FtrhBU;;IoB7TR;G9Gmt4BD;;EL7tWD;;E+FzrhBU;;IoB7TR;G9G0t4BD;;ELjuWD;;E+F5rhBU;;IoB7TR;G9Giu4BD;;ELruWD;;E+F3qhBU;;IoBvUR;G9G8t4BD;;ELzuWD;;E+F9qhBU;;IoBvUR;G9Gqu4BD;;EL7uWD;;E+FjrhBU;;IoBvUR;G9G4u4BD;;ELjvWD;;E+FprhBU;;IoBvUR;G9Gmv4BD;;ELrvWD;;E+FlqhBY;;IAGM;G1F253BjB;;ELzvWD;;E+FrqhBY;;IAGM;G1Fk63BjB;;EL7vWD;;E+FxqhBY;;IAGM;G1Fy63BjB;;ELjwWD;;E+F3qhBY;;IAGM;G1Fg73BjB;;ELrwWD;;E+F9qhBY;;IAGM;G1Fu73BjB;;ELzwWD;;E+F3ohBkB;;IAGM;IA5RpB;G1Fqr4BH;;EL7wWD;;E+F/ohBkB;;IAGM;IA5RpB;G1F6r4BH;CACF;;ALjxWD;;A+FxmhBU;EACE;EAnUN;C1Fks4BL;;ALnxWD;;A+F7mhBU;EACE;EAnUN;C1Fys4BL;;ALrxWD;;A+F/lhBU;EAxVJ;C1Fkt4BL","file":"rc-base-zf.css","sourcesContent":["@charset \"UTF-8\";\n/** Import Functions styles */\n/** Import Mixins styles */\n/** Import everything from autoload */\n/* stylelint-disable */\n/* stylelint-enable */\n/**\n * Foundation for Sites by ZURB\n * Version 6.5.3\n * foundation.zurb.com\n * Licensed under MIT Open Source\n */\n@media print, screen and (min-width: 40em) {\n  /* line 46, node_modules/foundation-sites/scss/components/_reveal.scss */\n  .reveal, .reveal.tiny, .reveal.small, .reveal.large {\n    right: auto;\n    left: auto;\n    margin: 0 auto; } }\n\n/*!\n * Hamburgers\n * @description Tasty CSS-animated hamburgers\n * @author Jonathan Suh @jonsuh\n * @site https://jonsuh.com/hamburgers\n * @link https://github.com/jonsuh/hamburgers\n */\n/* line 3, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n.hamburger {\n  padding: 15px 15px;\n  display: inline-block;\n  cursor: pointer;\n  transition-property: opacity, filter;\n  transition-duration: 0.15s;\n  transition-timing-function: linear;\n  font: inherit;\n  color: inherit;\n  text-transform: none;\n  background-color: transparent;\n  border: 0;\n  margin: 0;\n  overflow: visible; }\n  /* line 21, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n  .hamburger:hover {\n    opacity: 0.7; }\n  /* line 31, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n  .hamburger.is-active:hover {\n    opacity: 0.7; }\n  /* line 40, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n  .hamburger.is-active .hamburger-inner,\n  .hamburger.is-active .hamburger-inner::before,\n  .hamburger.is-active .hamburger-inner::after {\n    background-color: #000; }\n\n/* line 48, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n.hamburger-box {\n  width: 20px;\n  height: 13px;\n  display: inline-block;\n  position: relative; }\n\n/* line 55, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n.hamburger-inner {\n  display: block;\n  top: 50%;\n  margin-top: -0.5px; }\n  /* line 60, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {\n    width: 20px;\n    height: 1px;\n    background-color: #000;\n    border-radius: 0;\n    position: absolute;\n    transition-property: transform;\n    transition-duration: 0.15s;\n    transition-timing-function: ease; }\n  /* line 73, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n  .hamburger-inner::before, .hamburger-inner::after {\n    content: \"\";\n    display: block; }\n  /* line 79, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n  .hamburger-inner::before {\n    top: -6px; }\n  /* line 83, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n  .hamburger-inner::after {\n    bottom: -6px; }\n\n/*\n   * Arrow\n   */\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrow.scss */\n.hamburger--arrow.is-active .hamburger-inner::before {\n  transform: translate3d(-4px, 0, 0) rotate(-45deg) scale(0.7, 1); }\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_arrow.scss */\n.hamburger--arrow.is-active .hamburger-inner::after {\n  transform: translate3d(-4px, 0, 0) rotate(45deg) scale(0.7, 1); }\n\n/*\n   * Arrow Right\n   */\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrow-r.scss */\n.hamburger--arrow-r.is-active .hamburger-inner::before {\n  transform: translate3d(4px, 0, 0) rotate(45deg) scale(0.7, 1); }\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_arrow-r.scss */\n.hamburger--arrow-r.is-active .hamburger-inner::after {\n  transform: translate3d(4px, 0, 0) rotate(-45deg) scale(0.7, 1); }\n\n/*\n   * Arrow Alt\n   */\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n.hamburger--arrowalt .hamburger-inner::before {\n  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }\n\n/* line 12, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n.hamburger--arrowalt .hamburger-inner::after {\n  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }\n\n/* line 20, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n.hamburger--arrowalt.is-active .hamburger-inner::before {\n  top: 0;\n  transform: translate3d(-4px, -5px, 0) rotate(-45deg) scale(0.7, 1);\n  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n.hamburger--arrowalt.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: translate3d(-4px, 5px, 0) rotate(45deg) scale(0.7, 1);\n  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }\n\n/*\n   * Arrow Alt Right\n   */\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n.hamburger--arrowalt-r .hamburger-inner::before {\n  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }\n\n/* line 12, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n.hamburger--arrowalt-r .hamburger-inner::after {\n  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }\n\n/* line 20, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n.hamburger--arrowalt-r.is-active .hamburger-inner::before {\n  top: 0;\n  transform: translate3d(4px, -5px, 0) rotate(45deg) scale(0.7, 1);\n  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n.hamburger--arrowalt-r.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: translate3d(4px, 5px, 0) rotate(-45deg) scale(0.7, 1);\n  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }\n\n/*\n   * Arrow Turn\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn.scss */\n.hamburger--arrowturn.is-active .hamburger-inner {\n  transform: rotate(-180deg); }\n  /* line 9, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn.scss */\n  .hamburger--arrowturn.is-active .hamburger-inner::before {\n    transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); }\n  /* line 13, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn.scss */\n  .hamburger--arrowturn.is-active .hamburger-inner::after {\n    transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); }\n\n/*\n   * Arrow Turn Right\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn-r.scss */\n.hamburger--arrowturn-r.is-active .hamburger-inner {\n  transform: rotate(-180deg); }\n  /* line 9, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn-r.scss */\n  .hamburger--arrowturn-r.is-active .hamburger-inner::before {\n    transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); }\n  /* line 13, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn-r.scss */\n  .hamburger--arrowturn-r.is-active .hamburger-inner::after {\n    transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); }\n\n/*\n   * Boring\n   */\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {\n  transition-property: none; }\n\n/* line 15, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n.hamburger--boring.is-active .hamburger-inner {\n  transform: rotate(45deg); }\n  /* line 18, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n  .hamburger--boring.is-active .hamburger-inner::before {\n    top: 0;\n    opacity: 0; }\n  /* line 23, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n  .hamburger--boring.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(-90deg); }\n\n/*\n   * Collapse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n.hamburger--collapse .hamburger-inner {\n  top: auto;\n  bottom: 0;\n  transition-duration: 0.13s;\n  transition-delay: 0.13s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 13, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n  .hamburger--collapse .hamburger-inner::after {\n    top: -12px;\n    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }\n  /* line 19, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n  .hamburger--collapse .hamburger-inner::before {\n    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 26, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n.hamburger--collapse.is-active .hamburger-inner {\n  transform: translate3d(0, -6px, 0) rotate(-45deg);\n  transition-delay: 0.22s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 31, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n  .hamburger--collapse.is-active .hamburger-inner::after {\n    top: 0;\n    opacity: 0;\n    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }\n  /* line 38, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n  .hamburger--collapse.is-active .hamburger-inner::before {\n    top: 0;\n    transform: rotate(-90deg);\n    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Collapse Reverse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n.hamburger--collapse-r .hamburger-inner {\n  top: auto;\n  bottom: 0;\n  transition-duration: 0.13s;\n  transition-delay: 0.13s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 13, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n  .hamburger--collapse-r .hamburger-inner::after {\n    top: -12px;\n    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }\n  /* line 19, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n  .hamburger--collapse-r .hamburger-inner::before {\n    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 26, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n.hamburger--collapse-r.is-active .hamburger-inner {\n  transform: translate3d(0, -6px, 0) rotate(45deg);\n  transition-delay: 0.22s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 31, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n  .hamburger--collapse-r.is-active .hamburger-inner::after {\n    top: 0;\n    opacity: 0;\n    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }\n  /* line 38, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n  .hamburger--collapse-r.is-active .hamburger-inner::before {\n    top: 0;\n    transform: rotate(90deg);\n    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Elastic\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n.hamburger--elastic .hamburger-inner {\n  top: 0.5px;\n  transition-duration: 0.275s;\n  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }\n  /* line 11, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n  .hamburger--elastic .hamburger-inner::before {\n    top: 6px;\n    transition: opacity 0.125s 0.275s ease; }\n  /* line 16, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n  .hamburger--elastic .hamburger-inner::after {\n    top: 12px;\n    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }\n\n/* line 23, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n.hamburger--elastic.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(135deg);\n  transition-delay: 0.075s; }\n  /* line 29, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n  .hamburger--elastic.is-active .hamburger-inner::before {\n    transition-delay: 0s;\n    opacity: 0; }\n  /* line 34, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n  .hamburger--elastic.is-active .hamburger-inner::after {\n    transform: translate3d(0, -12px, 0) rotate(-270deg);\n    transition-delay: 0.075s; }\n\n/*\n   * Elastic Reverse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n.hamburger--elastic-r .hamburger-inner {\n  top: 0.5px;\n  transition-duration: 0.275s;\n  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }\n  /* line 11, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n  .hamburger--elastic-r .hamburger-inner::before {\n    top: 6px;\n    transition: opacity 0.125s 0.275s ease; }\n  /* line 16, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n  .hamburger--elastic-r .hamburger-inner::after {\n    top: 12px;\n    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }\n\n/* line 23, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n.hamburger--elastic-r.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(-135deg);\n  transition-delay: 0.075s; }\n  /* line 29, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n  .hamburger--elastic-r.is-active .hamburger-inner::before {\n    transition-delay: 0s;\n    opacity: 0; }\n  /* line 34, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n  .hamburger--elastic-r.is-active .hamburger-inner::after {\n    transform: translate3d(0, -12px, 0) rotate(270deg);\n    transition-delay: 0.075s; }\n\n/*\n   * Emphatic\n   */\n/* line 5, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n.hamburger--emphatic {\n  overflow: hidden; }\n  /* line 8, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n  .hamburger--emphatic .hamburger-inner {\n    transition: background-color 0.125s 0.175s ease-in; }\n    /* line 11, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n    .hamburger--emphatic .hamburger-inner::before {\n      left: 0;\n      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }\n    /* line 18, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n    .hamburger--emphatic .hamburger-inner::after {\n      top: 6px;\n      right: 0;\n      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }\n  /* line 28, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n  .hamburger--emphatic.is-active .hamburger-inner {\n    transition-delay: 0s;\n    transition-timing-function: ease-out;\n    background-color: transparent !important; }\n    /* line 33, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n    .hamburger--emphatic.is-active .hamburger-inner::before {\n      left: -40px;\n      top: -40px;\n      transform: translate3d(40px, 40px, 0) rotate(45deg);\n      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }\n    /* line 42, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n    .hamburger--emphatic.is-active .hamburger-inner::after {\n      right: -40px;\n      top: -40px;\n      transform: translate3d(-40px, 40px, 0) rotate(-45deg);\n      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }\n\n/*\n   * Emphatic Reverse\n   */\n/* line 5, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n.hamburger--emphatic-r {\n  overflow: hidden; }\n  /* line 8, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n  .hamburger--emphatic-r .hamburger-inner {\n    transition: background-color 0.125s 0.175s ease-in; }\n    /* line 11, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n    .hamburger--emphatic-r .hamburger-inner::before {\n      left: 0;\n      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }\n    /* line 18, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n    .hamburger--emphatic-r .hamburger-inner::after {\n      top: 6px;\n      right: 0;\n      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }\n  /* line 28, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n  .hamburger--emphatic-r.is-active .hamburger-inner {\n    transition-delay: 0s;\n    transition-timing-function: ease-out;\n    background-color: transparent !important; }\n    /* line 33, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n    .hamburger--emphatic-r.is-active .hamburger-inner::before {\n      left: -40px;\n      top: 40px;\n      transform: translate3d(40px, -40px, 0) rotate(-45deg);\n      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }\n    /* line 42, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n    .hamburger--emphatic-r.is-active .hamburger-inner::after {\n      right: -40px;\n      top: 40px;\n      transform: translate3d(-40px, -40px, 0) rotate(45deg);\n      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }\n\n/*\n   * Minus\n   */\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n.hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after {\n  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear; }\n\n/* line 17, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n.hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after {\n  opacity: 0;\n  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear; }\n\n/* line 24, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n.hamburger--minus.is-active .hamburger-inner::before {\n  top: 0; }\n\n/* line 28, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n.hamburger--minus.is-active .hamburger-inner::after {\n  bottom: 0; }\n\n/*\n   * Slider\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n.hamburger--slider .hamburger-inner {\n  top: 0.5px; }\n  /* line 9, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n  .hamburger--slider .hamburger-inner::before {\n    top: 6px;\n    transition-property: transform, opacity;\n    transition-timing-function: ease;\n    transition-duration: 0.15s; }\n  /* line 16, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n  .hamburger--slider .hamburger-inner::after {\n    top: 12px; }\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n.hamburger--slider.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(45deg); }\n  /* line 27, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n  .hamburger--slider.is-active .hamburger-inner::before {\n    transform: rotate(-45deg) translate3d(-2.85714px, -5px, 0);\n    opacity: 0; }\n  /* line 32, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n  .hamburger--slider.is-active .hamburger-inner::after {\n    transform: translate3d(0, -12px, 0) rotate(-90deg); }\n\n/*\n   * Slider Reverse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n.hamburger--slider-r .hamburger-inner {\n  top: 0.5px; }\n  /* line 9, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n  .hamburger--slider-r .hamburger-inner::before {\n    top: 6px;\n    transition-property: transform, opacity;\n    transition-timing-function: ease;\n    transition-duration: 0.15s; }\n  /* line 16, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n  .hamburger--slider-r .hamburger-inner::after {\n    top: 12px; }\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n.hamburger--slider-r.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(-45deg); }\n  /* line 27, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n  .hamburger--slider-r.is-active .hamburger-inner::before {\n    transform: rotate(45deg) translate3d(2.85714px, -5px, 0);\n    opacity: 0; }\n  /* line 32, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n  .hamburger--slider-r.is-active .hamburger-inner::after {\n    transform: translate3d(0, -12px, 0) rotate(90deg); }\n\n/*\n   * Spin\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n.hamburger--spin .hamburger-inner {\n  transition-duration: 0.22s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n  .hamburger--spin .hamburger-inner::before {\n    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }\n  /* line 15, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n  .hamburger--spin .hamburger-inner::after {\n    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n.hamburger--spin.is-active .hamburger-inner {\n  transform: rotate(225deg);\n  transition-delay: 0.12s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 27, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n  .hamburger--spin.is-active .hamburger-inner::before {\n    top: 0;\n    opacity: 0;\n    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }\n  /* line 34, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n  .hamburger--spin.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(-90deg);\n    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Spin Reverse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n.hamburger--spin-r .hamburger-inner {\n  transition-duration: 0.22s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n  .hamburger--spin-r .hamburger-inner::before {\n    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }\n  /* line 15, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n  .hamburger--spin-r .hamburger-inner::after {\n    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n.hamburger--spin-r.is-active .hamburger-inner {\n  transform: rotate(-225deg);\n  transition-delay: 0.12s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 27, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n  .hamburger--spin-r.is-active .hamburger-inner::before {\n    top: 0;\n    opacity: 0;\n    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }\n  /* line 34, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n  .hamburger--spin-r.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(90deg);\n    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Spring\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n.hamburger--spring .hamburger-inner {\n  top: 0.5px;\n  transition: background-color 0s 0.13s linear; }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n  .hamburger--spring .hamburger-inner::before {\n    top: 6px;\n    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 16, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n  .hamburger--spring .hamburger-inner::after {\n    top: 12px;\n    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 24, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n.hamburger--spring.is-active .hamburger-inner {\n  transition-delay: 0.22s;\n  background-color: transparent !important; }\n  /* line 28, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n  .hamburger--spring.is-active .hamburger-inner::before {\n    top: 0;\n    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);\n    transform: translate3d(0, 6px, 0) rotate(45deg); }\n  /* line 35, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n  .hamburger--spring.is-active .hamburger-inner::after {\n    top: 0;\n    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);\n    transform: translate3d(0, 6px, 0) rotate(-45deg); }\n\n/*\n   * Spring Reverse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n.hamburger--spring-r .hamburger-inner {\n  top: auto;\n  bottom: 0;\n  transition-duration: 0.13s;\n  transition-delay: 0s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 13, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n  .hamburger--spring-r .hamburger-inner::after {\n    top: -12px;\n    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; }\n  /* line 19, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n  .hamburger--spring-r .hamburger-inner::before {\n    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 26, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n.hamburger--spring-r.is-active .hamburger-inner {\n  transform: translate3d(0, -6px, 0) rotate(-45deg);\n  transition-delay: 0.22s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 31, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n  .hamburger--spring-r.is-active .hamburger-inner::after {\n    top: 0;\n    opacity: 0;\n    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear; }\n  /* line 38, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n  .hamburger--spring-r.is-active .hamburger-inner::before {\n    top: 0;\n    transform: rotate(90deg);\n    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Stand\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n.hamburger--stand .hamburger-inner {\n  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n  .hamburger--stand .hamburger-inner::before {\n    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 15, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n  .hamburger--stand .hamburger-inner::after {\n    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n.hamburger--stand.is-active .hamburger-inner {\n  transform: rotate(90deg);\n  background-color: transparent !important;\n  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }\n  /* line 29, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n  .hamburger--stand.is-active .hamburger-inner::before {\n    top: 0;\n    transform: rotate(-45deg);\n    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 36, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n  .hamburger--stand.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(45deg);\n    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Stand Reverse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n.hamburger--stand-r .hamburger-inner {\n  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n  .hamburger--stand-r .hamburger-inner::before {\n    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 15, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n  .hamburger--stand-r .hamburger-inner::after {\n    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n.hamburger--stand-r.is-active .hamburger-inner {\n  transform: rotate(-90deg);\n  background-color: transparent !important;\n  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }\n  /* line 29, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n  .hamburger--stand-r.is-active .hamburger-inner::before {\n    top: 0;\n    transform: rotate(-45deg);\n    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 36, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n  .hamburger--stand-r.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(45deg);\n    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Squeeze\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n.hamburger--squeeze .hamburger-inner {\n  transition-duration: 0.075s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n  .hamburger--squeeze .hamburger-inner::before {\n    transition: top 0.075s 0.12s ease, opacity 0.075s ease; }\n  /* line 15, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n  .hamburger--squeeze .hamburger-inner::after {\n    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n.hamburger--squeeze.is-active .hamburger-inner {\n  transform: rotate(45deg);\n  transition-delay: 0.12s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 27, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n  .hamburger--squeeze.is-active .hamburger-inner::before {\n    top: 0;\n    opacity: 0;\n    transition: top 0.075s ease, opacity 0.075s 0.12s ease; }\n  /* line 34, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n  .hamburger--squeeze.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(-90deg);\n    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Vortex\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n.hamburger--vortex .hamburger-inner {\n  transition-duration: 0.2s;\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n  .hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {\n    transition-duration: 0s;\n    transition-delay: 0.1s;\n    transition-timing-function: linear; }\n  /* line 17, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n  .hamburger--vortex .hamburger-inner::before {\n    transition-property: top, opacity; }\n  /* line 21, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n  .hamburger--vortex .hamburger-inner::after {\n    transition-property: bottom, transform; }\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n.hamburger--vortex.is-active .hamburger-inner {\n  transform: rotate(765deg);\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }\n  /* line 31, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n  .hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {\n    transition-delay: 0s; }\n  /* line 36, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n  .hamburger--vortex.is-active .hamburger-inner::before {\n    top: 0;\n    opacity: 0; }\n  /* line 41, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n  .hamburger--vortex.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(90deg); }\n\n/*\n   * Vortex Reverse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n.hamburger--vortex-r .hamburger-inner {\n  transition-duration: 0.2s;\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n  .hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {\n    transition-duration: 0s;\n    transition-delay: 0.1s;\n    transition-timing-function: linear; }\n  /* line 17, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n  .hamburger--vortex-r .hamburger-inner::before {\n    transition-property: top, opacity; }\n  /* line 21, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n  .hamburger--vortex-r .hamburger-inner::after {\n    transition-property: bottom, transform; }\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n.hamburger--vortex-r.is-active .hamburger-inner {\n  transform: rotate(-765deg);\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }\n  /* line 31, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n  .hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {\n    transition-delay: 0s; }\n  /* line 36, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n  .hamburger--vortex-r.is-active .hamburger-inner::before {\n    top: 0;\n    opacity: 0; }\n  /* line 41, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n  .hamburger--vortex-r.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(-90deg); }\n\n/* line 35, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox {\n  position: relative;\n  padding-left: 20px;\n  margin: 0 0 0.5rem; }\n  /* line 40, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n  .checkbox label {\n    display: inline-block;\n    vertical-align: middle;\n    position: relative;\n    padding-left: 5px;\n    height: 23px; }\n    /* line 47, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .checkbox label::before {\n      content: \"\";\n      display: inline-block;\n      position: absolute;\n      width: 21px;\n      height: 21px;\n      left: 0;\n      margin-left: -28px;\n      border: 1px solid #777777;\n      border-radius: 0;\n      background-color: #fff;\n      transition: border 0.15s ease-in-out, color 0.15s ease-in-out; }\n    /* line 61, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .checkbox label::after {\n      display: inline-block;\n      position: absolute;\n      width: 20px;\n      height: 20px;\n      left: 0;\n      top: -2px;\n      margin-left: -27px;\n      padding-left: 3px;\n      font-size: 0.875rem;\n      color: #000; }\n  /* line 75, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n  .checkbox input[type=\"checkbox\"],\n  .checkbox input[type=\"radio\"] {\n    position: absolute;\n    margin: 4px 4px 4px -18px;\n    opacity: 0;\n    z-index: 1;\n    width: 18px;\n    height: 17px; }\n    /* line 84, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .checkbox input[type=\"checkbox\"]:focus + label::before,\n    .checkbox input[type=\"radio\"]:focus + label::before {\n      outline: 0; }\n    /* line 88, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .checkbox input[type=\"checkbox\"]:checked + label::after,\n    .checkbox input[type=\"radio\"]:checked + label::after {\n      font-family: \"rc-base-icons\";\n      content: \"\"; }\n    /* line 93, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .checkbox input[type=\"checkbox\"]:indeterminate + label::after,\n    .checkbox input[type=\"radio\"]:indeterminate + label::after {\n      display: block;\n      content: \"\";\n      width: 10px;\n      height: 3px;\n      background-color: #555555;\n      border-radius: 0;\n      margin-left: -22.5px;\n      margin-top: 11px; }\n    /* line 104, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .checkbox input[type=\"checkbox\"]:disabled + label,\n    .checkbox input[type=\"radio\"]:disabled + label {\n      opacity: 0.65; }\n      /* line 107, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n      .checkbox input[type=\"checkbox\"]:disabled + label::before,\n      .checkbox input[type=\"radio\"]:disabled + label::before {\n        background-color: #eeeeee;\n        cursor: not-allowed; }\n  /* line 115, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n  .checkbox.checkbox-circle label::before {\n    border-radius: 50%; }\n  /* line 119, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n  .checkbox.checkbox-inline {\n    margin-top: 0;\n    display: inline-block; }\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.primary input[type=\"checkbox\"]:checked + label::before,\n.checkbox.primary input[type=\"radio\"]:checked + label::before {\n  background-color: #1779ba;\n  border-color: #1779ba; }\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.primary input[type=\"checkbox\"]:checked + label::after,\n.checkbox.primary input[type=\"radio\"]:checked + label::after {\n  color: #fff; }\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.secondary input[type=\"checkbox\"]:checked + label::before,\n.checkbox.secondary input[type=\"radio\"]:checked + label::before {\n  background-color: #767676;\n  border-color: #767676; }\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.secondary input[type=\"checkbox\"]:checked + label::after,\n.checkbox.secondary input[type=\"radio\"]:checked + label::after {\n  color: #fff; }\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.alert input[type=\"checkbox\"]:checked + label::before,\n.checkbox.alert input[type=\"radio\"]:checked + label::before {\n  background-color: #cc4b37;\n  border-color: #cc4b37; }\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.alert input[type=\"checkbox\"]:checked + label::after,\n.checkbox.alert input[type=\"radio\"]:checked + label::after {\n  color: #fff; }\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.warning input[type=\"checkbox\"]:checked + label::before,\n.checkbox.warning input[type=\"radio\"]:checked + label::before {\n  background-color: #ffae00;\n  border-color: #ffae00; }\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.warning input[type=\"checkbox\"]:checked + label::after,\n.checkbox.warning input[type=\"radio\"]:checked + label::after {\n  color: #fff; }\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.success input[type=\"checkbox\"]:checked + label::before,\n.checkbox.success input[type=\"radio\"]:checked + label::before {\n  background-color: #18a733;\n  border-color: #18a733; }\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.success input[type=\"checkbox\"]:checked + label::after,\n.checkbox.success input[type=\"radio\"]:checked + label::after {\n  color: #fff; }\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.primary input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.primary input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #1779ba;\n  border-color: #1779ba; }\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.primary input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.primary input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff; }\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.secondary input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.secondary input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #767676;\n  border-color: #767676; }\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.secondary input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.secondary input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff; }\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.alert input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.alert input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #cc4b37;\n  border-color: #cc4b37; }\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.alert input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.alert input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff; }\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.warning input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.warning input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #ffae00;\n  border-color: #ffae00; }\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.warning input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.warning input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff; }\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.success input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.success input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #18a733;\n  border-color: #18a733; }\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.success input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.success input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff; }\n\n/* line 162, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio {\n  padding-left: 20px; }\n  /* line 165, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n  .radio label {\n    display: inline-block;\n    vertical-align: middle;\n    position: relative;\n    padding-left: 5px;\n    height: 23px; }\n    /* line 172, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .radio label::before {\n      content: \"\";\n      display: inline-block;\n      position: absolute;\n      width: 21px;\n      height: 21px;\n      left: 0;\n      margin-left: -28px;\n      border: 1px solid #777777;\n      border-radius: 50%;\n      background-color: #fff;\n      transition: border 0.15s ease-in-out; }\n    /* line 186, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .radio label::after {\n      display: inline-block;\n      position: absolute;\n      content: \" \";\n      width: 13px;\n      height: 13px;\n      left: 4px;\n      top: 4px;\n      margin-left: -28px;\n      border-radius: 50%;\n      background-color: #000;\n      transform: scale(0, 0);\n      transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); }\n  /* line 202, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n  .radio input[type=\"radio\"] {\n    position: absolute;\n    margin: 4px 4px 4px -18px;\n    opacity: 0;\n    z-index: 1;\n    width: 18px;\n    height: 17px; }\n    /* line 210, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .radio input[type=\"radio\"]:focus + label::before {\n      outline: 0; }\n    /* line 214, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .radio input[type=\"radio\"]:checked + label::after {\n      transform: scale(1, 1); }\n    /* line 218, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .radio input[type=\"radio\"]:disabled + label {\n      opacity: 0.65; }\n      /* line 221, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n      .radio input[type=\"radio\"]:disabled + label::before {\n        cursor: not-allowed; }\n  /* line 228, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n  .radio.radio-inline {\n    margin-top: 0;\n    display: inline-block; }\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.primary input[type=\"radio\"] + label::after {\n  background-color: #1779ba; }\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.primary input[type=\"radio\"]:checked + label::before {\n  border-color: #1779ba; }\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.primary input[type=\"radio\"]:checked + label::after {\n  background-color: #1779ba; }\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.secondary input[type=\"radio\"] + label::after {\n  background-color: #767676; }\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.secondary input[type=\"radio\"]:checked + label::before {\n  border-color: #767676; }\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.secondary input[type=\"radio\"]:checked + label::after {\n  background-color: #767676; }\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.alert input[type=\"radio\"] + label::after {\n  background-color: #cc4b37; }\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.alert input[type=\"radio\"]:checked + label::before {\n  border-color: #cc4b37; }\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.alert input[type=\"radio\"]:checked + label::after {\n  background-color: #cc4b37; }\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.warning input[type=\"radio\"] + label::after {\n  background-color: #ffae00; }\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.warning input[type=\"radio\"]:checked + label::before {\n  border-color: #ffae00; }\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.warning input[type=\"radio\"]:checked + label::after {\n  background-color: #ffae00; }\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.success input[type=\"radio\"] + label::after {\n  background-color: #18a733; }\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.success input[type=\"radio\"]:checked + label::before {\n  border-color: #18a733; }\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.success input[type=\"radio\"]:checked + label::after {\n  background-color: #18a733; }\n\n/* line 243, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\ninput[type=\"checkbox\"].styled:checked + label:after,\ninput[type=\"radio\"].styled:checked + label:after {\n  font-family: \"rc-base-icons\";\n  content: \"\"; }\n\n/* line 248, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\ninput[type=\"checkbox\"] .styled:checked + label::before,\ninput[type=\"radio\"] .styled:checked + label::before {\n  color: #fff; }\n\n/* line 251, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\ninput[type=\"checkbox\"] .styled:checked + label::after,\ninput[type=\"radio\"] .styled:checked + label::after {\n  color: #fff; }\n\n/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */\n/* line 10, node_modules/foundation-sites/scss/vendor/normalize.scss */\nhtml {\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%; }\n\n/* line 20, node_modules/foundation-sites/scss/vendor/normalize.scss */\nbody {\n  margin: 0; }\n\n/* line 27, node_modules/foundation-sites/scss/vendor/normalize.scss */\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0; }\n\n/* line 38, node_modules/foundation-sites/scss/vendor/normalize.scss */\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible; }\n\n/* line 47, node_modules/foundation-sites/scss/vendor/normalize.scss */\npre {\n  font-family: monospace, monospace;\n  font-size: 1em; }\n\n/* line 57, node_modules/foundation-sites/scss/vendor/normalize.scss */\na {\n  background-color: transparent; }\n\n/* line 64, node_modules/foundation-sites/scss/vendor/normalize.scss */\nabbr[title] {\n  border-bottom: none;\n  text-decoration: underline;\n  text-decoration: underline dotted; }\n\n/* line 72, node_modules/foundation-sites/scss/vendor/normalize.scss */\nb,\nstrong {\n  font-weight: bolder; }\n\n/* line 80, node_modules/foundation-sites/scss/vendor/normalize.scss */\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em; }\n\n/* line 89, node_modules/foundation-sites/scss/vendor/normalize.scss */\nsmall {\n  font-size: 80%; }\n\n/* line 96, node_modules/foundation-sites/scss/vendor/normalize.scss */\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline; }\n\n/* line 104, node_modules/foundation-sites/scss/vendor/normalize.scss */\nsub {\n  bottom: -0.25em; }\n\n/* line 108, node_modules/foundation-sites/scss/vendor/normalize.scss */\nsup {\n  top: -0.5em; }\n\n/* line 117, node_modules/foundation-sites/scss/vendor/normalize.scss */\nimg {\n  border-style: none; }\n\n/* line 127, node_modules/foundation-sites/scss/vendor/normalize.scss */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: 100%;\n  line-height: 1.15;\n  margin: 0; }\n\n/* line 141, node_modules/foundation-sites/scss/vendor/normalize.scss */\nbutton,\ninput {\n  overflow: visible; }\n\n/* line 149, node_modules/foundation-sites/scss/vendor/normalize.scss */\nbutton,\nselect {\n  text-transform: none; }\n\n/* line 156, node_modules/foundation-sites/scss/vendor/normalize.scss */\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button; }\n\n/* line 165, node_modules/foundation-sites/scss/vendor/normalize.scss */\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  border-style: none;\n  padding: 0; }\n\n/* line 175, node_modules/foundation-sites/scss/vendor/normalize.scss */\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n  outline: 1px dotted ButtonText; }\n\n/* line 184, node_modules/foundation-sites/scss/vendor/normalize.scss */\nfieldset {\n  padding: 0.35em 0.75em 0.625em; }\n\n/* line 193, node_modules/foundation-sites/scss/vendor/normalize.scss */\nlegend {\n  box-sizing: border-box;\n  color: inherit;\n  display: table;\n  max-width: 100%;\n  padding: 0;\n  white-space: normal; }\n\n/* line 204, node_modules/foundation-sites/scss/vendor/normalize.scss */\nprogress {\n  vertical-align: baseline; }\n\n/* line 210, node_modules/foundation-sites/scss/vendor/normalize.scss */\ntextarea {\n  overflow: auto; }\n\n/* line 217, node_modules/foundation-sites/scss/vendor/normalize.scss */\n[type=\"checkbox\"],\n[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0; }\n\n/* line 225, node_modules/foundation-sites/scss/vendor/normalize.scss */\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto; }\n\n/* line 233, node_modules/foundation-sites/scss/vendor/normalize.scss */\n[type=\"search\"] {\n  -webkit-appearance: textfield;\n  outline-offset: -2px; }\n\n/* line 240, node_modules/foundation-sites/scss/vendor/normalize.scss */\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none; }\n\n/* line 247, node_modules/foundation-sites/scss/vendor/normalize.scss */\n::-webkit-file-upload-button {\n  -webkit-appearance: button;\n  font: inherit; }\n\n/* line 257, node_modules/foundation-sites/scss/vendor/normalize.scss */\ndetails {\n  display: block; }\n\n/* line 263, node_modules/foundation-sites/scss/vendor/normalize.scss */\nsummary {\n  display: list-item; }\n\n/* line 272, node_modules/foundation-sites/scss/vendor/normalize.scss */\ntemplate {\n  display: none; }\n\n/* line 278, node_modules/foundation-sites/scss/vendor/normalize.scss */\n[hidden] {\n  display: none; }\n\n/* line 140, node_modules/foundation-sites/scss/_global.scss */\n.foundation-mq {\n  font-family: \"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em\"; }\n\n/* line 144, node_modules/foundation-sites/scss/_global.scss */\nhtml {\n  box-sizing: border-box;\n  font-size: 100%; }\n\n/* line 150, node_modules/foundation-sites/scss/_global.scss */\n*,\n*::before,\n*::after {\n  box-sizing: inherit; }\n\n/* line 157, node_modules/foundation-sites/scss/_global.scss */\nbody {\n  margin: 0;\n  padding: 0;\n  background: #fefefe;\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #000;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale; }\n\n/* line 174, node_modules/foundation-sites/scss/_global.scss */\nimg {\n  display: inline-block;\n  vertical-align: middle;\n  max-width: 100%;\n  height: auto;\n  -ms-interpolation-mode: bicubic; }\n\n/* line 186, node_modules/foundation-sites/scss/_global.scss */\ntextarea {\n  height: auto;\n  min-height: 50px;\n  border-radius: 0; }\n\n/* line 193, node_modules/foundation-sites/scss/_global.scss */\nselect {\n  box-sizing: border-box;\n  width: 100%;\n  border-radius: 0; }\n\n/* line 203, node_modules/foundation-sites/scss/_global.scss */\n.map_canvas img,\n.map_canvas embed,\n.map_canvas object,\n.mqa-display img,\n.mqa-display embed,\n.mqa-display object {\n  max-width: none !important; }\n\n/* line 211, node_modules/foundation-sites/scss/_global.scss */\nbutton {\n  padding: 0;\n  appearance: none;\n  border: 0;\n  border-radius: 0;\n  background: transparent;\n  line-height: 1;\n  cursor: auto; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] button {\n    outline: 0; }\n\n/* line 223, node_modules/foundation-sites/scss/_global.scss */\npre {\n  overflow: auto; }\n\n/* line 228, node_modules/foundation-sites/scss/_global.scss */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit; }\n\n/* line 237, node_modules/foundation-sites/scss/_global.scss */\n.is-visible {\n  display: block !important; }\n\n/* line 241, node_modules/foundation-sites/scss/_global.scss */\n.is-hidden {\n  display: none !important; }\n\n/* line 125, node_modules/foundation-sites/scss/forms/_text.scss */\n[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],\ntextarea {\n  display: block;\n  box-sizing: border-box;\n  width: 100%;\n  height: 2.4375rem;\n  margin: 0 0 1rem;\n  padding: 0.5rem;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  font-family: inherit;\n  font-size: 1rem;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #000;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n  appearance: none; }\n  /* line 111, node_modules/foundation-sites/scss/forms/_text.scss */\n  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,\n  textarea:focus {\n    outline: none;\n    border: 1px solid #333333;\n    background-color: #fefefe;\n    box-shadow: 0 0 5px #777777;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }\n\n/* line 132, node_modules/foundation-sites/scss/forms/_text.scss */\ntextarea {\n  max-width: 100%; }\n  /* line 135, node_modules/foundation-sites/scss/forms/_text.scss */\n  textarea[rows] {\n    height: auto; }\n\n/* line 143, node_modules/foundation-sites/scss/forms/_text.scss */\ninput:disabled, input[readonly],\ntextarea:disabled,\ntextarea[readonly] {\n  background-color: #eeeeee;\n  cursor: not-allowed; }\n\n/* line 151, node_modules/foundation-sites/scss/forms/_text.scss */\n[type='submit'],\n[type='button'] {\n  appearance: none;\n  border-radius: 0; }\n\n/* line 158, node_modules/foundation-sites/scss/forms/_text.scss */\ninput[type='search'] {\n  box-sizing: border-box; }\n\n/* line 176, node_modules/foundation-sites/scss/forms/_text.scss */\n::placeholder {\n  color: #777777; }\n\n/* line 10, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n[type='file'],\n[type='checkbox'],\n[type='radio'] {\n  margin: 0 0 1rem; }\n\n/* line 17, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n[type='checkbox'] + label,\n[type='radio'] + label {\n  display: inline-block;\n  vertical-align: baseline;\n  margin-left: 0.5rem;\n  margin-right: 1rem;\n  margin-bottom: 0; }\n  /* line 26, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n  [type='checkbox'] + label[for],\n  [type='radio'] + label[for] {\n    cursor: pointer; }\n\n/* line 32, node_modules/foundation-sites/scss/forms/_checkbox.scss */\nlabel > [type='checkbox'],\nlabel > [type='radio'] {\n  margin-right: 0.5rem; }\n\n/* line 38, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n[type='file'] {\n  width: 100%; }\n\n/* line 43, node_modules/foundation-sites/scss/forms/_label.scss */\nlabel {\n  display: block;\n  margin: 0;\n  font-size: 0.875rem;\n  font-weight: normal;\n  line-height: 1.8;\n  color: #000; }\n  /* line 46, node_modules/foundation-sites/scss/forms/_label.scss */\n  label.middle {\n    margin: 0 0 1rem;\n    padding: 0.5625rem 0; }\n\n/* line 22, node_modules/foundation-sites/scss/forms/_help-text.scss */\n.help-text {\n  margin-top: -0.5rem;\n  font-size: 0.8125rem;\n  font-style: italic;\n  color: #000; }\n\n/* line 27, node_modules/foundation-sites/scss/forms/_input-group.scss */\n.input-group, .search-form {\n  display: flex;\n  width: 100%;\n  margin-bottom: 1rem;\n  align-items: stretch; }\n  /* line 37, node_modules/foundation-sites/scss/forms/_input-group.scss */\n  .input-group > :first-child, .search-form > :first-child, .input-group > :first-child.input-group-button > *, .search-form > :first-child.input-group-button > * {\n    border-radius: 0 0 0 0; }\n  /* line 43, node_modules/foundation-sites/scss/forms/_input-group.scss */\n  .input-group > :last-child, .search-form > :last-child, .input-group > :last-child.input-group-button > *, .search-form > :last-child.input-group-button > * {\n    border-radius: 0 0 0 0; }\n\n/* line 49, node_modules/foundation-sites/scss/forms/_input-group.scss */\n.input-group-label, .input-group-field, .search-form .search-field, .input-group-button, .input-group-button a,\n.input-group-button input,\n.input-group-button button,\n.input-group-button label {\n  margin: 0;\n  white-space: nowrap; }\n\n/* line 59, node_modules/foundation-sites/scss/forms/_input-group.scss */\n.input-group-label {\n  padding: 0 1rem;\n  border: 1px solid #777777;\n  background: #eeeeee;\n  color: #000;\n  text-align: center;\n  white-space: nowrap;\n  display: flex;\n  flex: 0 0 auto;\n  align-items: center; }\n  /* line 80, node_modules/foundation-sites/scss/forms/_input-group.scss */\n  .input-group-label:first-child {\n    border-right: 0; }\n  /* line 84, node_modules/foundation-sites/scss/forms/_input-group.scss */\n  .input-group-label:last-child {\n    border-left: 0; }\n\n/* line 90, node_modules/foundation-sites/scss/forms/_input-group.scss */\n.input-group-field, .search-form .search-field {\n  border-radius: 0;\n  flex: 1 1 0px;\n  min-width: 0; }\n\n/* line 100, node_modules/foundation-sites/scss/forms/_input-group.scss */\n.input-group-button {\n  padding-top: 0;\n  padding-bottom: 0;\n  text-align: center;\n  display: flex;\n  flex: 0 0 auto; }\n  /* line 115, node_modules/foundation-sites/scss/forms/_input-group.scss */\n  .input-group-button a,\n  .input-group-button input,\n  .input-group-button button,\n  .input-group-button label {\n    align-self: stretch;\n    height: auto;\n    padding-top: 0;\n    padding-bottom: 0;\n    font-size: 1rem; }\n\n/* line 39, node_modules/foundation-sites/scss/forms/_fieldset.scss */\nfieldset {\n  margin: 0;\n  padding: 0;\n  border: 0; }\n\n/* line 45, node_modules/foundation-sites/scss/forms/_fieldset.scss */\nlegend {\n  max-width: 100%;\n  margin-bottom: 0.5rem; }\n\n/* line 50, node_modules/foundation-sites/scss/forms/_fieldset.scss */\n.fieldset {\n  margin: 1.125rem 0;\n  padding: 1.25rem;\n  border: 1px solid #777777; }\n  /* line 30, node_modules/foundation-sites/scss/forms/_fieldset.scss */\n  .fieldset legend {\n    margin: 0;\n    margin-left: -0.1875rem;\n    padding: 0 0.1875rem; }\n\n/* line 83, node_modules/foundation-sites/scss/forms/_select.scss */\nselect {\n  height: 2.4375rem;\n  margin: 0 0 1rem;\n  padding: 0.5rem;\n  appearance: none;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  font-family: inherit;\n  font-size: 1rem;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #000;\n  background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2851, 51, 51%29'></polygon></svg>\");\n  background-origin: content-box;\n  background-position: right -1rem center;\n  background-repeat: no-repeat;\n  background-size: 9px 6px;\n  padding-right: 1.5rem;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }\n  @media screen and (min-width: 0\\0) {\n    /* line 83, node_modules/foundation-sites/scss/forms/_select.scss */\n    select {\n      background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==\"); } }\n  /* line 54, node_modules/foundation-sites/scss/forms/_select.scss */\n  select:focus {\n    outline: none;\n    border: 1px solid #333333;\n    background-color: #fefefe;\n    box-shadow: 0 0 5px #777777;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }\n  /* line 66, node_modules/foundation-sites/scss/forms/_select.scss */\n  select:disabled {\n    background-color: #eeeeee;\n    cursor: not-allowed; }\n  /* line 72, node_modules/foundation-sites/scss/forms/_select.scss */\n  select::-ms-expand {\n    display: none; }\n  /* line 76, node_modules/foundation-sites/scss/forms/_select.scss */\n  select[multiple] {\n    height: auto;\n    background-image: none; }\n\n/* line 45, node_modules/foundation-sites/scss/forms/_error.scss */\n.is-invalid-input:not(:focus) {\n  border-color: #cc4b37;\n  background-color: #f9ecea; }\n  /* line 49, node_modules/foundation-sites/scss/forms/_error.scss */\n  .is-invalid-input:not(:focus)::placeholder {\n    color: #cc4b37; }\n\n/* line 76, node_modules/foundation-sites/scss/forms/_error.scss */\n.is-invalid-label {\n  color: #cc4b37; }\n\n/* line 82, node_modules/foundation-sites/scss/forms/_error.scss */\n.form-error {\n  display: none;\n  margin-top: -0.5rem;\n  margin-bottom: 1rem;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: #cc4b37; }\n  /* line 85, node_modules/foundation-sites/scss/forms/_error.scss */\n  .form-error.is-visible {\n    display: block; }\n\n/* line 256, node_modules/foundation-sites/scss/typography/_base.scss */\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\nform,\np,\nblockquote,\nth,\ntd {\n  margin: 0;\n  padding: 0; }\n\n/* line 280, node_modules/foundation-sites/scss/typography/_base.scss */\np {\n  margin-bottom: 1rem;\n  font-size: inherit;\n  line-height: 1.6;\n  text-rendering: optimizeLegibility; }\n\n/* line 289, node_modules/foundation-sites/scss/typography/_base.scss */\nem,\ni {\n  font-style: italic;\n  line-height: inherit; }\n\n/* line 296, node_modules/foundation-sites/scss/typography/_base.scss */\nstrong,\nb {\n  font-weight: bold;\n  line-height: inherit; }\n\n/* line 303, node_modules/foundation-sites/scss/typography/_base.scss */\nsmall {\n  font-size: 80%;\n  line-height: inherit; }\n\n/* line 309, node_modules/foundation-sites/scss/typography/_base.scss */\nh1, .h1,\nh2, .h2,\nh3, .h3,\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  color: inherit;\n  text-rendering: optimizeLegibility; }\n  /* line 321, node_modules/foundation-sites/scss/typography/_base.scss */\n  h1 small, .h1 small,\n  h2 small, .h2 small,\n  h3 small, .h3 small,\n  h4 small, .h4 small,\n  h5 small, .h5 small,\n  h6 small, .h6 small {\n    line-height: 0;\n    color: #777777; }\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\nh1, .h1 {\n  font-size: 1.5rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\nh2, .h2 {\n  font-size: 1.25rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\nh3, .h3 {\n  font-size: 1.1875rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\nh4, .h4 {\n  font-size: 1.125rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\nh5, .h5 {\n  font-size: 1.0625rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\nh6, .h6 {\n  font-size: 1rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n  h1, .h1 {\n    font-size: 3rem; }\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n  h2, .h2 {\n    font-size: 2.5rem; }\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n  h3, .h3 {\n    font-size: 1.9375rem; }\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n  h4, .h4 {\n    font-size: 1.5625rem; }\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n  h5, .h5 {\n    font-size: 1.25rem; }\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n  h6, .h6 {\n    font-size: 1rem; } }\n\n/* line 371, node_modules/foundation-sites/scss/typography/_base.scss */\na {\n  line-height: inherit;\n  color: #1779ba;\n  text-decoration: none;\n  cursor: pointer; }\n  /* line 378, node_modules/foundation-sites/scss/typography/_base.scss */\n  a:hover, a:focus {\n    color: #1468a0; }\n  /* line 386, node_modules/foundation-sites/scss/typography/_base.scss */\n  a img {\n    border: 0; }\n\n/* line 392, node_modules/foundation-sites/scss/typography/_base.scss */\nhr {\n  clear: both;\n  max-width: 75rem;\n  height: 0;\n  margin: 1.25rem auto;\n  border-top: 0;\n  border-right: 0;\n  border-bottom: 1px solid #777777;\n  border-left: 0; }\n\n/* line 406, node_modules/foundation-sites/scss/typography/_base.scss */\nul,\nol,\ndl {\n  margin-bottom: 1rem;\n  list-style-position: outside;\n  line-height: 1.6; }\n\n/* line 415, node_modules/foundation-sites/scss/typography/_base.scss */\nli {\n  font-size: inherit; }\n\n/* line 420, node_modules/foundation-sites/scss/typography/_base.scss */\nul {\n  margin-left: 1.25rem;\n  list-style-type: disc; }\n\n/* line 426, node_modules/foundation-sites/scss/typography/_base.scss */\nol {\n  margin-left: 1.25rem; }\n\n/* line 432, node_modules/foundation-sites/scss/typography/_base.scss */\nul ul, ol ul, ul ol, ol ol {\n  margin-left: 1.25rem;\n  margin-bottom: 0; }\n\n/* line 439, node_modules/foundation-sites/scss/typography/_base.scss */\ndl {\n  margin-bottom: 1rem; }\n  /* line 442, node_modules/foundation-sites/scss/typography/_base.scss */\n  dl dt {\n    margin-bottom: 0.3rem;\n    font-weight: bold; }\n\n/* line 449, node_modules/foundation-sites/scss/typography/_base.scss */\nblockquote {\n  margin: 0 0 1rem;\n  padding: 0.5625rem 1.25rem 0 1.1875rem;\n  border-left: 1px solid #777777; }\n  /* line 454, node_modules/foundation-sites/scss/typography/_base.scss */\n  blockquote, blockquote p {\n    line-height: 1.6;\n    color: #333333; }\n\n/* line 461, node_modules/foundation-sites/scss/typography/_base.scss */\ncite {\n  display: block;\n  font-size: 0.8125rem;\n  color: #333333; }\n  /* line 466, node_modules/foundation-sites/scss/typography/_base.scss */\n  cite:before {\n    content: \"— \"; }\n\n/* line 472, node_modules/foundation-sites/scss/typography/_base.scss */\nabbr, abbr[title] {\n  border-bottom: 1px dotted #000;\n  cursor: help;\n  text-decoration: none; }\n\n/* line 479, node_modules/foundation-sites/scss/typography/_base.scss */\nfigure {\n  margin: 0; }\n\n/* line 484, node_modules/foundation-sites/scss/typography/_base.scss */\ncode {\n  padding: 0.125rem 0.3125rem 0.0625rem;\n  border: 1px solid #777777;\n  background-color: #eeeeee;\n  font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n  font-weight: normal;\n  color: #000; }\n\n/* line 496, node_modules/foundation-sites/scss/typography/_base.scss */\nkbd {\n  margin: 0;\n  padding: 0.125rem 0.25rem 0;\n  background-color: #eeeeee;\n  font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n  color: #000; }\n\n/* line 48, node_modules/foundation-sites/scss/typography/_helpers.scss */\n.subheader {\n  margin-top: 0.2rem;\n  margin-bottom: 0.5rem;\n  font-weight: normal;\n  line-height: 1.4;\n  color: #333333; }\n\n/* line 58, node_modules/foundation-sites/scss/typography/_helpers.scss */\n.lead {\n  font-size: 125%;\n  line-height: 1.6; }\n\n/* line 64, node_modules/foundation-sites/scss/typography/_helpers.scss */\n.stat {\n  font-size: 2.5rem;\n  line-height: 1; }\n  /* line 68, node_modules/foundation-sites/scss/typography/_helpers.scss */\n  p + .stat {\n    margin-top: -1rem; }\n\n/* line 75, node_modules/foundation-sites/scss/typography/_helpers.scss */\nul.no-bullet, ul.comment-list, ol.no-bullet, ol.comment-list {\n  margin-left: 0;\n  list-style: none; }\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n.text-left {\n  text-align: left; }\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n.text-right {\n  text-align: right; }\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n.text-center {\n  text-align: center; }\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n.text-justify {\n  text-align: justify; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .medium-text-left {\n    text-align: left; }\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .medium-text-right {\n    text-align: right; }\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .medium-text-center {\n    text-align: center; }\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .medium-text-justify {\n    text-align: justify; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .large-text-left {\n    text-align: left; }\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .large-text-right {\n    text-align: right; }\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .large-text-center {\n    text-align: center; }\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .large-text-justify {\n    text-align: justify; } }\n\n/* line 18, node_modules/foundation-sites/scss/typography/_print.scss */\n.show-for-print {\n  display: none !important; }\n\n@media print {\n  /* line 21, node_modules/foundation-sites/scss/typography/_print.scss */\n  * {\n    background: transparent !important;\n    box-shadow: none !important;\n    color: black !important;\n    text-shadow: none !important; }\n  /* line 32, node_modules/foundation-sites/scss/typography/_print.scss */\n  .show-for-print {\n    display: block !important; }\n  /* line 33, node_modules/foundation-sites/scss/typography/_print.scss */\n  .hide-for-print {\n    display: none !important; }\n  /* line 35, node_modules/foundation-sites/scss/typography/_print.scss */\n  table.show-for-print {\n    display: table !important; }\n  /* line 36, node_modules/foundation-sites/scss/typography/_print.scss */\n  thead.show-for-print {\n    display: table-header-group !important; }\n  /* line 37, node_modules/foundation-sites/scss/typography/_print.scss */\n  tbody.show-for-print {\n    display: table-row-group !important; }\n  /* line 38, node_modules/foundation-sites/scss/typography/_print.scss */\n  tr.show-for-print {\n    display: table-row !important; }\n  /* line 39, node_modules/foundation-sites/scss/typography/_print.scss */\n  td.show-for-print {\n    display: table-cell !important; }\n  /* line 40, node_modules/foundation-sites/scss/typography/_print.scss */\n  th.show-for-print {\n    display: table-cell !important; }\n  /* line 43, node_modules/foundation-sites/scss/typography/_print.scss */\n  a,\n  a:visited {\n    text-decoration: underline; }\n  /* line 46, node_modules/foundation-sites/scss/typography/_print.scss */\n  a[href]:after {\n    content: \" (\" attr(href) \")\"; }\n  /* line 50, node_modules/foundation-sites/scss/typography/_print.scss */\n  .ir a:after,\n  a[href^='javascript:']:after,\n  a[href^='#']:after {\n    content: ''; }\n  /* line 55, node_modules/foundation-sites/scss/typography/_print.scss */\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\"; }\n  /* line 58, node_modules/foundation-sites/scss/typography/_print.scss */\n  pre,\n  blockquote {\n    border: 1px solid #333333;\n    page-break-inside: avoid; }\n  /* line 65, node_modules/foundation-sites/scss/typography/_print.scss */\n  thead {\n    display: table-header-group; }\n  /* line 67, node_modules/foundation-sites/scss/typography/_print.scss */\n  tr,\n  img {\n    page-break-inside: avoid; }\n  /* line 70, node_modules/foundation-sites/scss/typography/_print.scss */\n  img {\n    max-width: 100% !important; }\n  @page {\n    margin: 0.5cm; }\n  /* line 74, node_modules/foundation-sites/scss/typography/_print.scss */\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3; }\n  /* line 82, node_modules/foundation-sites/scss/typography/_print.scss */\n  h2,\n  h3 {\n    page-break-after: avoid; }\n  /* line 86, node_modules/foundation-sites/scss/typography/_print.scss */\n  .print-break-inside {\n    page-break-inside: auto; } }\n\n/* line 13, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-container {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem;\n  max-width: 75rem;\n  margin-left: auto;\n  margin-right: auto; }\n  @media print, screen and (min-width: 40em) {\n    /* line 13, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-container {\n      padding-right: 0.9375rem;\n      padding-left: 0.9375rem; } }\n  /* line 16, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-container.fluid {\n    padding-right: 0.625rem;\n    padding-left: 0.625rem;\n    max-width: 100%;\n    margin-left: auto;\n    margin-right: auto; }\n    @media print, screen and (min-width: 40em) {\n      /* line 16, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n      .grid-container.fluid {\n        padding-right: 0.9375rem;\n        padding-left: 0.9375rem; } }\n  /* line 20, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-container.full {\n    padding-right: 0;\n    padding-left: 0;\n    max-width: 100%;\n    margin-left: auto;\n    margin-right: auto; }\n\n/* line 26, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x {\n  display: flex;\n  flex-flow: row wrap; }\n\n/* line 30, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.cell {\n  flex: 0 0 auto;\n  min-height: 0px;\n  min-width: 0px;\n  width: 100%; }\n  /* line 34, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .cell.auto {\n    flex: 1 1 0px; }\n  /* line 38, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .cell.shrink {\n    flex: 0 0 auto; }\n\n/* line 44, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .auto {\n  width: auto; }\n\n/* line 48, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .shrink {\n  width: auto; }\n\n/* line 64, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {\n  flex-basis: auto; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 64, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {\n    flex-basis: auto; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 64, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {\n    flex-basis: auto; } }\n\n/* line 79, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {\n  flex: 0 0 auto; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-1 {\n  width: 8.33333%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-2 {\n  width: 16.66667%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-3 {\n  width: 25%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-4 {\n  width: 33.33333%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-5 {\n  width: 41.66667%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-6 {\n  width: 50%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-7 {\n  width: 58.33333%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-8 {\n  width: 66.66667%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-9 {\n  width: 75%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-10 {\n  width: 83.33333%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-11 {\n  width: 91.66667%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-12 {\n  width: 100%; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 73, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-auto {\n    flex: 1 1 0px;\n    width: auto; }\n  /* line 79, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {\n    flex: 0 0 auto; }\n  /* line 85, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-shrink {\n    width: auto; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-1 {\n    width: 8.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-2 {\n    width: 16.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-3 {\n    width: 25%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-4 {\n    width: 33.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-5 {\n    width: 41.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-6 {\n    width: 50%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-7 {\n    width: 58.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-8 {\n    width: 66.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-9 {\n    width: 75%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-10 {\n    width: 83.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-11 {\n    width: 91.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-12 {\n    width: 100%; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 73, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-auto {\n    flex: 1 1 0px;\n    width: auto; }\n  /* line 79, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {\n    flex: 0 0 auto; }\n  /* line 85, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-shrink {\n    width: auto; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-1 {\n    width: 8.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-2 {\n    width: 16.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-3 {\n    width: 25%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-4 {\n    width: 33.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-5 {\n    width: 41.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-6 {\n    width: 50%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-7 {\n    width: 58.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-8 {\n    width: 66.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-9 {\n    width: 75%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-10 {\n    width: 83.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-11 {\n    width: 91.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-12 {\n    width: 100%; } }\n\n/* line 102, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x:not(.grid-x) > .cell {\n  width: auto; }\n\n/* line 107, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-y:not(.grid-y) > .cell {\n  height: auto; }\n\n/* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x {\n  margin-left: -0.625rem;\n  margin-right: -0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x {\n      margin-left: -0.9375rem;\n      margin-right: -0.9375rem; } }\n  /* line 142, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .cell {\n    width: calc(100% - 1.25rem);\n    margin-left: 0.625rem;\n    margin-right: 0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 149, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .cell {\n      width: calc(100% - 1.875rem);\n      margin-left: 0.9375rem;\n      margin-right: 0.9375rem; } }\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .auto {\n    width: auto; }\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .shrink {\n    width: auto; }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-1 {\n    width: calc(8.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-2 {\n    width: calc(16.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-3 {\n    width: calc(25% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-4 {\n    width: calc(33.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-5 {\n    width: calc(41.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-6 {\n    width: calc(50% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-7 {\n    width: calc(58.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-8 {\n    width: calc(66.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-9 {\n    width: calc(75% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-10 {\n    width: calc(83.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-11 {\n    width: calc(91.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-12 {\n    width: calc(100% - 1.25rem); }\n  @media print, screen and (min-width: 40em) {\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .auto {\n      width: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .shrink {\n      width: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-1 {\n      width: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-2 {\n      width: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-3 {\n      width: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-4 {\n      width: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-5 {\n      width: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-6 {\n      width: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-7 {\n      width: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-8 {\n      width: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-9 {\n      width: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-10 {\n      width: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-11 {\n      width: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-12 {\n      width: calc(100% - 1.875rem); }\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-auto {\n      width: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-shrink {\n      width: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-1 {\n      width: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-2 {\n      width: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-3 {\n      width: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-4 {\n      width: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-5 {\n      width: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-6 {\n      width: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-7 {\n      width: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-8 {\n      width: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-9 {\n      width: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-10 {\n      width: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-11 {\n      width: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-12 {\n      width: calc(100% - 1.875rem); } }\n  @media print, screen and (min-width: 64em) {\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-auto {\n      width: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-shrink {\n      width: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-1 {\n      width: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-2 {\n      width: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-3 {\n      width: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-4 {\n      width: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-5 {\n      width: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-6 {\n      width: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-7 {\n      width: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-8 {\n      width: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-9 {\n      width: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-10 {\n      width: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-11 {\n      width: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-12 {\n      width: calc(100% - 1.875rem); } }\n\n/* line 177, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-padding-x .grid-padding-x {\n  margin-right: -0.625rem;\n  margin-left: -0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 177, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-padding-x .grid-padding-x {\n      margin-right: -0.9375rem;\n      margin-left: -0.9375rem; } }\n\n/* line 183, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-container:not(.full) > .grid-padding-x {\n  margin-right: -0.625rem;\n  margin-left: -0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 183, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-container:not(.full) > .grid-padding-x {\n      margin-right: -0.9375rem;\n      margin-left: -0.9375rem; } }\n\n/* line 188, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-padding-x > .cell {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 188, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-padding-x > .cell {\n      padding-right: 0.9375rem;\n      padding-left: 0.9375rem; } }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-1 > .cell {\n  width: 100%; }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-2 > .cell {\n  width: 50%; }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-3 > .cell {\n  width: 33.33333%; }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-4 > .cell {\n  width: 25%; }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-5 > .cell {\n  width: 20%; }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-6 > .cell {\n  width: 16.66667%; }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-7 > .cell {\n  width: 14.28571%; }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-8 > .cell {\n  width: 12.5%; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-1 > .cell {\n    width: 100%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-2 > .cell {\n    width: 50%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-3 > .cell {\n    width: 33.33333%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-4 > .cell {\n    width: 25%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-5 > .cell {\n    width: 20%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-6 > .cell {\n    width: 16.66667%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-7 > .cell {\n    width: 14.28571%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-8 > .cell {\n    width: 12.5%; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-1 > .cell {\n    width: 100%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-2 > .cell {\n    width: 50%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-3 > .cell {\n    width: 33.33333%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-4 > .cell {\n    width: 25%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-5 > .cell {\n    width: 20%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-6 > .cell {\n    width: 16.66667%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-7 > .cell {\n    width: 14.28571%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-8 > .cell {\n    width: 12.5%; } }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-1 > .cell {\n  width: calc(100% - 1.25rem); }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-2 > .cell {\n  width: calc(50% - 1.25rem); }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-3 > .cell {\n  width: calc(33.33333% - 1.25rem); }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-4 > .cell {\n  width: calc(25% - 1.25rem); }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-5 > .cell {\n  width: calc(20% - 1.25rem); }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-6 > .cell {\n  width: calc(16.66667% - 1.25rem); }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-7 > .cell {\n  width: calc(14.28571% - 1.25rem); }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-8 > .cell {\n  width: calc(12.5% - 1.25rem); }\n\n@media print, screen and (min-width: 40em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-1 > .cell {\n    width: calc(100% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-2 > .cell {\n    width: calc(50% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-3 > .cell {\n    width: calc(33.33333% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-4 > .cell {\n    width: calc(25% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-5 > .cell {\n    width: calc(20% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-6 > .cell {\n    width: calc(16.66667% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-7 > .cell {\n    width: calc(14.28571% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-8 > .cell {\n    width: calc(12.5% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-1 > .cell {\n    width: calc(100% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-2 > .cell {\n    width: calc(50% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-3 > .cell {\n    width: calc(33.33333% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-4 > .cell {\n    width: calc(25% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-5 > .cell {\n    width: calc(20% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-6 > .cell {\n    width: calc(16.66667% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-7 > .cell {\n    width: calc(14.28571% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-8 > .cell {\n    width: calc(12.5% - 1.875rem); } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-1 > .cell {\n    width: calc(100% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-2 > .cell {\n    width: calc(50% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-3 > .cell {\n    width: calc(33.33333% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-4 > .cell {\n    width: calc(25% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-5 > .cell {\n    width: calc(20% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-6 > .cell {\n    width: calc(16.66667% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-7 > .cell {\n    width: calc(14.28571% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-8 > .cell {\n    width: calc(12.5% - 1.875rem); } }\n\n/* line 234, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-margin-collapse {\n  margin-right: 0;\n  margin-left: 0; }\n  /* line 29, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .cell {\n    margin-right: 0;\n    margin-left: 0; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-1 {\n    width: 8.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-2 {\n    width: 16.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-3 {\n    width: 25%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-4 {\n    width: 33.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-5 {\n    width: 41.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-6 {\n    width: 50%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-7 {\n    width: 58.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-8 {\n    width: 66.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-9 {\n    width: 75%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-10 {\n    width: 83.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-11 {\n    width: 91.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-12 {\n    width: 100%; }\n  @media print, screen and (min-width: 40em) {\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-1 {\n      width: 8.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-2 {\n      width: 16.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-3 {\n      width: 25%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-4 {\n      width: 33.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-5 {\n      width: 41.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-6 {\n      width: 50%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-7 {\n      width: 58.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-8 {\n      width: 66.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-9 {\n      width: 75%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-10 {\n      width: 83.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-11 {\n      width: 91.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-12 {\n      width: 100%; } }\n  @media print, screen and (min-width: 64em) {\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-1 {\n      width: 8.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-2 {\n      width: 16.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-3 {\n      width: 25%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-4 {\n      width: 33.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-5 {\n      width: 41.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-6 {\n      width: 50%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-7 {\n      width: 58.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-8 {\n      width: 66.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-9 {\n      width: 75%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-10 {\n      width: 83.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-11 {\n      width: 91.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-12 {\n      width: 100%; } }\n\n/* line 240, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-padding-collapse {\n  margin-right: 0;\n  margin-left: 0; }\n  /* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-padding-collapse > .cell {\n    padding-right: 0;\n    padding-left: 0; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 234, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-margin-collapse {\n    margin-right: 0;\n    margin-left: 0; }\n    /* line 29, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .medium-margin-collapse > .cell {\n      margin-right: 0;\n      margin-left: 0; } }\n\n@media print, screen and (min-width: 40em) {\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-1 {\n    width: 8.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-2 {\n    width: 16.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-3 {\n    width: 25%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-4 {\n    width: 33.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-5 {\n    width: 41.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-6 {\n    width: 50%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-7 {\n    width: 58.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-8 {\n    width: 66.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-9 {\n    width: 75%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-10 {\n    width: 83.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-11 {\n    width: 91.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-12 {\n    width: 100%; } }\n\n@media print, screen and (min-width: 40em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-1 {\n    width: 8.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-2 {\n    width: 16.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-3 {\n    width: 25%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-4 {\n    width: 33.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-5 {\n    width: 41.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-6 {\n    width: 50%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-7 {\n    width: 58.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-8 {\n    width: 66.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-9 {\n    width: 75%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-10 {\n    width: 83.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-11 {\n    width: 91.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-12 {\n    width: 100%; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-1 {\n    width: 8.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-2 {\n    width: 16.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-3 {\n    width: 25%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-4 {\n    width: 33.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-5 {\n    width: 41.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-6 {\n    width: 50%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-7 {\n    width: 58.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-8 {\n    width: 66.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-9 {\n    width: 75%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-10 {\n    width: 83.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-11 {\n    width: 91.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-12 {\n    width: 100%; } }\n\n@media print, screen and (min-width: 40em) {\n  /* line 240, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-padding-collapse {\n    margin-right: 0;\n    margin-left: 0; }\n    /* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .medium-padding-collapse > .cell {\n      padding-right: 0;\n      padding-left: 0; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 234, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-margin-collapse {\n    margin-right: 0;\n    margin-left: 0; }\n    /* line 29, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .large-margin-collapse > .cell {\n      margin-right: 0;\n      margin-left: 0; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-1 {\n    width: 8.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-2 {\n    width: 16.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-3 {\n    width: 25%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-4 {\n    width: 33.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-5 {\n    width: 41.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-6 {\n    width: 50%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-7 {\n    width: 58.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-8 {\n    width: 66.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-9 {\n    width: 75%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-10 {\n    width: 83.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-11 {\n    width: 91.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-12 {\n    width: 100%; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-1 {\n    width: 8.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-2 {\n    width: 16.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-3 {\n    width: 25%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-4 {\n    width: 33.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-5 {\n    width: 41.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-6 {\n    width: 50%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-7 {\n    width: 58.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-8 {\n    width: 66.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-9 {\n    width: 75%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-10 {\n    width: 83.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-11 {\n    width: 91.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-12 {\n    width: 100%; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-1 {\n    width: 8.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-2 {\n    width: 16.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-3 {\n    width: 25%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-4 {\n    width: 33.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-5 {\n    width: 41.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-6 {\n    width: 50%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-7 {\n    width: 58.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-8 {\n    width: 66.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-9 {\n    width: 75%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-10 {\n    width: 83.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-11 {\n    width: 91.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-12 {\n    width: 100%; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 240, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-padding-collapse {\n    margin-right: 0;\n    margin-left: 0; }\n    /* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .large-padding-collapse > .cell {\n      padding-right: 0;\n      padding-left: 0; } }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-0 {\n  margin-left: 0%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-0 {\n  margin-left: calc(0% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-1 {\n  margin-left: 8.33333%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-1 {\n  margin-left: calc(8.33333% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-2 {\n  margin-left: 16.66667%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-2 {\n  margin-left: calc(16.66667% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-3 {\n  margin-left: 25%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-3 {\n  margin-left: calc(25% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-4 {\n  margin-left: 33.33333%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-4 {\n  margin-left: calc(33.33333% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-5 {\n  margin-left: 41.66667%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-5 {\n  margin-left: calc(41.66667% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-6 {\n  margin-left: 50%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-6 {\n  margin-left: calc(50% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-7 {\n  margin-left: 58.33333%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-7 {\n  margin-left: calc(58.33333% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-8 {\n  margin-left: 66.66667%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-8 {\n  margin-left: calc(66.66667% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-9 {\n  margin-left: 75%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-9 {\n  margin-left: calc(75% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-10 {\n  margin-left: 83.33333%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-10 {\n  margin-left: calc(83.33333% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-11 {\n  margin-left: 91.66667%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-11 {\n  margin-left: calc(91.66667% + 0.625rem); }\n\n@media print, screen and (min-width: 40em) {\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-0 {\n    margin-left: 0%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-0 {\n    margin-left: calc(0% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-1 {\n    margin-left: 8.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-1 {\n    margin-left: calc(8.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-2 {\n    margin-left: 16.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-2 {\n    margin-left: calc(16.66667% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-3 {\n    margin-left: 25%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-3 {\n    margin-left: calc(25% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-4 {\n    margin-left: 33.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-4 {\n    margin-left: calc(33.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-5 {\n    margin-left: 41.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-5 {\n    margin-left: calc(41.66667% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-6 {\n    margin-left: 50%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-6 {\n    margin-left: calc(50% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-7 {\n    margin-left: 58.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-7 {\n    margin-left: calc(58.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-8 {\n    margin-left: 66.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-8 {\n    margin-left: calc(66.66667% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-9 {\n    margin-left: 75%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-9 {\n    margin-left: calc(75% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-10 {\n    margin-left: 83.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-10 {\n    margin-left: calc(83.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-11 {\n    margin-left: 91.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-11 {\n    margin-left: calc(91.66667% + 0.9375rem); } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-0 {\n    margin-left: 0%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-0 {\n    margin-left: calc(0% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-1 {\n    margin-left: 8.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-1 {\n    margin-left: calc(8.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-2 {\n    margin-left: 16.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-2 {\n    margin-left: calc(16.66667% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-3 {\n    margin-left: 25%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-3 {\n    margin-left: calc(25% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-4 {\n    margin-left: 33.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-4 {\n    margin-left: calc(33.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-5 {\n    margin-left: 41.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-5 {\n    margin-left: calc(41.66667% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-6 {\n    margin-left: 50%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-6 {\n    margin-left: calc(50% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-7 {\n    margin-left: 58.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-7 {\n    margin-left: calc(58.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-8 {\n    margin-left: 66.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-8 {\n    margin-left: calc(66.66667% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-9 {\n    margin-left: 75%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-9 {\n    margin-left: calc(75% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-10 {\n    margin-left: 83.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-10 {\n    margin-left: calc(83.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-11 {\n    margin-left: 91.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-11 {\n    margin-left: calc(91.66667% + 0.9375rem); } }\n\n/* line 276, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-y {\n  display: flex;\n  flex-flow: column nowrap; }\n  /* line 280, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .cell {\n    width: auto;\n    max-width: none; }\n  /* line 284, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .auto {\n    height: auto; }\n  /* line 288, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .shrink {\n    height: auto; }\n  /* line 302, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {\n    flex-basis: auto; }\n  @media print, screen and (min-width: 40em) {\n    /* line 302, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {\n      flex-basis: auto; } }\n  @media print, screen and (min-width: 64em) {\n    /* line 302, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {\n      flex-basis: auto; } }\n  /* line 316, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {\n    flex: 0 0 auto; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-1 {\n    height: 8.33333%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-2 {\n    height: 16.66667%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-3 {\n    height: 25%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-4 {\n    height: 33.33333%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-5 {\n    height: 41.66667%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-6 {\n    height: 50%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-7 {\n    height: 58.33333%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-8 {\n    height: 66.66667%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-9 {\n    height: 75%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-10 {\n    height: 83.33333%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-11 {\n    height: 91.66667%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-12 {\n    height: 100%; }\n  @media print, screen and (min-width: 40em) {\n    /* line 310, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-auto {\n      flex: 1 1 0px;\n      height: auto; }\n    /* line 316, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {\n      flex: 0 0 auto; }\n    /* line 322, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-shrink {\n      height: auto; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-1 {\n      height: 8.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-2 {\n      height: 16.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-3 {\n      height: 25%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-4 {\n      height: 33.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-5 {\n      height: 41.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-6 {\n      height: 50%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-7 {\n      height: 58.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-8 {\n      height: 66.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-9 {\n      height: 75%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-10 {\n      height: 83.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-11 {\n      height: 91.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-12 {\n      height: 100%; } }\n  @media print, screen and (min-width: 64em) {\n    /* line 310, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-auto {\n      flex: 1 1 0px;\n      height: auto; }\n    /* line 316, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {\n      flex: 0 0 auto; }\n    /* line 322, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-shrink {\n      height: auto; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-1 {\n      height: 8.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-2 {\n      height: 16.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-3 {\n      height: 25%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-4 {\n      height: 33.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-5 {\n      height: 41.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-6 {\n      height: 50%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-7 {\n      height: 58.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-8 {\n      height: 66.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-9 {\n      height: 75%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-10 {\n      height: 83.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-11 {\n      height: 91.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-12 {\n      height: 100%; } }\n\n/* line 343, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-padding-y .grid-padding-y {\n  margin-top: -0.625rem;\n  margin-bottom: -0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 343, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-padding-y .grid-padding-y {\n      margin-top: -0.9375rem;\n      margin-bottom: -0.9375rem; } }\n\n/* line 348, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-padding-y > .cell {\n  padding-top: 0.625rem;\n  padding-bottom: 0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 348, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-padding-y > .cell {\n      padding-top: 0.9375rem;\n      padding-bottom: 0.9375rem; } }\n\n/* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-y {\n  margin-top: -0.625rem;\n  margin-bottom: -0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y {\n      margin-top: -0.9375rem;\n      margin-bottom: -0.9375rem; } }\n  /* line 142, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .cell {\n    height: calc(100% - 1.25rem);\n    margin-top: 0.625rem;\n    margin-bottom: 0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 149, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .cell {\n      height: calc(100% - 1.875rem);\n      margin-top: 0.9375rem;\n      margin-bottom: 0.9375rem; } }\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .auto {\n    height: auto; }\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .shrink {\n    height: auto; }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-1 {\n    height: calc(8.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-2 {\n    height: calc(16.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-3 {\n    height: calc(25% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-4 {\n    height: calc(33.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-5 {\n    height: calc(41.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-6 {\n    height: calc(50% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-7 {\n    height: calc(58.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-8 {\n    height: calc(66.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-9 {\n    height: calc(75% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-10 {\n    height: calc(83.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-11 {\n    height: calc(91.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-12 {\n    height: calc(100% - 1.25rem); }\n  @media print, screen and (min-width: 40em) {\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .auto {\n      height: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .shrink {\n      height: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-1 {\n      height: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-2 {\n      height: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-3 {\n      height: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-4 {\n      height: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-5 {\n      height: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-6 {\n      height: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-7 {\n      height: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-8 {\n      height: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-9 {\n      height: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-10 {\n      height: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-11 {\n      height: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-12 {\n      height: calc(100% - 1.875rem); }\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-auto {\n      height: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-shrink {\n      height: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-1 {\n      height: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-2 {\n      height: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-3 {\n      height: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-4 {\n      height: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-5 {\n      height: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-6 {\n      height: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-7 {\n      height: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-8 {\n      height: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-9 {\n      height: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-10 {\n      height: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-11 {\n      height: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-12 {\n      height: calc(100% - 1.875rem); } }\n  @media print, screen and (min-width: 64em) {\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-auto {\n      height: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-shrink {\n      height: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-1 {\n      height: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-2 {\n      height: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-3 {\n      height: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-4 {\n      height: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-5 {\n      height: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-6 {\n      height: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-7 {\n      height: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-8 {\n      height: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-9 {\n      height: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-10 {\n      height: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-11 {\n      height: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-12 {\n      height: calc(100% - 1.875rem); } }\n\n/* line 362, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-frame {\n  overflow: hidden;\n  position: relative;\n  flex-wrap: nowrap;\n  align-items: stretch;\n  width: 100vw; }\n\n/* line 366, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.cell .grid-frame {\n  width: 100%; }\n\n/* line 370, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.cell-block {\n  overflow-x: auto;\n  max-width: 100%;\n  -webkit-overflow-scrolling: touch;\n  -ms-overflow-style: -ms-autohiding-scrollbar; }\n\n/* line 374, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.cell-block-y {\n  overflow-y: auto;\n  max-height: 100%;\n  min-height: 100%;\n  -webkit-overflow-scrolling: touch;\n  -ms-overflow-style: -ms-autohiding-scrollbar; }\n\n/* line 379, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.cell-block-container {\n  display: flex;\n  flex-direction: column;\n  max-height: 100%; }\n  /* line 82, node_modules/foundation-sites/scss/xy-grid/_frame.scss */\n  .cell-block-container > .grid-x {\n    max-height: 100%;\n    flex-wrap: nowrap; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 386, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-grid-frame {\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    width: 100vw; }\n  /* line 390, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .cell .medium-grid-frame {\n    width: 100%; }\n  /* line 394, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-cell-block {\n    overflow-x: auto;\n    max-width: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar; }\n  /* line 398, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-cell-block-container {\n    display: flex;\n    flex-direction: column;\n    max-height: 100%; }\n    /* line 82, node_modules/foundation-sites/scss/xy-grid/_frame.scss */\n    .medium-cell-block-container > .grid-x {\n      max-height: 100%;\n      flex-wrap: nowrap; }\n  /* line 402, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-cell-block-y {\n    overflow-y: auto;\n    max-height: 100%;\n    min-height: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 386, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-grid-frame {\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    width: 100vw; }\n  /* line 390, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .cell .large-grid-frame {\n    width: 100%; }\n  /* line 394, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-cell-block {\n    overflow-x: auto;\n    max-width: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar; }\n  /* line 398, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-cell-block-container {\n    display: flex;\n    flex-direction: column;\n    max-height: 100%; }\n    /* line 82, node_modules/foundation-sites/scss/xy-grid/_frame.scss */\n    .large-cell-block-container > .grid-x {\n      max-height: 100%;\n      flex-wrap: nowrap; }\n  /* line 402, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-cell-block-y {\n    overflow-y: auto;\n    max-height: 100%;\n    min-height: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar; } }\n\n/* line 409, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-y.grid-frame {\n  width: auto;\n  overflow: hidden;\n  position: relative;\n  flex-wrap: nowrap;\n  align-items: stretch;\n  height: 100vh; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 415, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y.medium-grid-frame {\n    width: auto;\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    height: 100vh; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 415, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y.large-grid-frame {\n    width: auto;\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    height: 100vh; } }\n\n/* line 423, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.cell .grid-y.grid-frame {\n  height: 100%; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 427, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .cell .grid-y.medium-grid-frame {\n    height: 100%; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 427, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .cell .grid-y.large-grid-frame {\n    height: 100%; } }\n\n/* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-y {\n  margin-top: -0.625rem;\n  margin-bottom: -0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y {\n      margin-top: -0.9375rem;\n      margin-bottom: -0.9375rem; } }\n  /* line 142, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .cell {\n    height: calc(100% - 1.25rem);\n    margin-top: 0.625rem;\n    margin-bottom: 0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 149, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .cell {\n      height: calc(100% - 1.875rem);\n      margin-top: 0.9375rem;\n      margin-bottom: 0.9375rem; } }\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .auto {\n    height: auto; }\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .shrink {\n    height: auto; }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-1 {\n    height: calc(8.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-2 {\n    height: calc(16.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-3 {\n    height: calc(25% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-4 {\n    height: calc(33.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-5 {\n    height: calc(41.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-6 {\n    height: calc(50% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-7 {\n    height: calc(58.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-8 {\n    height: calc(66.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-9 {\n    height: calc(75% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-10 {\n    height: calc(83.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-11 {\n    height: calc(91.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-12 {\n    height: calc(100% - 1.25rem); }\n  @media print, screen and (min-width: 40em) {\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .auto {\n      height: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .shrink {\n      height: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-1 {\n      height: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-2 {\n      height: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-3 {\n      height: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-4 {\n      height: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-5 {\n      height: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-6 {\n      height: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-7 {\n      height: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-8 {\n      height: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-9 {\n      height: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-10 {\n      height: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-11 {\n      height: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-12 {\n      height: calc(100% - 1.875rem); }\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-auto {\n      height: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-shrink {\n      height: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-1 {\n      height: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-2 {\n      height: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-3 {\n      height: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-4 {\n      height: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-5 {\n      height: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-6 {\n      height: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-7 {\n      height: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-8 {\n      height: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-9 {\n      height: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-10 {\n      height: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-11 {\n      height: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-12 {\n      height: calc(100% - 1.875rem); } }\n  @media print, screen and (min-width: 64em) {\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-auto {\n      height: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-shrink {\n      height: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-1 {\n      height: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-2 {\n      height: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-3 {\n      height: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-4 {\n      height: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-5 {\n      height: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-6 {\n      height: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-7 {\n      height: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-8 {\n      height: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-9 {\n      height: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-10 {\n      height: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-11 {\n      height: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-12 {\n      height: calc(100% - 1.875rem); } }\n\n/* line 435, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-frame.grid-margin-y {\n  height: calc(100vh + 1.25rem); }\n  @media print, screen and (min-width: 40em) {\n    /* line 435, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-frame.grid-margin-y {\n      height: calc(100vh + 1.875rem); } }\n  @media print, screen and (min-width: 64em) {\n    /* line 435, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-frame.grid-margin-y {\n      height: calc(100vh + 1.875rem); } }\n\n@media print, screen and (min-width: 40em) {\n  /* line 439, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y.medium-grid-frame {\n    height: calc(100vh + 1.875rem); } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 439, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y.large-grid-frame {\n    height: calc(100vh + 1.875rem); } }\n\n/* line 266, node_modules/foundation-sites/scss/components/_button.scss */\n.button {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #1779ba;\n  color: #fefefe; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .button {\n    outline: 0; }\n  /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n  .button:hover, .button:focus {\n    background-color: #14679e;\n    color: #fefefe; }\n  /* line 271, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.tiny {\n    font-size: 0.6rem; }\n  /* line 271, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.small {\n    font-size: 0.75rem; }\n  /* line 271, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.large {\n    font-size: 1.25rem; }\n  /* line 276, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.expanded {\n    display: block;\n    width: 100%;\n    margin-right: 0;\n    margin-left: 0; }\n  /* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.primary {\n    background-color: #1779ba;\n    color: #fefefe; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.primary:hover, .button.primary:focus {\n      background-color: #126195;\n      color: #fefefe; }\n  /* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.secondary {\n    background-color: #767676;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.secondary:hover, .button.secondary:focus {\n      background-color: #5e5e5e;\n      color: #000; }\n  /* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.success {\n    background-color: #18a733;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.success:hover, .button.success:focus {\n      background-color: #138629;\n      color: #000; }\n  /* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.warning {\n    background-color: #ffae00;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.warning:hover, .button.warning:focus {\n      background-color: #cc8b00;\n      color: #000; }\n  /* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.alert {\n    background-color: #cc4b37;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.alert:hover, .button.alert:focus {\n      background-color: #a53b2a;\n      color: #000; }\n  /* line 320, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.disabled, .button[disabled] {\n    opacity: 0.25;\n    cursor: not-allowed; }\n    /* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {\n      background-color: #1779ba;\n      color: #fefefe; }\n    /* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.disabled.primary, .button[disabled].primary {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      /* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {\n        background-color: #1779ba;\n        color: #fefefe; }\n    /* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.disabled.secondary, .button[disabled].secondary {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      /* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {\n        background-color: #767676;\n        color: #000; }\n    /* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.disabled.success, .button[disabled].success {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      /* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {\n        background-color: #18a733;\n        color: #000; }\n    /* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.disabled.warning, .button[disabled].warning {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      /* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {\n        background-color: #ffae00;\n        color: #000; }\n    /* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.disabled.alert, .button[disabled].alert {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      /* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {\n        background-color: #cc4b37;\n        color: #000; }\n  /* line 333, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.hollow {\n    border: 1px solid #1779ba;\n    color: #1779ba; }\n    /* line 161, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow, .button.hollow:hover, .button.hollow:focus {\n      background-color: transparent; }\n    /* line 169, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {\n      background-color: transparent; }\n    /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow:hover, .button.hollow:focus {\n      border-color: #0c3d5d;\n      color: #0c3d5d; }\n      /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {\n        border: 1px solid #1779ba;\n        color: #1779ba; }\n    /* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow.primary {\n      border: 1px solid #1779ba;\n      color: #1779ba; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.hollow.primary:hover, .button.hollow.primary:focus {\n        border-color: #0c3d5d;\n        color: #0c3d5d; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {\n          border: 1px solid #1779ba;\n          color: #1779ba; }\n    /* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow.secondary {\n      border: 1px solid #767676;\n      color: #767676; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.hollow.secondary:hover, .button.hollow.secondary:focus {\n        border-color: #3b3b3b;\n        color: #3b3b3b; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {\n          border: 1px solid #767676;\n          color: #767676; }\n    /* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow.success {\n      border: 1px solid #18a733;\n      color: #18a733; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.hollow.success:hover, .button.hollow.success:focus {\n        border-color: #0c541a;\n        color: #0c541a; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {\n          border: 1px solid #18a733;\n          color: #18a733; }\n    /* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow.warning {\n      border: 1px solid #ffae00;\n      color: #ffae00; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.hollow.warning:hover, .button.hollow.warning:focus {\n        border-color: #805700;\n        color: #805700; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {\n          border: 1px solid #ffae00;\n          color: #ffae00; }\n    /* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow.alert {\n      border: 1px solid #cc4b37;\n      color: #cc4b37; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.hollow.alert:hover, .button.hollow.alert:focus {\n        border-color: #67251a;\n        color: #67251a; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {\n          border: 1px solid #cc4b37;\n          color: #cc4b37; }\n  /* line 347, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.clear {\n    border: 1px solid #1779ba;\n    color: #1779ba; }\n    /* line 161, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear, .button.clear:hover, .button.clear:focus {\n      background-color: transparent; }\n    /* line 169, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {\n      background-color: transparent; }\n    /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear:hover, .button.clear:focus {\n      border-color: #0c3d5d;\n      color: #0c3d5d; }\n      /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {\n        border: 1px solid #1779ba;\n        color: #1779ba; }\n    /* line 352, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {\n      border-color: transparent; }\n    /* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear.primary {\n      border: 1px solid #1779ba;\n      color: #1779ba; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.primary:hover, .button.clear.primary:focus {\n        border-color: #0c3d5d;\n        color: #0c3d5d; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {\n          border: 1px solid #1779ba;\n          color: #1779ba; }\n      /* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {\n        border-color: transparent; }\n    /* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear.secondary {\n      border: 1px solid #767676;\n      color: #767676; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.secondary:hover, .button.clear.secondary:focus {\n        border-color: #3b3b3b;\n        color: #3b3b3b; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {\n          border: 1px solid #767676;\n          color: #767676; }\n      /* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {\n        border-color: transparent; }\n    /* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear.success {\n      border: 1px solid #18a733;\n      color: #18a733; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.success:hover, .button.clear.success:focus {\n        border-color: #0c541a;\n        color: #0c541a; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {\n          border: 1px solid #18a733;\n          color: #18a733; }\n      /* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {\n        border-color: transparent; }\n    /* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear.warning {\n      border: 1px solid #ffae00;\n      color: #ffae00; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.warning:hover, .button.clear.warning:focus {\n        border-color: #805700;\n        color: #805700; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {\n          border: 1px solid #ffae00;\n          color: #ffae00; }\n      /* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {\n        border-color: transparent; }\n    /* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear.alert {\n      border: 1px solid #cc4b37;\n      color: #cc4b37; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.alert:hover, .button.clear.alert:focus {\n        border-color: #67251a;\n        color: #67251a; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {\n          border: 1px solid #cc4b37;\n          color: #cc4b37; }\n      /* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {\n        border-color: transparent; }\n  /* line 226, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.dropdown::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.4em;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #fefefe transparent transparent;\n    position: relative;\n    top: 0.4em;\n    display: inline-block;\n    float: right;\n    margin-left: 1em; }\n  /* line 385, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.dropdown.hollow::after, .button.dropdown.clear::after {\n    border-top-color: #1779ba; }\n  /* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {\n    border-top-color: #1779ba; }\n  /* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {\n    border-top-color: #767676; }\n  /* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {\n    border-top-color: #18a733; }\n  /* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {\n    border-top-color: #ffae00; }\n  /* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {\n    border-top-color: #cc4b37; }\n  /* line 400, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.arrow-only::after {\n    top: -0.1em;\n    float: none;\n    margin-left: 0; }\n\n/* line 408, node_modules/foundation-sites/scss/components/_button.scss */\na.button:hover, a.button:focus {\n  text-decoration: none; }\n\n/* line 198, node_modules/foundation-sites/scss/components/_button-group.scss */\n.button-group {\n  margin-bottom: 1rem;\n  display: flex;\n  flex-wrap: nowrap;\n  align-items: stretch; }\n  /* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .button-group::before, .button-group::after {\n    display: table;\n    content: ' ';\n    flex-basis: 0;\n    order: 1; }\n  /* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .button-group::after {\n    clear: both; }\n  /* line 48, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group .button {\n    margin: 0;\n    margin-right: 1px;\n    margin-bottom: 1px;\n    font-size: 0.9rem;\n    flex: 0 0 auto; }\n    /* line 58, node_modules/foundation-sites/scss/components/_button-group.scss */\n    .button-group .button:last-child {\n      margin-right: 0; }\n  /* line 203, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.tiny .button {\n    font-size: 0.6rem; }\n  /* line 203, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.small .button {\n    font-size: 0.75rem; }\n  /* line 203, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.large .button {\n    font-size: 1.25rem; }\n  /* line 96, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.expanded .button {\n    flex: 1 1 0px; }\n  /* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.primary .button {\n    background-color: #1779ba;\n    color: #fefefe; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-group.primary .button:hover, .button-group.primary .button:focus {\n      background-color: #126195;\n      color: #fefefe; }\n  /* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.secondary .button {\n    background-color: #767676;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-group.secondary .button:hover, .button-group.secondary .button:focus {\n      background-color: #5e5e5e;\n      color: #000; }\n  /* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.success .button {\n    background-color: #18a733;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-group.success .button:hover, .button-group.success .button:focus {\n      background-color: #138629;\n      color: #000; }\n  /* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.warning .button {\n    background-color: #ffae00;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-group.warning .button:hover, .button-group.warning .button:focus {\n      background-color: #cc8b00;\n      color: #000; }\n  /* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.alert .button {\n    background-color: #cc4b37;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-group.alert .button:hover, .button-group.alert .button:focus {\n      background-color: #a53b2a;\n      color: #000; }\n  /* line 228, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {\n    flex-wrap: wrap; }\n    /* line 135, node_modules/foundation-sites/scss/components/_button-group.scss */\n    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {\n      flex: 0 0 100%; }\n      /* line 143, node_modules/foundation-sites/scss/components/_button-group.scss */\n      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {\n        margin-bottom: 0; }\n    /* line 96, node_modules/foundation-sites/scss/components/_button-group.scss */\n    .button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button {\n      flex: 1 1 0px; }\n  @media print, screen and (min-width: 40em) {\n    /* line 171, node_modules/foundation-sites/scss/components/_button-group.scss */\n    .button-group.stacked-for-small .button {\n      flex: 0 0 auto;\n      margin-bottom: 0; } }\n  @media print, screen and (min-width: 64em) {\n    /* line 171, node_modules/foundation-sites/scss/components/_button-group.scss */\n    .button-group.stacked-for-medium .button {\n      flex: 0 0 auto;\n      margin-bottom: 0; } }\n  @media screen and (max-width: 39.99875em) {\n    /* line 250, node_modules/foundation-sites/scss/components/_button-group.scss */\n    .button-group.stacked-for-small.expanded {\n      display: block; }\n      /* line 254, node_modules/foundation-sites/scss/components/_button-group.scss */\n      .button-group.stacked-for-small.expanded .button {\n        display: block;\n        margin-right: 0; } }\n  @media screen and (max-width: 63.99875em) {\n    /* line 261, node_modules/foundation-sites/scss/components/_button-group.scss */\n    .button-group.stacked-for-medium.expanded {\n      display: block; }\n      /* line 265, node_modules/foundation-sites/scss/components/_button-group.scss */\n      .button-group.stacked-for-medium.expanded .button {\n        display: block;\n        margin-right: 0; } }\n\n/* line 96, node_modules/foundation-sites/scss/components/_close-button.scss */\n.close-button {\n  position: absolute;\n  color: #333333;\n  cursor: pointer; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .close-button {\n    outline: 0; }\n  /* line 89, node_modules/foundation-sites/scss/components/_close-button.scss */\n  .close-button:hover, .close-button:focus {\n    color: #000; }\n  /* line 99, node_modules/foundation-sites/scss/components/_close-button.scss */\n  .close-button.small {\n    right: 0.66rem;\n    top: 0.33em;\n    font-size: 1.5em;\n    line-height: 1; }\n  /* line 100, node_modules/foundation-sites/scss/components/_close-button.scss */\n  .close-button, .close-button.medium {\n    right: 1rem;\n    top: 0.5rem;\n    font-size: 2em;\n    line-height: 1; }\n\n/* line 51, node_modules/foundation-sites/scss/components/_label.scss */\n.label {\n  display: inline-block;\n  padding: 0.33333rem 0.5rem;\n  border-radius: 0;\n  font-size: 0.8rem;\n  line-height: 1;\n  white-space: nowrap;\n  cursor: default;\n  background: #1779ba;\n  color: #fefefe; }\n  /* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n  .label.primary {\n    background: #1779ba;\n    color: #fefefe; }\n  /* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n  .label.secondary {\n    background: #767676;\n    color: #000; }\n  /* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n  .label.success {\n    background: #18a733;\n    color: #000; }\n  /* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n  .label.warning {\n    background: #ffae00;\n    color: #000; }\n  /* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n  .label.alert {\n    background: #cc4b37;\n    color: #000; }\n\n/* line 42, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n.progress {\n  height: 1rem;\n  margin-bottom: 1rem;\n  border-radius: 0;\n  background-color: #777777; }\n  /* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n  .progress.primary .progress-meter {\n    background-color: #1779ba; }\n  /* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n  .progress.secondary .progress-meter {\n    background-color: #767676; }\n  /* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n  .progress.success .progress-meter {\n    background-color: #18a733; }\n  /* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n  .progress.warning .progress-meter {\n    background-color: #ffae00; }\n  /* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n  .progress.alert .progress-meter {\n    background-color: #cc4b37; }\n\n/* line 55, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n.progress-meter {\n  position: relative;\n  display: block;\n  width: 0%;\n  height: 100%;\n  background-color: #1779ba; }\n\n/* line 60, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n.progress-meter-text {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  margin: 0;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: #fefefe;\n  white-space: nowrap; }\n\n/* line 106, node_modules/foundation-sites/scss/components/_slider.scss */\n.slider {\n  position: relative;\n  height: 0.5rem;\n  margin-top: 1.25rem;\n  margin-bottom: 2.25rem;\n  background-color: #eeeeee;\n  cursor: pointer;\n  user-select: none;\n  touch-action: none; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_slider.scss */\n.slider-fill {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: inline-block;\n  max-width: 100%;\n  height: 0.5rem;\n  background-color: #777777;\n  transition: all 0.2s ease-in-out; }\n  /* line 46, node_modules/foundation-sites/scss/components/_slider.scss */\n  .slider-fill.is-dragging {\n    transition: all 0s linear; }\n\n/* line 116, node_modules/foundation-sites/scss/components/_slider.scss */\n.slider-handle {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  left: 0;\n  z-index: 1;\n  display: inline-block;\n  width: 1.4rem;\n  height: 1.4rem;\n  border-radius: 0;\n  background-color: #1779ba;\n  transition: all 0.2s ease-in-out;\n  touch-action: manipulation; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .slider-handle {\n    outline: 0; }\n  /* line 67, node_modules/foundation-sites/scss/components/_slider.scss */\n  .slider-handle:hover {\n    background-color: #14679e; }\n  /* line 71, node_modules/foundation-sites/scss/components/_slider.scss */\n  .slider-handle.is-dragging {\n    transition: all 0s linear; }\n\n/* line 121, node_modules/foundation-sites/scss/components/_slider.scss */\n.slider.disabled,\n.slider[disabled] {\n  opacity: 0.25;\n  cursor: not-allowed; }\n\n/* line 127, node_modules/foundation-sites/scss/components/_slider.scss */\n.slider.vertical {\n  display: inline-block;\n  width: 0.5rem;\n  height: 12.5rem;\n  margin: 0 1.25rem;\n  transform: scale(1, -1); }\n  /* line 88, node_modules/foundation-sites/scss/components/_slider.scss */\n  .slider.vertical .slider-fill {\n    top: 0;\n    width: 0.5rem;\n    max-height: 100%; }\n  /* line 94, node_modules/foundation-sites/scss/components/_slider.scss */\n  .slider.vertical .slider-handle {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    width: 1.4rem;\n    height: 1.4rem;\n    transform: translateX(-50%); }\n\n/* line 203, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch {\n  height: 2rem;\n  position: relative;\n  margin-bottom: 1rem;\n  outline: 0;\n  font-size: 0.875rem;\n  font-weight: bold;\n  color: #fefefe;\n  user-select: none; }\n\n/* line 209, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch-input {\n  position: absolute;\n  margin-bottom: 0;\n  opacity: 0; }\n\n/* line 214, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch-paddle {\n  position: relative;\n  display: block;\n  width: 4rem;\n  height: 2rem;\n  border-radius: 0;\n  background: #777777;\n  transition: all 0.25s ease-out;\n  font-weight: inherit;\n  color: inherit;\n  cursor: pointer; }\n  /* line 105, node_modules/foundation-sites/scss/components/_switch.scss */\n  input + .switch-paddle {\n    margin: 0; }\n  /* line 110, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch-paddle::after {\n    position: absolute;\n    top: 0.25rem;\n    left: 0.25rem;\n    display: block;\n    width: 1.5rem;\n    height: 1.5rem;\n    transform: translate3d(0, 0, 0);\n    border-radius: 0;\n    background: #fefefe;\n    transition: all 0.25s ease-out;\n    content: ''; }\n  /* line 127, node_modules/foundation-sites/scss/components/_switch.scss */\n  input:checked ~ .switch-paddle {\n    background: #1779ba; }\n    /* line 130, node_modules/foundation-sites/scss/components/_switch.scss */\n    input:checked ~ .switch-paddle::after {\n      left: 2.25rem; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] input:focus ~ .switch-paddle {\n    outline: 0; }\n\n/* line 219, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch-active, .switch-inactive {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%); }\n\n/* line 224, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch-active {\n  left: 8%;\n  display: none; }\n  /* line 152, node_modules/foundation-sites/scss/components/_switch.scss */\n  input:checked + label > .switch-active {\n    display: block; }\n\n/* line 230, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch-inactive {\n  right: 15%; }\n  /* line 161, node_modules/foundation-sites/scss/components/_switch.scss */\n  input:checked + label > .switch-inactive {\n    display: none; }\n\n/* line 236, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch.tiny {\n  height: 1.5rem; }\n  /* line 183, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.tiny .switch-paddle {\n    width: 3rem;\n    height: 1.5rem;\n    font-size: 0.625rem; }\n  /* line 189, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.tiny .switch-paddle::after {\n    top: 0.25rem;\n    left: 0.25rem;\n    width: 1rem;\n    height: 1rem; }\n  /* line 196, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.tiny input:checked ~ .switch-paddle::after {\n    left: 1.75rem; }\n\n/* line 240, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch.small {\n  height: 1.75rem; }\n  /* line 183, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.small .switch-paddle {\n    width: 3.5rem;\n    height: 1.75rem;\n    font-size: 0.75rem; }\n  /* line 189, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.small .switch-paddle::after {\n    top: 0.25rem;\n    left: 0.25rem;\n    width: 1.25rem;\n    height: 1.25rem; }\n  /* line 196, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.small input:checked ~ .switch-paddle::after {\n    left: 2rem; }\n\n/* line 244, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch.large {\n  height: 2.5rem; }\n  /* line 183, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.large .switch-paddle {\n    width: 5rem;\n    height: 2.5rem;\n    font-size: 1rem; }\n  /* line 189, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.large .switch-paddle::after {\n    top: 0.25rem;\n    left: 0.25rem;\n    width: 2rem;\n    height: 2rem; }\n  /* line 196, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.large input:checked ~ .switch-paddle::after {\n    left: 2.75rem; }\n\n/* line 305, node_modules/foundation-sites/scss/components/_table.scss */\ntable {\n  border-collapse: collapse;\n  width: 100%;\n  margin-bottom: 1rem;\n  border-radius: 0; }\n  /* line 111, node_modules/foundation-sites/scss/components/_table.scss */\n  thead,\n  tbody,\n  tfoot {\n    border: 1px solid #f1f1f1;\n    background-color: #fefefe; }\n  /* line 119, node_modules/foundation-sites/scss/components/_table.scss */\n  caption {\n    padding: 0.5rem 0.625rem 0.625rem;\n    font-weight: bold; }\n  /* line 125, node_modules/foundation-sites/scss/components/_table.scss */\n  thead {\n    background: #f8f8f8;\n    color: #000; }\n  /* line 131, node_modules/foundation-sites/scss/components/_table.scss */\n  tfoot {\n    background: #f1f1f1;\n    color: #000; }\n  /* line 140, node_modules/foundation-sites/scss/components/_table.scss */\n  thead tr,\n  tfoot tr {\n    background: transparent; }\n  /* line 145, node_modules/foundation-sites/scss/components/_table.scss */\n  thead th,\n  thead td,\n  tfoot th,\n  tfoot td {\n    padding: 0.5rem 0.625rem 0.625rem;\n    font-weight: bold;\n    text-align: left; }\n  /* line 155, node_modules/foundation-sites/scss/components/_table.scss */\n  tbody th,\n  tbody td {\n    padding: 0.5rem 0.625rem 0.625rem; }\n  /* line 87, node_modules/foundation-sites/scss/components/_table.scss */\n  tbody tr:nth-child(even) {\n    border-bottom: 0;\n    background-color: #f1f1f1; }\n  /* line 168, node_modules/foundation-sites/scss/components/_table.scss */\n  table.unstriped tbody {\n    background-color: #fefefe; }\n    /* line 103, node_modules/foundation-sites/scss/components/_table.scss */\n    table.unstriped tbody tr {\n      border-bottom: 0;\n      border-bottom: 1px solid #f1f1f1;\n      background-color: #fefefe; }\n\n@media screen and (max-width: 63.99875em) {\n  /* line 284, node_modules/foundation-sites/scss/components/_table.scss */\n  table.stack thead {\n    display: none; }\n  /* line 289, node_modules/foundation-sites/scss/components/_table.scss */\n  table.stack tfoot {\n    display: none; }\n  /* line 293, node_modules/foundation-sites/scss/components/_table.scss */\n  table.stack tr,\n  table.stack th,\n  table.stack td {\n    display: block; }\n  /* line 299, node_modules/foundation-sites/scss/components/_table.scss */\n  table.stack td {\n    border-top: 0; } }\n\n/* line 315, node_modules/foundation-sites/scss/components/_table.scss */\ntable.scroll {\n  display: block;\n  width: 100%;\n  overflow-x: auto; }\n\n/* line 221, node_modules/foundation-sites/scss/components/_table.scss */\ntable.hover thead tr:hover {\n  background-color: #f3f3f3; }\n\n/* line 228, node_modules/foundation-sites/scss/components/_table.scss */\ntable.hover tfoot tr:hover {\n  background-color: #ececec; }\n\n/* line 235, node_modules/foundation-sites/scss/components/_table.scss */\ntable.hover tbody tr:hover {\n  background-color: #f9f9f9; }\n\n/* line 243, node_modules/foundation-sites/scss/components/_table.scss */\ntable.hover:not(.unstriped) tr:nth-of-type(even):hover {\n  background-color: #ececec; }\n\n/* line 323, node_modules/foundation-sites/scss/components/_table.scss */\n.table-scroll {\n  overflow-x: auto; }\n\n/* line 50, node_modules/foundation-sites/scss/components/_badge.scss */\n.badge {\n  display: inline-block;\n  min-width: 2.1em;\n  padding: 0.3em;\n  border-radius: 50%;\n  font-size: 0.6rem;\n  text-align: center;\n  background: #1779ba;\n  color: #fefefe; }\n  /* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n  .badge.primary {\n    background: #1779ba;\n    color: #fefefe; }\n  /* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n  .badge.secondary {\n    background: #767676;\n    color: #000; }\n  /* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n  .badge.success {\n    background: #18a733;\n    color: #000; }\n  /* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n  .badge.warning {\n    background: #ffae00;\n    color: #000; }\n  /* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n  .badge.alert {\n    background: #cc4b37;\n    color: #000; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n.breadcrumbs {\n  margin: 0 0 1rem 0;\n  list-style: none; }\n  /* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .breadcrumbs::before, .breadcrumbs::after {\n    display: table;\n    content: ' ';\n    flex-basis: 0;\n    order: 1; }\n  /* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .breadcrumbs::after {\n    clear: both; }\n  /* line 70, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n  .breadcrumbs li {\n    float: left;\n    font-size: 0.6875rem;\n    color: #000;\n    cursor: default;\n    text-transform: uppercase; }\n    /* line 86, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n    .breadcrumbs li:not(:last-child)::after {\n      position: relative;\n      margin: 0 0.75rem;\n      opacity: 1;\n      content: \"/\";\n      color: #777777; }\n  /* line 101, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n  .breadcrumbs a {\n    color: #1779ba; }\n    /* line 104, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n    .breadcrumbs a:hover {\n      text-decoration: underline; }\n  /* line 114, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n  .breadcrumbs .disabled {\n    color: #777777;\n    cursor: not-allowed; }\n\n/* line 89, node_modules/foundation-sites/scss/components/_callout.scss */\n.callout {\n  position: relative;\n  margin: 0 0 1rem 0;\n  padding: 1rem;\n  border: 1px solid rgba(0, 0, 0, 0.25);\n  border-radius: 0;\n  background-color: white;\n  color: #000; }\n  /* line 55, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout > :first-child {\n    margin-top: 0; }\n  /* line 59, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout > :last-child {\n    margin-bottom: 0; }\n  /* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout.primary {\n    background-color: #d7ecfa;\n    color: #000; }\n  /* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout.secondary {\n    background-color: #eaeaea;\n    color: #000; }\n  /* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout.success {\n    background-color: #d5f9dc;\n    color: #000; }\n  /* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout.warning {\n    background-color: #fff3d9;\n    color: #000; }\n  /* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout.alert {\n    background-color: #f7e4e1;\n    color: #000; }\n  /* line 98, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout.small {\n    padding-top: 0.5rem;\n    padding-right: 0.5rem;\n    padding-bottom: 0.5rem;\n    padding-left: 0.5rem; }\n  /* line 102, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout.large {\n    padding-top: 3rem;\n    padding-right: 3rem;\n    padding-bottom: 3rem;\n    padding-left: 3rem; }\n\n/* line 112, node_modules/foundation-sites/scss/components/_card.scss */\n.card {\n  display: flex;\n  flex-direction: column;\n  flex-grow: 1;\n  margin-bottom: 1rem;\n  border: 1px solid #eeeeee;\n  border-radius: 0;\n  background: #fefefe;\n  box-shadow: none;\n  overflow: hidden;\n  color: #000; }\n  /* line 73, node_modules/foundation-sites/scss/components/_card.scss */\n  .card > :last-child {\n    margin-bottom: 0; }\n\n/* line 116, node_modules/foundation-sites/scss/components/_card.scss */\n.card-divider {\n  display: flex;\n  flex: 0 1 auto;\n  padding: 1rem;\n  background: #eeeeee; }\n  /* line 91, node_modules/foundation-sites/scss/components/_card.scss */\n  .card-divider > :last-child {\n    margin-bottom: 0; }\n\n/* line 120, node_modules/foundation-sites/scss/components/_card.scss */\n.card-section {\n  flex: 1 0 auto;\n  padding: 1rem; }\n  /* line 106, node_modules/foundation-sites/scss/components/_card.scss */\n  .card-section > :last-child {\n    margin-bottom: 0; }\n\n/* line 126, node_modules/foundation-sites/scss/components/_card.scss */\n.card-image {\n  min-height: 1px; }\n\n/* line 71, node_modules/foundation-sites/scss/components/_dropdown.scss */\n.dropdown-pane {\n  position: absolute;\n  z-index: 10;\n  display: none;\n  width: 300px;\n  padding: 1rem;\n  visibility: hidden;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  font-size: 1rem; }\n  /* line 60, node_modules/foundation-sites/scss/components/_dropdown.scss */\n  .dropdown-pane.is-opening {\n    display: block; }\n  /* line 64, node_modules/foundation-sites/scss/components/_dropdown.scss */\n  .dropdown-pane.is-open {\n    display: block;\n    visibility: visible; }\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown.scss */\n.dropdown-pane.tiny {\n  width: 100px; }\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown.scss */\n.dropdown-pane.small {\n  width: 200px; }\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown.scss */\n.dropdown-pane.large {\n  width: 400px; }\n\n/* line 162, node_modules/foundation-sites/scss/components/_pagination.scss */\n.pagination {\n  margin-left: 0;\n  margin-bottom: 1rem; }\n  /* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .pagination::before, .pagination::after {\n    display: table;\n    content: ' ';\n    flex-basis: 0;\n    order: 1; }\n  /* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .pagination::after {\n    clear: both; }\n  /* line 83, node_modules/foundation-sites/scss/components/_pagination.scss */\n  .pagination li {\n    margin-right: 0.0625rem;\n    border-radius: 0;\n    font-size: 0.875rem;\n    display: none; }\n    /* line 94, node_modules/foundation-sites/scss/components/_pagination.scss */\n    .pagination li:last-child, .pagination li:first-child {\n      display: inline-block; }\n    @media print, screen and (min-width: 40em) {\n      /* line 83, node_modules/foundation-sites/scss/components/_pagination.scss */\n      .pagination li {\n        display: inline-block; } }\n  /* line 112, node_modules/foundation-sites/scss/components/_pagination.scss */\n  .pagination a,\n  .pagination button {\n    display: block;\n    padding: 0.1875rem 0.625rem;\n    border-radius: 0;\n    color: #000; }\n    /* line 119, node_modules/foundation-sites/scss/components/_pagination.scss */\n    .pagination a:hover,\n    .pagination button:hover {\n      background: #eeeeee; }\n  /* line 165, node_modules/foundation-sites/scss/components/_pagination.scss */\n  .pagination .current {\n    padding: 0.1875rem 0.625rem;\n    background: #1779ba;\n    color: #fefefe;\n    cursor: default; }\n  /* line 169, node_modules/foundation-sites/scss/components/_pagination.scss */\n  .pagination .disabled {\n    padding: 0.1875rem 0.625rem;\n    color: #777777;\n    cursor: not-allowed; }\n    /* line 146, node_modules/foundation-sites/scss/components/_pagination.scss */\n    .pagination .disabled:hover {\n      background: transparent; }\n  /* line 173, node_modules/foundation-sites/scss/components/_pagination.scss */\n  .pagination .ellipsis::after {\n    padding: 0.1875rem 0.625rem;\n    content: '\\2026';\n    color: #000; }\n\n/* line 179, node_modules/foundation-sites/scss/components/_pagination.scss */\n.pagination-previous a::before,\n.pagination-previous.disabled::before {\n  display: inline-block;\n  margin-right: 0.5rem;\n  content: '\\00ab'; }\n\n/* line 186, node_modules/foundation-sites/scss/components/_pagination.scss */\n.pagination-next a::after,\n.pagination-next.disabled::after {\n  display: inline-block;\n  margin-left: 0.5rem;\n  content: '\\00bb'; }\n\n/* line 153, node_modules/foundation-sites/scss/components/_tooltip.scss */\n.has-tip {\n  position: relative;\n  display: inline-block;\n  border-bottom: dotted 1px #333333;\n  font-weight: bold;\n  cursor: help; }\n\n/* line 157, node_modules/foundation-sites/scss/components/_tooltip.scss */\n.tooltip {\n  position: absolute;\n  top: calc(100% + 0.6495rem);\n  z-index: 1200;\n  max-width: 10rem;\n  padding: 0.75rem;\n  border-radius: 0;\n  background-color: #000;\n  font-size: 80%;\n  color: #fefefe; }\n  /* line 75, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip::before {\n    position: absolute; }\n  /* line 80, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.bottom::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-top-width: 0;\n    border-bottom-style: solid;\n    border-color: transparent transparent #000;\n    bottom: 100%; }\n  /* line 85, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.bottom.align-center::before {\n    left: 50%;\n    transform: translateX(-50%); }\n  /* line 92, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.top::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #000 transparent transparent;\n    top: 100%;\n    bottom: auto; }\n  /* line 98, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.top.align-center::before {\n    left: 50%;\n    transform: translateX(-50%); }\n  /* line 105, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.left::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #000;\n    left: 100%; }\n  /* line 110, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.left.align-center::before {\n    bottom: auto;\n    top: 50%;\n    transform: translateY(-50%); }\n  /* line 118, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.right::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #000 transparent transparent;\n    right: 100%;\n    left: auto; }\n  /* line 124, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.right.align-center::before {\n    bottom: auto;\n    top: 50%;\n    transform: translateY(-50%); }\n  /* line 131, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.align-top::before {\n    bottom: auto;\n    top: 10%; }\n  /* line 136, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.align-bottom::before {\n    bottom: 10%;\n    top: auto; }\n  /* line 141, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.align-left::before {\n    left: 10%;\n    right: auto; }\n  /* line 146, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.align-right::before {\n    left: auto;\n    right: 10%; }\n\n/* line 141, node_modules/foundation-sites/scss/components/_accordion.scss */\n.accordion {\n  margin-left: 0;\n  background: #fefefe;\n  list-style-type: none; }\n  /* line 58, node_modules/foundation-sites/scss/components/_accordion.scss */\n  .accordion[disabled] .accordion-title {\n    cursor: not-allowed; }\n\n/* line 66, node_modules/foundation-sites/scss/components/_accordion.scss */\n.accordion-item:first-child > :first-child {\n  border-radius: 0 0 0 0; }\n\n/* line 70, node_modules/foundation-sites/scss/components/_accordion.scss */\n.accordion-item:last-child > :last-child {\n  border-radius: 0 0 0 0; }\n\n/* line 149, node_modules/foundation-sites/scss/components/_accordion.scss */\n.accordion-title {\n  position: relative;\n  display: block;\n  padding: 1.25rem 1rem;\n  border: 1px solid #eeeeee;\n  border-bottom: 0;\n  font-size: 0.75rem;\n  line-height: 1;\n  color: #1779ba; }\n  /* line 94, node_modules/foundation-sites/scss/components/_accordion.scss */\n  :last-child:not(.is-active) > .accordion-title {\n    border-bottom: 1px solid #eeeeee;\n    border-radius: 0 0 0 0; }\n  /* line 99, node_modules/foundation-sites/scss/components/_accordion.scss */\n  .accordion-title:hover, .accordion-title:focus {\n    background-color: #eeeeee; }\n  /* line 105, node_modules/foundation-sites/scss/components/_accordion.scss */\n  .accordion-title::before {\n    position: absolute;\n    top: 50%;\n    right: 1rem;\n    margin-top: -0.5rem;\n    content: '+'; }\n  /* line 113, node_modules/foundation-sites/scss/components/_accordion.scss */\n  .is-active > .accordion-title::before {\n    content: '\\2013'; }\n\n/* line 153, node_modules/foundation-sites/scss/components/_accordion.scss */\n.accordion-content {\n  display: none;\n  padding: 1rem;\n  border: 1px solid #eeeeee;\n  border-bottom: 0;\n  background-color: #fefefe;\n  color: #000; }\n  /* line 135, node_modules/foundation-sites/scss/components/_accordion.scss */\n  :last-child > .accordion-content:last-child {\n    border-bottom: 1px solid #eeeeee; }\n\n/* line 107, node_modules/foundation-sites/scss/components/_media-object.scss */\n.media-object {\n  display: flex;\n  margin-bottom: 1rem;\n  flex-wrap: nowrap; }\n  /* line 30, node_modules/foundation-sites/scss/components/_media-object.scss */\n  .media-object img {\n    max-width: none; }\n  @media screen and (max-width: 39.99875em) {\n    /* line 35, node_modules/foundation-sites/scss/components/_media-object.scss */\n    .media-object.stack-for-small {\n      flex-wrap: wrap; } }\n\n/* line 111, node_modules/foundation-sites/scss/components/_media-object.scss */\n.media-object-section {\n  flex: 0 1 auto; }\n  /* line 54, node_modules/foundation-sites/scss/components/_media-object.scss */\n  .media-object-section:first-child {\n    padding-right: 1rem; }\n  /* line 58, node_modules/foundation-sites/scss/components/_media-object.scss */\n  .media-object-section:last-child:not(:nth-child(2)) {\n    padding-left: 1rem; }\n  /* line 62, node_modules/foundation-sites/scss/components/_media-object.scss */\n  .media-object-section > :last-child {\n    margin-bottom: 0; }\n  @media screen and (max-width: 39.99875em) {\n    /* line 66, node_modules/foundation-sites/scss/components/_media-object.scss */\n    .stack-for-small .media-object-section {\n      padding: 0;\n      padding-bottom: 1rem;\n      flex-basis: 100%;\n      max-width: 100%; }\n      /* line 101, node_modules/foundation-sites/scss/components/_media-object.scss */\n      .stack-for-small .media-object-section img {\n        width: 100%; } }\n  /* line 73, node_modules/foundation-sites/scss/components/_media-object.scss */\n  .media-object-section.main-section {\n    flex: 1 1 0px; }\n\n/* line 156, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit {\n  position: relative; }\n\n/* line 160, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-container {\n  position: relative;\n  height: 0;\n  margin: 0;\n  list-style: none;\n  overflow: hidden; }\n\n/* line 164, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-slide {\n  width: 100%;\n  position: absolute; }\n  /* line 73, node_modules/foundation-sites/scss/components/_orbit.scss */\n  .orbit-slide.no-motionui.is-active {\n    top: 0;\n    left: 0; }\n\n/* line 168, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-figure {\n  margin: 0; }\n\n/* line 172, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-image {\n  width: 100%;\n  max-width: 100%;\n  margin: 0; }\n\n/* line 176, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-caption {\n  position: absolute;\n  bottom: 0;\n  width: 100%;\n  margin-bottom: 0;\n  padding: 1rem;\n  background-color: rgba(0, 0, 0, 0.5);\n  color: #fefefe; }\n\n/* line 180, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-previous, .orbit-next {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  z-index: 10;\n  padding: 1rem;\n  color: #fefefe; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {\n    outline: 0; }\n  /* line 111, node_modules/foundation-sites/scss/components/_orbit.scss */\n  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {\n    background-color: rgba(0, 0, 0, 0.5); }\n\n/* line 184, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-previous {\n  left: 0; }\n\n/* line 189, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-next {\n  left: auto;\n  right: 0; }\n\n/* line 194, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-bullets {\n  position: relative;\n  margin-top: 0.8rem;\n  margin-bottom: 0.8rem;\n  text-align: center; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .orbit-bullets {\n    outline: 0; }\n  /* line 137, node_modules/foundation-sites/scss/components/_orbit.scss */\n  .orbit-bullets button {\n    width: 1.2rem;\n    height: 1.2rem;\n    margin: 0.1rem;\n    border-radius: 50%;\n    background-color: #777777; }\n    /* line 145, node_modules/foundation-sites/scss/components/_orbit.scss */\n    .orbit-bullets button:hover {\n      background-color: #333333; }\n    /* line 149, node_modules/foundation-sites/scss/components/_orbit.scss */\n    .orbit-bullets button.is-active {\n      background-color: #333333; }\n\n/* line 45, node_modules/foundation-sites/scss/components/_responsive-embed.scss */\n.responsive-embed,\n.flex-video {\n  position: relative;\n  height: 0;\n  margin-bottom: 1rem;\n  padding-bottom: 75%;\n  overflow: hidden; }\n  /* line 32, node_modules/foundation-sites/scss/components/_responsive-embed.scss */\n  .responsive-embed iframe,\n  .responsive-embed object,\n  .responsive-embed embed,\n  .responsive-embed video,\n  .flex-video iframe,\n  .flex-video object,\n  .flex-video embed,\n  .flex-video video {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%; }\n  /* line 52, node_modules/foundation-sites/scss/components/_responsive-embed.scss */\n  .responsive-embed.widescreen,\n  .flex-video.widescreen {\n    padding-bottom: 56.25%; }\n\n/* line 144, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs {\n  margin: 0;\n  border: 1px solid #eeeeee;\n  background: #fefefe;\n  list-style-type: none; }\n  /* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .tabs::before, .tabs::after {\n    display: table;\n    content: ' ';\n    flex-basis: 0;\n    order: 1; }\n  /* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .tabs::after {\n    clear: both; }\n\n/* line 71, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs.vertical > li {\n  display: block;\n  float: none;\n  width: auto; }\n\n/* line 155, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs.simple > li > a {\n  padding: 0; }\n  /* line 158, node_modules/foundation-sites/scss/components/_tabs.scss */\n  .tabs.simple > li > a:hover {\n    background: transparent; }\n\n/* line 165, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs.primary {\n  background: #1779ba; }\n  /* line 168, node_modules/foundation-sites/scss/components/_tabs.scss */\n  .tabs.primary > li > a {\n    color: #fefefe; }\n    /* line 171, node_modules/foundation-sites/scss/components/_tabs.scss */\n    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {\n      background: #1673b1; }\n\n/* line 178, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs-title {\n  float: left; }\n  /* line 89, node_modules/foundation-sites/scss/components/_tabs.scss */\n  .tabs-title > a {\n    display: block;\n    padding: 1.25rem 1.5rem;\n    font-size: 0.75rem;\n    line-height: 1;\n    color: #1779ba; }\n    /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n    [data-whatinput='mouse'] .tabs-title > a {\n      outline: 0; }\n    /* line 97, node_modules/foundation-sites/scss/components/_tabs.scss */\n    .tabs-title > a:hover {\n      background: #fefefe;\n      color: #1468a0; }\n    /* line 102, node_modules/foundation-sites/scss/components/_tabs.scss */\n    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {\n      background: #eeeeee;\n      color: #1779ba; }\n\n/* line 182, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs-content {\n  border: 1px solid #eeeeee;\n  border-top: 0;\n  background: #fefefe;\n  color: #000;\n  transition: all 0.5s ease; }\n\n/* line 186, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs-content.vertical {\n  border: 1px solid #eeeeee;\n  border-left: 0; }\n\n/* line 190, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs-panel {\n  display: none;\n  padding: 1rem; }\n  /* line 138, node_modules/foundation-sites/scss/components/_tabs.scss */\n  .tabs-panel.is-active {\n    display: block; }\n\n/* line 60, node_modules/foundation-sites/scss/components/_thumbnail.scss */\n.thumbnail {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 1rem;\n  border: 4px solid #fefefe;\n  border-radius: 0;\n  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n  line-height: 0; }\n\n/* line 64, node_modules/foundation-sites/scss/components/_thumbnail.scss */\na.thumbnail {\n  transition: box-shadow 200ms ease-out; }\n  /* line 49, node_modules/foundation-sites/scss/components/_thumbnail.scss */\n  a.thumbnail:hover, a.thumbnail:focus {\n    box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }\n  /* line 54, node_modules/foundation-sites/scss/components/_thumbnail.scss */\n  a.thumbnail image {\n    box-shadow: none; }\n\n/* line 357, node_modules/foundation-sites/scss/components/_menu.scss */\n.menu {\n  padding: 0;\n  margin: 0;\n  list-style: none;\n  position: relative;\n  display: flex;\n  flex-wrap: wrap; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .menu li {\n    outline: 0; }\n  /* line 68, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu a,\n  .menu .button {\n    line-height: 1;\n    text-decoration: none;\n    display: block;\n    padding: 0.7rem 1rem; }\n  /* line 77, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu input,\n  .menu select,\n  .menu a,\n  .menu button {\n    margin-bottom: 0; }\n  /* line 84, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu input {\n    display: inline-block; }\n  /* line 361, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu, .menu.horizontal {\n    flex-wrap: wrap;\n    flex-direction: row; }\n  /* line 366, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.vertical {\n    flex-wrap: nowrap;\n    flex-direction: column; }\n  /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.expanded li {\n    flex: 1 1 0px; }\n  /* line 376, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.simple {\n    align-items: center; }\n    /* line 210, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.simple li + li {\n      margin-left: 1rem; }\n    /* line 214, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.simple a {\n      padding: 0; }\n  @media print, screen and (min-width: 40em) {\n    /* line 382, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.medium-horizontal {\n      flex-wrap: wrap;\n      flex-direction: row; }\n    /* line 386, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.medium-vertical {\n      flex-wrap: nowrap;\n      flex-direction: column; }\n    /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.medium-expanded li {\n      flex: 1 1 0px; }\n    /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.medium-simple li {\n      flex: 1 1 0px; } }\n  @media print, screen and (min-width: 64em) {\n    /* line 382, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.large-horizontal {\n      flex-wrap: wrap;\n      flex-direction: row; }\n    /* line 386, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.large-vertical {\n      flex-wrap: nowrap;\n      flex-direction: column; }\n    /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.large-expanded li {\n      flex: 1 1 0px; }\n    /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.large-simple li {\n      flex: 1 1 0px; } }\n  /* line 400, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.nested {\n    margin-right: 0;\n    margin-left: 1rem; }\n  /* line 240, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.icons a {\n    display: flex; }\n  /* line 240, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {\n    display: flex; }\n  /* line 260, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.icon-left li a {\n    flex-flow: row nowrap; }\n    /* line 265, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.icon-left li a img,\n    .menu.icon-left li a i,\n    .menu.icon-left li a svg {\n      margin-right: 0.25rem; }\n  /* line 277, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.icon-right li a {\n    flex-flow: row nowrap; }\n    /* line 282, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.icon-right li a img,\n    .menu.icon-right li a i,\n    .menu.icon-right li a svg {\n      margin-left: 0.25rem; }\n  /* line 294, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.icon-top li a {\n    flex-flow: column nowrap; }\n    /* line 302, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.icon-top li a img,\n    .menu.icon-top li a i,\n    .menu.icon-top li a svg {\n      align-self: stretch;\n      margin-bottom: 0.25rem;\n      text-align: center; }\n  /* line 318, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.icon-bottom li a {\n    flex-flow: column nowrap; }\n    /* line 326, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.icon-bottom li a img,\n    .menu.icon-bottom li a i,\n    .menu.icon-bottom li a svg {\n      align-self: stretch;\n      margin-bottom: 0.25rem;\n      text-align: center; }\n  /* line 440, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu .is-active > a {\n    background: #1779ba;\n    color: #fefefe; }\n  /* line 446, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu .active > a {\n    background: #1779ba;\n    color: #fefefe; }\n  /* line 452, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.align-left {\n    justify-content: flex-start; }\n  /* line 119, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.align-right li {\n    display: flex;\n    justify-content: flex-end; }\n    /* line 123, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.align-right li .submenu li {\n      justify-content: flex-start; }\n  /* line 128, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.align-right.vertical li {\n    display: block;\n    text-align: right; }\n    /* line 132, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.align-right.vertical li .submenu li {\n      text-align: right; }\n  /* line 460, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.align-right .nested {\n    margin-right: 1rem;\n    margin-left: 0; }\n  /* line 153, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.align-center li {\n    display: flex;\n    justify-content: center; }\n    /* line 157, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.align-center li .submenu li {\n      justify-content: flex-start; }\n  /* line 470, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu .menu-text {\n    padding: 0.7rem 1rem;\n    font-weight: bold;\n    line-height: 1;\n    color: inherit; }\n\n/* line 477, node_modules/foundation-sites/scss/components/_menu.scss */\n.menu-centered > .menu {\n  justify-content: center; }\n  /* line 153, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu-centered > .menu li {\n    display: flex;\n    justify-content: center; }\n    /* line 157, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu-centered > .menu li .submenu li {\n      justify-content: flex-start; }\n\n/* line 488, node_modules/foundation-sites/scss/components/_menu.scss */\n.no-js [data-responsive-menu] ul {\n  display: none; }\n\n/* line 2, node_modules/foundation-sites/scss/components/_menu-icon.scss */\n.menu-icon {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 16px;\n  cursor: pointer; }\n  /* line 114, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .menu-icon::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    display: block;\n    width: 100%;\n    height: 2px;\n    background: #fefefe;\n    box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;\n    content: ''; }\n  /* line 137, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .menu-icon:hover::after {\n    background: #777777;\n    box-shadow: 0 7px 0 #777777, 0 14px 0 #777777; }\n\n/* line 6, node_modules/foundation-sites/scss/components/_menu-icon.scss */\n.menu-icon.dark {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 16px;\n  cursor: pointer; }\n  /* line 114, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .menu-icon.dark::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    display: block;\n    width: 100%;\n    height: 2px;\n    background: #000;\n    box-shadow: 0 7px 0 #000, 0 14px 0 #000;\n    content: ''; }\n  /* line 137, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .menu-icon.dark:hover::after {\n    background: #333333;\n    box-shadow: 0 7px 0 #333333, 0 14px 0 #333333; }\n\n/* line 83, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu li {\n  width: 100%; }\n\n/* line 92, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu a {\n  padding: 0.7rem 1rem; }\n\n/* line 99, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu .is-accordion-submenu a {\n  padding: 0.7rem 1rem; }\n\n/* line 103, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu .nested.is-accordion-submenu {\n  margin-right: 0;\n  margin-left: 1rem; }\n\n/* line 108, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu.align-right .nested.is-accordion-submenu {\n  margin-right: 1rem;\n  margin-left: 0; }\n\n/* line 54, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {\n  position: relative; }\n  /* line 57, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    position: absolute;\n    top: 50%;\n    margin-top: -3px;\n    right: 1rem; }\n\n/* line 66, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu.align-left .is-accordion-submenu-parent > a::after {\n  right: 1rem;\n  left: auto; }\n\n/* line 71, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu.align-right .is-accordion-submenu-parent > a::after {\n  right: auto;\n  left: 1rem; }\n\n/* line 116, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {\n  transform: rotate(180deg);\n  transform-origin: 50% 50%; }\n\n/* line 130, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.is-accordion-submenu-parent {\n  position: relative; }\n\n/* line 134, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.has-submenu-toggle > a {\n  margin-right: 40px; }\n\n/* line 139, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.submenu-toggle {\n  position: absolute;\n  top: 0;\n  right: 0;\n  width: 40px;\n  height: 40px;\n  cursor: pointer; }\n  /* line 156, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n  .submenu-toggle::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    top: 0;\n    bottom: 0;\n    margin: auto; }\n\n/* line 166, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.submenu-toggle[aria-expanded='true']::after {\n  transform: scaleY(-1);\n  transform-origin: 50% 50%; }\n\n/* line 171, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.submenu-toggle-text {\n  position: absolute !important;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0; }\n\n/* line 74, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.is-drilldown {\n  position: relative;\n  overflow: hidden; }\n  /* line 78, node_modules/foundation-sites/scss/components/_drilldown.scss */\n  .is-drilldown li {\n    display: block; }\n  /* line 82, node_modules/foundation-sites/scss/components/_drilldown.scss */\n  .is-drilldown.animate-height {\n    transition: height 0.5s; }\n\n/* line 89, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown a {\n  padding: 0.7rem 1rem;\n  background: #fefefe; }\n\n/* line 95, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown .is-drilldown-submenu {\n  position: absolute;\n  top: 0;\n  left: 100%;\n  z-index: -1;\n  width: 100%;\n  background: #fefefe;\n  transition: transform 0.15s linear; }\n  /* line 105, node_modules/foundation-sites/scss/components/_drilldown.scss */\n  .drilldown .is-drilldown-submenu.is-active {\n    z-index: 1;\n    display: block;\n    transform: translateX(-100%); }\n  /* line 111, node_modules/foundation-sites/scss/components/_drilldown.scss */\n  .drilldown .is-drilldown-submenu.is-closing {\n    transform: translateX(100%); }\n  /* line 116, node_modules/foundation-sites/scss/components/_drilldown.scss */\n  .drilldown .is-drilldown-submenu a {\n    padding: 0.7rem 1rem; }\n\n/* line 121, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown .nested.is-drilldown-submenu {\n  margin-right: 0;\n  margin-left: 0; }\n\n/* line 125, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown .drilldown-submenu-cover-previous {\n  min-height: 100%; }\n\n/* line 46, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown .is-drilldown-submenu-parent > a {\n  position: relative; }\n  /* line 49, node_modules/foundation-sites/scss/components/_drilldown.scss */\n  .drilldown .is-drilldown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba;\n    position: absolute;\n    top: 50%;\n    margin-top: -6px;\n    right: 1rem; }\n\n/* line 58, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown.align-left .is-drilldown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba;\n  right: 1rem;\n  left: auto; }\n\n/* line 64, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown.align-right .is-drilldown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  right: auto;\n  left: 1rem; }\n\n/* line 132, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown .js-drilldown-back > a::before {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  display: inline-block;\n  vertical-align: middle;\n  margin-right: 0.75rem; }\n\n/* line 85, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu > li.opens-left > .is-dropdown-submenu {\n  top: 100%;\n  right: 0;\n  left: auto; }\n\n/* line 93, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu > li.opens-right > .is-dropdown-submenu {\n  top: 100%;\n  right: auto;\n  left: 0; }\n\n/* line 101, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu > li.is-dropdown-submenu-parent > a {\n  position: relative;\n  padding-right: 1.5rem; }\n\n/* line 106, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu > li.is-dropdown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-bottom-width: 0;\n  border-top-style: solid;\n  border-color: #1779ba transparent transparent;\n  right: 5px;\n  left: auto;\n  margin-top: -3px; }\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n[data-whatinput='mouse'] .dropdown.menu a {\n  outline: 0; }\n\n/* line 154, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu > li > a {\n  padding: 0.7rem 1rem; }\n\n/* line 160, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu > li.is-active > a {\n  background: transparent;\n  color: #1779ba; }\n\n/* line 165, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.no-js .dropdown.menu ul {\n  display: none; }\n\n/* line 169, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu .nested.is-dropdown-submenu {\n  margin-right: 0;\n  margin-left: 0; }\n\n/* line 116, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu.vertical > li .is-dropdown-submenu {\n  top: 0; }\n\n/* line 121, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {\n  top: 0;\n  right: 100%;\n  left: auto; }\n\n/* line 129, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {\n  right: auto;\n  left: 100%; }\n\n/* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu.vertical > li > a::after {\n  right: 14px; }\n\n/* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu.vertical > li.opens-left > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  right: auto;\n  left: 5px; }\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu.vertical > li.opens-right > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {\n    top: 100%;\n    right: 0;\n    left: auto; }\n  /* line 93, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {\n    top: 100%;\n    right: auto;\n    left: 0; }\n  /* line 101, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {\n    position: relative;\n    padding-right: 1.5rem; }\n  /* line 106, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    right: 5px;\n    left: auto;\n    margin-top: -3px; }\n  /* line 116, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {\n    top: 0; }\n  /* line 121, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {\n    top: 0;\n    right: 100%;\n    left: auto; }\n  /* line 129, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%; }\n  /* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-vertical > li > a::after {\n    right: 14px; }\n  /* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-vertical > li.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent;\n    right: auto;\n    left: 5px; }\n  /* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-vertical > li.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {\n    top: 100%;\n    right: 0;\n    left: auto; }\n  /* line 93, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {\n    top: 100%;\n    right: auto;\n    left: 0; }\n  /* line 101, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {\n    position: relative;\n    padding-right: 1.5rem; }\n  /* line 106, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    right: 5px;\n    left: auto;\n    margin-top: -3px; }\n  /* line 116, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-vertical > li .is-dropdown-submenu {\n    top: 0; }\n  /* line 121, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {\n    top: 0;\n    right: 100%;\n    left: auto; }\n  /* line 129, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%; }\n  /* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-vertical > li > a::after {\n    right: 14px; }\n  /* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-vertical > li.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent;\n    right: auto;\n    left: 5px; }\n  /* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-vertical > li.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba; } }\n\n/* line 192, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu.align-right .is-dropdown-submenu.first-sub {\n  top: 100%;\n  right: 0;\n  left: auto; }\n\n/* line 200, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.is-dropdown-menu.vertical {\n  width: 100px; }\n  /* line 203, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-menu.vertical.align-right {\n    float: right; }\n\n/* line 208, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.is-dropdown-submenu-parent {\n  position: relative; }\n  /* line 211, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu-parent a::after {\n    position: absolute;\n    top: 50%;\n    right: 5px;\n    left: auto;\n    margin-top: -6px; }\n  /* line 219, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {\n    top: 100%;\n    left: auto; }\n  /* line 230, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {\n    right: 100%;\n    left: auto; }\n  /* line 235, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%; }\n\n/* line 241, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.is-dropdown-submenu {\n  position: absolute;\n  top: 0;\n  left: 100%;\n  z-index: 1;\n  display: none;\n  min-width: 200px;\n  border: 1px solid #777777;\n  background: #fefefe; }\n  /* line 253, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown .is-dropdown-submenu a {\n    padding: 0.7rem 1rem; }\n  /* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {\n    right: 14px; }\n  /* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent;\n    right: auto;\n    left: 5px; }\n  /* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba; }\n  /* line 264, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu .is-dropdown-submenu {\n    margin-top: -1px; }\n  /* line 269, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu > li {\n    width: 100%; }\n  /* line 275, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu.js-dropdown-active {\n    display: block; }\n\n/* line 92, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.is-off-canvas-open {\n  overflow: hidden; }\n\n/* line 97, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.js-off-canvas-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 11;\n  width: 100%;\n  height: 100%;\n  transition: opacity 0.5s ease, visibility 0.5s ease;\n  background: rgba(254, 254, 254, 0.25);\n  opacity: 0;\n  visibility: hidden;\n  overflow: hidden; }\n  /* line 115, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .js-off-canvas-overlay.is-visible {\n    opacity: 1;\n    visibility: visible; }\n  /* line 120, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .js-off-canvas-overlay.is-closable {\n    cursor: pointer; }\n  /* line 124, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .js-off-canvas-overlay.is-overlay-absolute {\n    position: absolute; }\n  /* line 128, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .js-off-canvas-overlay.is-overlay-fixed {\n    position: fixed; }\n\n/* line 442, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.off-canvas-wrapper {\n  position: relative;\n  overflow: hidden; }\n\n/* line 447, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.off-canvas {\n  position: fixed;\n  z-index: 12;\n  transition: transform 0.5s ease;\n  backface-visibility: hidden;\n  background: #eeeeee; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .off-canvas {\n    outline: 0; }\n  /* line 159, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas.is-transition-push {\n    z-index: 12; }\n  /* line 169, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas.is-closed {\n    visibility: hidden; }\n  /* line 174, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas.is-transition-overlap {\n    z-index: 13; }\n    /* line 177, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas.is-transition-overlap.is-open {\n      box-shadow: 0 0 10px rgba(0, 0, 0, 0.7); }\n  /* line 183, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas.is-open {\n    transform: translate(0, 0); }\n\n/* line 458, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.off-canvas-absolute {\n  position: absolute;\n  z-index: 12;\n  transition: transform 0.5s ease;\n  backface-visibility: hidden;\n  background: #eeeeee; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .off-canvas-absolute {\n    outline: 0; }\n  /* line 159, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-absolute.is-transition-push {\n    z-index: 12; }\n  /* line 169, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-absolute.is-closed {\n    visibility: hidden; }\n  /* line 174, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-absolute.is-transition-overlap {\n    z-index: 13; }\n    /* line 177, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-absolute.is-transition-overlap.is-open {\n      box-shadow: 0 0 10px rgba(0, 0, 0, 0.7); }\n  /* line 183, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-absolute.is-open {\n    transform: translate(0, 0); }\n\n/* line 463, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.position-left {\n  top: 0;\n  left: 0;\n  height: 100%;\n  overflow-y: auto;\n  width: 250px;\n  transform: translateX(-250px); }\n  /* line 208, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content .off-canvas.position-left {\n    transform: translateX(-250px); }\n    /* line 215, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {\n      transform: translate(0, 0); }\n  /* line 222, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content.is-open-left.has-transition-push {\n    transform: translateX(250px); }\n  /* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-left.is-transition-push {\n    box-shadow: inset -13px 0 20px -13px rgba(0, 0, 0, 0.25); }\n\n/* line 464, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.position-right {\n  top: 0;\n  right: 0;\n  height: 100%;\n  overflow-y: auto;\n  width: 250px;\n  transform: translateX(250px); }\n  /* line 245, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content .off-canvas.position-right {\n    transform: translateX(250px); }\n    /* line 252, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {\n      transform: translate(0, 0); }\n  /* line 259, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content.is-open-right.has-transition-push {\n    transform: translateX(-250px); }\n  /* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-right.is-transition-push {\n    box-shadow: inset 13px 0 20px -13px rgba(0, 0, 0, 0.25); }\n\n/* line 465, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.position-top {\n  top: 0;\n  left: 0;\n  width: 100%;\n  overflow-x: auto;\n  height: 250px;\n  transform: translateY(-250px); }\n  /* line 282, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content .off-canvas.position-top {\n    transform: translateY(-250px); }\n    /* line 288, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {\n      transform: translate(0, 0); }\n  /* line 295, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content.is-open-top.has-transition-push {\n    transform: translateY(250px); }\n  /* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-top.is-transition-push {\n    box-shadow: inset 0 -13px 20px -13px rgba(0, 0, 0, 0.25); }\n\n/* line 466, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.position-bottom {\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  overflow-x: auto;\n  height: 250px;\n  transform: translateY(250px); }\n  /* line 318, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content .off-canvas.position-bottom {\n    transform: translateY(250px); }\n    /* line 324, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {\n      transform: translate(0, 0); }\n  /* line 331, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content.is-open-bottom.has-transition-push {\n    transform: translateY(-250px); }\n  /* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-bottom.is-transition-push {\n    box-shadow: inset 0 13px 20px -13px rgba(0, 0, 0, 0.25); }\n\n/* line 468, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.off-canvas-content {\n  transform: none;\n  transition: transform 0.5s ease;\n  backface-visibility: hidden; }\n  /* line 369, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content.has-transition-push {\n    transform: translate(0, 0); }\n  /* line 374, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content .off-canvas.is-open {\n    transform: translate(0, 0); }\n\n@media print, screen and (min-width: 40em) {\n  /* line 476, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-left.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-left.reveal-for-medium .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-left.reveal-for-medium {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-left {\n      margin-left: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-left.reveal-for-medium ~ .off-canvas-content {\n      margin-left: 250px; }\n  /* line 480, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-right.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-right.reveal-for-medium .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-right.reveal-for-medium {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-right {\n      margin-right: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-right.reveal-for-medium ~ .off-canvas-content {\n      margin-right: 250px; }\n  /* line 484, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-top.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-top.reveal-for-medium .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-top.reveal-for-medium {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-top {\n      margin-top: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-top.reveal-for-medium ~ .off-canvas-content {\n      margin-top: 250px; }\n  /* line 488, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-bottom.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-bottom.reveal-for-medium .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-bottom.reveal-for-medium {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-bottom {\n      margin-bottom: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-bottom.reveal-for-medium ~ .off-canvas-content {\n      margin-bottom: 250px; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 476, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-left.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-left.reveal-for-large .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-left.reveal-for-large {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-left {\n      margin-left: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-left.reveal-for-large ~ .off-canvas-content {\n      margin-left: 250px; }\n  /* line 480, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-right.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-right.reveal-for-large .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-right.reveal-for-large {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-right {\n      margin-right: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-right.reveal-for-large ~ .off-canvas-content {\n      margin-right: 250px; }\n  /* line 484, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-top.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-top.reveal-for-large .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-top.reveal-for-large {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-top {\n      margin-top: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-top.reveal-for-large ~ .off-canvas-content {\n      margin-top: 250px; }\n  /* line 488, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-bottom.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-bottom.reveal-for-large .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-bottom.reveal-for-large {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-bottom {\n      margin-bottom: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-bottom.reveal-for-large ~ .off-canvas-content {\n      margin-bottom: 250px; } }\n\n@media print, screen and (min-width: 40em) {\n  /* line 499, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas.in-canvas-for-medium {\n    visibility: visible;\n    height: auto;\n    position: static;\n    background: none;\n    width: auto;\n    overflow: visible;\n    transition: none; }\n    /* line 425, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {\n      box-shadow: none;\n      transform: none; }\n    /* line 433, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas.in-canvas-for-medium .close-button {\n      display: none; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 499, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas.in-canvas-for-large {\n    visibility: visible;\n    height: auto;\n    position: static;\n    background: none;\n    width: auto;\n    overflow: visible;\n    transition: none; }\n    /* line 425, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {\n      box-shadow: none;\n      transform: none; }\n    /* line 433, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas.in-canvas-for-large .close-button {\n      display: none; } }\n\n/* line 133, node_modules/foundation-sites/scss/components/_reveal.scss */\nhtml.is-reveal-open {\n  position: fixed;\n  width: 100%;\n  overflow-y: hidden; }\n  /* line 138, node_modules/foundation-sites/scss/components/_reveal.scss */\n  html.is-reveal-open.zf-has-scroll {\n    overflow-y: scroll; }\n  /* line 142, node_modules/foundation-sites/scss/components/_reveal.scss */\n  html.is-reveal-open body {\n    overflow-y: hidden; }\n\n/* line 148, node_modules/foundation-sites/scss/components/_reveal.scss */\n.reveal-overlay {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1005;\n  display: none;\n  background-color: rgba(0, 0, 0, 0.45);\n  overflow-y: auto; }\n\n/* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n.reveal {\n  z-index: 1006;\n  backface-visibility: hidden;\n  display: none;\n  padding: 1rem;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  position: relative;\n  top: 100px;\n  margin-right: auto;\n  margin-left: auto;\n  overflow-y: auto; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .reveal {\n    outline: 0; }\n  @media print, screen and (min-width: 40em) {\n    /* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n    .reveal {\n      min-height: 0; } }\n  /* line 88, node_modules/foundation-sites/scss/components/_reveal.scss */\n  .reveal .column {\n    min-width: 0; }\n  /* line 93, node_modules/foundation-sites/scss/components/_reveal.scss */\n  .reveal > :last-child {\n    margin-bottom: 0; }\n  @media print, screen and (min-width: 40em) {\n    /* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n    .reveal {\n      width: 600px;\n      max-width: 75rem; } }\n  /* line 163, node_modules/foundation-sites/scss/components/_reveal.scss */\n  .reveal.collapse {\n    padding: 0; }\n  @media print, screen and (min-width: 40em) {\n    /* line 168, node_modules/foundation-sites/scss/components/_reveal.scss */\n    .reveal.tiny {\n      width: 30%;\n      max-width: 75rem; } }\n  @media print, screen and (min-width: 40em) {\n    /* line 169, node_modules/foundation-sites/scss/components/_reveal.scss */\n    .reveal.small {\n      width: 50%;\n      max-width: 75rem; } }\n  @media print, screen and (min-width: 40em) {\n    /* line 170, node_modules/foundation-sites/scss/components/_reveal.scss */\n    .reveal.large {\n      width: 90%;\n      max-width: 75rem; } }\n  /* line 173, node_modules/foundation-sites/scss/components/_reveal.scss */\n  .reveal.full {\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    min-height: 100%;\n    margin-left: 0;\n    border: 0;\n    border-radius: 0; }\n  @media screen and (max-width: 39.99875em) {\n    /* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n    .reveal {\n      top: 0;\n      right: 0;\n      bottom: 0;\n      left: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      min-height: 100%;\n      margin-left: 0;\n      border: 0;\n      border-radius: 0; } }\n  /* line 181, node_modules/foundation-sites/scss/components/_reveal.scss */\n  .reveal.without-overlay {\n    position: fixed; }\n\n/* line 6, node_modules/foundation-sites/scss/components/_sticky.scss */\n.sticky-container {\n  position: relative; }\n\n/* line 10, node_modules/foundation-sites/scss/components/_sticky.scss */\n.sticky {\n  position: relative;\n  z-index: 0;\n  transform: translate3d(0, 0, 0); }\n\n/* line 16, node_modules/foundation-sites/scss/components/_sticky.scss */\n.sticky.is-stuck {\n  position: fixed;\n  z-index: 5;\n  width: 100%; }\n  /* line 21, node_modules/foundation-sites/scss/components/_sticky.scss */\n  .sticky.is-stuck.is-at-top {\n    top: 0; }\n  /* line 25, node_modules/foundation-sites/scss/components/_sticky.scss */\n  .sticky.is-stuck.is-at-bottom {\n    bottom: 0; }\n\n/* line 30, node_modules/foundation-sites/scss/components/_sticky.scss */\n.sticky.is-anchored {\n  position: relative;\n  right: auto;\n  left: auto; }\n  /* line 35, node_modules/foundation-sites/scss/components/_sticky.scss */\n  .sticky.is-anchored.is-at-bottom {\n    bottom: 0; }\n\n/* line 38, node_modules/foundation-sites/scss/components/_title-bar.scss */\n.title-bar {\n  padding: 0.5rem;\n  background: #000;\n  color: #fefefe;\n  display: flex;\n  justify-content: flex-start;\n  align-items: center; }\n  /* line 52, node_modules/foundation-sites/scss/components/_title-bar.scss */\n  .title-bar .menu-icon {\n    margin-left: 0.25rem;\n    margin-right: 0.25rem; }\n\n/* line 59, node_modules/foundation-sites/scss/components/_title-bar.scss */\n.title-bar-left,\n.title-bar-right {\n  flex: 1 1 0px; }\n\n/* line 64, node_modules/foundation-sites/scss/components/_title-bar.scss */\n.title-bar-right {\n  text-align: right; }\n\n/* line 79, node_modules/foundation-sites/scss/components/_title-bar.scss */\n.title-bar-title {\n  display: inline-block;\n  vertical-align: middle;\n  font-weight: bold; }\n\n/* line 122, node_modules/foundation-sites/scss/components/_top-bar.scss */\n.top-bar {\n  display: flex;\n  flex-wrap: nowrap;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0.5rem;\n  flex-wrap: wrap; }\n  /* line 47, node_modules/foundation-sites/scss/components/_top-bar.scss */\n  .top-bar,\n  .top-bar ul {\n    background-color: #eeeeee; }\n  /* line 60, node_modules/foundation-sites/scss/components/_top-bar.scss */\n  .top-bar input {\n    max-width: 200px;\n    margin-right: 1rem; }\n  /* line 66, node_modules/foundation-sites/scss/components/_top-bar.scss */\n  .top-bar .input-group-field, .top-bar .search-form .search-field, .search-form .top-bar .search-field {\n    width: 100%;\n    margin-right: 0; }\n  /* line 71, node_modules/foundation-sites/scss/components/_top-bar.scss */\n  .top-bar input.button {\n    width: auto; }\n  /* line 82, node_modules/foundation-sites/scss/components/_top-bar.scss */\n  .top-bar .top-bar-left,\n  .top-bar .top-bar-right {\n    flex: 0 0 100%;\n    max-width: 100%; }\n  @media print, screen and (min-width: 40em) {\n    /* line 122, node_modules/foundation-sites/scss/components/_top-bar.scss */\n    .top-bar {\n      flex-wrap: nowrap; }\n      /* line 102, node_modules/foundation-sites/scss/components/_top-bar.scss */\n      .top-bar .top-bar-left {\n        flex: 1 1 auto;\n        margin-right: auto; }\n      /* line 107, node_modules/foundation-sites/scss/components/_top-bar.scss */\n      .top-bar .top-bar-right {\n        flex: 0 1 auto;\n        margin-left: auto; } }\n  @media screen and (max-width: 63.99875em) {\n    /* line 135, node_modules/foundation-sites/scss/components/_top-bar.scss */\n    .top-bar.stacked-for-medium {\n      flex-wrap: wrap; }\n      /* line 82, node_modules/foundation-sites/scss/components/_top-bar.scss */\n      .top-bar.stacked-for-medium .top-bar-left,\n      .top-bar.stacked-for-medium .top-bar-right {\n        flex: 0 0 100%;\n        max-width: 100%; } }\n  @media screen and (max-width: 74.99875em) {\n    /* line 135, node_modules/foundation-sites/scss/components/_top-bar.scss */\n    .top-bar.stacked-for-large {\n      flex-wrap: wrap; }\n      /* line 82, node_modules/foundation-sites/scss/components/_top-bar.scss */\n      .top-bar.stacked-for-large .top-bar-left,\n      .top-bar.stacked-for-large .top-bar-right {\n        flex: 0 0 100%;\n        max-width: 100%; } }\n\n/* line 146, node_modules/foundation-sites/scss/components/_top-bar.scss */\n.top-bar-title {\n  flex: 0 0 auto;\n  margin: 0.5rem 1rem 0.5rem 0; }\n\n/* line 151, node_modules/foundation-sites/scss/components/_top-bar.scss */\n.top-bar-left,\n.top-bar-right {\n  flex: 0 0 auto; }\n\n/* line 10, node_modules/foundation-sites/scss/components/_float.scss */\n.float-left {\n  float: left !important; }\n\n/* line 14, node_modules/foundation-sites/scss/components/_float.scss */\n.float-right {\n  float: right !important; }\n\n/* line 18, node_modules/foundation-sites/scss/components/_float.scss */\n.float-center {\n  display: block;\n  margin-right: auto;\n  margin-left: auto; }\n\n/* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n.clearfix::before, .clearfix::after {\n  display: table;\n  content: ' ';\n  flex-basis: 0;\n  order: 1; }\n\n/* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n.clearfix::after {\n  clear: both; }\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-left {\n  justify-content: flex-start; }\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-right {\n  justify-content: flex-end; }\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-center {\n  justify-content: center; }\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-justify {\n  justify-content: space-between; }\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-spaced {\n  justify-content: space-around; }\n\n/* line 84, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-left.vertical.menu > li > a {\n  justify-content: flex-start; }\n\n/* line 84, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-right.vertical.menu > li > a {\n  justify-content: flex-end; }\n\n/* line 84, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-center.vertical.menu > li > a {\n  justify-content: center; }\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-top {\n  align-items: flex-start; }\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-self-top {\n  align-self: flex-start; }\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-bottom {\n  align-items: flex-end; }\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-self-bottom {\n  align-self: flex-end; }\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-middle {\n  align-items: center; }\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-self-middle {\n  align-self: center; }\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-stretch {\n  align-items: stretch; }\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-self-stretch {\n  align-self: stretch; }\n\n/* line 103, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-center-middle {\n  justify-content: center;\n  align-items: center;\n  align-content: center; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n.small-order-1 {\n  order: 1; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n.small-order-2 {\n  order: 2; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n.small-order-3 {\n  order: 3; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n.small-order-4 {\n  order: 4; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n.small-order-5 {\n  order: 5; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n.small-order-6 {\n  order: 6; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-order-1 {\n    order: 1; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-order-2 {\n    order: 2; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-order-3 {\n    order: 3; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-order-4 {\n    order: 4; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-order-5 {\n    order: 5; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-order-6 {\n    order: 6; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-order-1 {\n    order: 1; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-order-2 {\n    order: 2; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-order-3 {\n    order: 3; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-order-4 {\n    order: 4; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-order-5 {\n    order: 5; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-order-6 {\n    order: 6; } }\n\n/* line 18, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-container {\n  display: flex; }\n\n/* line 22, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-child-auto {\n  flex: 1 1 auto; }\n\n/* line 26, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-child-grow {\n  flex: 1 0 auto; }\n\n/* line 30, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-child-shrink {\n  flex: 0 1 auto; }\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-dir-row {\n  flex-direction: row; }\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-dir-row-reverse {\n  flex-direction: row-reverse; }\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-dir-column {\n  flex-direction: column; }\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-dir-column-reverse {\n  flex-direction: column-reverse; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 45, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-container {\n    display: flex; }\n  /* line 49, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-child-auto {\n    flex: 1 1 auto; }\n  /* line 53, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-child-grow {\n    flex: 1 0 auto; }\n  /* line 57, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-child-shrink {\n    flex: 0 1 auto; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-dir-row {\n    flex-direction: row; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-dir-row-reverse {\n    flex-direction: row-reverse; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-dir-column {\n    flex-direction: column; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-dir-column-reverse {\n    flex-direction: column-reverse; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 45, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-container {\n    display: flex; }\n  /* line 49, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-child-auto {\n    flex: 1 1 auto; }\n  /* line 53, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-child-grow {\n    flex: 1 0 auto; }\n  /* line 57, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-child-shrink {\n    flex: 0 1 auto; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-dir-row {\n    flex-direction: row; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-dir-row-reverse {\n    flex-direction: row-reverse; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-dir-column {\n    flex-direction: column; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-dir-column-reverse {\n    flex-direction: column-reverse; } }\n\n/* line 65, node_modules/foundation-sites/scss/components/_visibility.scss */\n.hide {\n  display: none !important; }\n\n/* line 69, node_modules/foundation-sites/scss/components/_visibility.scss */\n.invisible {\n  visibility: hidden; }\n\n@media screen and (max-width: 39.99875em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .hide-for-small-only {\n    display: none !important; } }\n\n@media screen and (max-width: 0em), screen and (min-width: 40em) {\n  /* line 89, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .show-for-small-only {\n    display: none !important; } }\n\n@media print, screen and (min-width: 40em) {\n  /* line 76, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .hide-for-medium {\n    display: none !important; } }\n\n@media screen and (max-width: 39.99875em) {\n  /* line 80, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .show-for-medium {\n    display: none !important; } }\n\n@media screen and (min-width: 40em) and (max-width: 63.99875em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .hide-for-medium-only {\n    display: none !important; } }\n\n@media screen and (max-width: 39.99875em), screen and (min-width: 64em) {\n  /* line 89, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .show-for-medium-only {\n    display: none !important; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 76, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .hide-for-large {\n    display: none !important; } }\n\n@media screen and (max-width: 63.99875em) {\n  /* line 80, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .show-for-large {\n    display: none !important; } }\n\n@media screen and (min-width: 64em) and (max-width: 74.99875em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .hide-for-large-only {\n    display: none !important; } }\n\n@media screen and (max-width: 63.99875em), screen and (min-width: 75em) {\n  /* line 89, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .show-for-large-only {\n    display: none !important; } }\n\n/* line 96, node_modules/foundation-sites/scss/components/_visibility.scss */\n.show-for-sr, .screen-reader-text,\n.show-on-focus,\n.screen-reader-text {\n  position: absolute !important;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0; }\n\n/* line 103, node_modules/foundation-sites/scss/components/_visibility.scss */\n.show-on-focus:active, .screen-reader-text:active, .show-on-focus:focus, .screen-reader-text:focus {\n  position: static !important;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n  white-space: normal; }\n\n/* line 110, node_modules/foundation-sites/scss/components/_visibility.scss */\n.show-for-landscape,\n.hide-for-portrait {\n  display: block !important; }\n  @media screen and (orientation: landscape) {\n    /* line 110, node_modules/foundation-sites/scss/components/_visibility.scss */\n    .show-for-landscape,\n    .hide-for-portrait {\n      display: block !important; } }\n  @media screen and (orientation: portrait) {\n    /* line 110, node_modules/foundation-sites/scss/components/_visibility.scss */\n    .show-for-landscape,\n    .hide-for-portrait {\n      display: none !important; } }\n\n/* line 123, node_modules/foundation-sites/scss/components/_visibility.scss */\n.hide-for-landscape,\n.show-for-portrait {\n  display: none !important; }\n  @media screen and (orientation: landscape) {\n    /* line 123, node_modules/foundation-sites/scss/components/_visibility.scss */\n    .hide-for-landscape,\n    .show-for-portrait {\n      display: none !important; } }\n  @media screen and (orientation: portrait) {\n    /* line 123, node_modules/foundation-sites/scss/components/_visibility.scss */\n    .hide-for-landscape,\n    .show-for-portrait {\n      display: block !important; } }\n\n/* stylelint-disable */\n/* stylelint-enable */\n/**\n * Foundation for Sites by ZURB\n * Version 6.5.3\n * foundation.zurb.com\n * Licensed under MIT Open Source\n */\n@media print, screen and (min-width: 40em) {\n  /* line 46, node_modules/foundation-sites/scss/components/_reveal.scss */\n  .reveal, .reveal.tiny, .reveal.small, .reveal.large {\n    right: auto;\n    left: auto;\n    margin: 0 auto; } }\n\n/*!\n * Hamburgers\n * @description Tasty CSS-animated hamburgers\n * @author Jonathan Suh @jonsuh\n * @site https://jonsuh.com/hamburgers\n * @link https://github.com/jonsuh/hamburgers\n */\n/* line 3, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n.hamburger {\n  padding: 15px 15px;\n  display: inline-block;\n  cursor: pointer;\n  transition-property: opacity, filter;\n  transition-duration: 0.15s;\n  transition-timing-function: linear;\n  font: inherit;\n  color: inherit;\n  text-transform: none;\n  background-color: transparent;\n  border: 0;\n  margin: 0;\n  overflow: visible; }\n  /* line 21, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n  .hamburger:hover {\n    opacity: 0.7; }\n  /* line 31, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n  .hamburger.is-active:hover {\n    opacity: 0.7; }\n  /* line 40, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n  .hamburger.is-active .hamburger-inner,\n  .hamburger.is-active .hamburger-inner::before,\n  .hamburger.is-active .hamburger-inner::after {\n    background-color: #000; }\n\n/* line 48, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n.hamburger-box {\n  width: 20px;\n  height: 13px;\n  display: inline-block;\n  position: relative; }\n\n/* line 55, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n.hamburger-inner {\n  display: block;\n  top: 50%;\n  margin-top: -0.5px; }\n  /* line 60, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {\n    width: 20px;\n    height: 1px;\n    background-color: #000;\n    border-radius: 0;\n    position: absolute;\n    transition-property: transform;\n    transition-duration: 0.15s;\n    transition-timing-function: ease; }\n  /* line 73, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n  .hamburger-inner::before, .hamburger-inner::after {\n    content: \"\";\n    display: block; }\n  /* line 79, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n  .hamburger-inner::before {\n    top: -6px; }\n  /* line 83, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n  .hamburger-inner::after {\n    bottom: -6px; }\n\n/*\n   * Arrow\n   */\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrow.scss */\n.hamburger--arrow.is-active .hamburger-inner::before {\n  transform: translate3d(-4px, 0, 0) rotate(-45deg) scale(0.7, 1); }\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_arrow.scss */\n.hamburger--arrow.is-active .hamburger-inner::after {\n  transform: translate3d(-4px, 0, 0) rotate(45deg) scale(0.7, 1); }\n\n/*\n   * Arrow Right\n   */\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrow-r.scss */\n.hamburger--arrow-r.is-active .hamburger-inner::before {\n  transform: translate3d(4px, 0, 0) rotate(45deg) scale(0.7, 1); }\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_arrow-r.scss */\n.hamburger--arrow-r.is-active .hamburger-inner::after {\n  transform: translate3d(4px, 0, 0) rotate(-45deg) scale(0.7, 1); }\n\n/*\n   * Arrow Alt\n   */\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n.hamburger--arrowalt .hamburger-inner::before {\n  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }\n\n/* line 12, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n.hamburger--arrowalt .hamburger-inner::after {\n  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }\n\n/* line 20, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n.hamburger--arrowalt.is-active .hamburger-inner::before {\n  top: 0;\n  transform: translate3d(-4px, -5px, 0) rotate(-45deg) scale(0.7, 1);\n  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n.hamburger--arrowalt.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: translate3d(-4px, 5px, 0) rotate(45deg) scale(0.7, 1);\n  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }\n\n/*\n   * Arrow Alt Right\n   */\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n.hamburger--arrowalt-r .hamburger-inner::before {\n  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }\n\n/* line 12, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n.hamburger--arrowalt-r .hamburger-inner::after {\n  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1); }\n\n/* line 20, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n.hamburger--arrowalt-r.is-active .hamburger-inner::before {\n  top: 0;\n  transform: translate3d(4px, -5px, 0) rotate(45deg) scale(0.7, 1);\n  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n.hamburger--arrowalt-r.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: translate3d(4px, 5px, 0) rotate(-45deg) scale(0.7, 1);\n  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22); }\n\n/*\n   * Arrow Turn\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn.scss */\n.hamburger--arrowturn.is-active .hamburger-inner {\n  transform: rotate(-180deg); }\n  /* line 9, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn.scss */\n  .hamburger--arrowturn.is-active .hamburger-inner::before {\n    transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1); }\n  /* line 13, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn.scss */\n  .hamburger--arrowturn.is-active .hamburger-inner::after {\n    transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1); }\n\n/*\n   * Arrow Turn Right\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn-r.scss */\n.hamburger--arrowturn-r.is-active .hamburger-inner {\n  transform: rotate(-180deg); }\n  /* line 9, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn-r.scss */\n  .hamburger--arrowturn-r.is-active .hamburger-inner::before {\n    transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1); }\n  /* line 13, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn-r.scss */\n  .hamburger--arrowturn-r.is-active .hamburger-inner::after {\n    transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1); }\n\n/*\n   * Boring\n   */\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {\n  transition-property: none; }\n\n/* line 15, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n.hamburger--boring.is-active .hamburger-inner {\n  transform: rotate(45deg); }\n  /* line 18, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n  .hamburger--boring.is-active .hamburger-inner::before {\n    top: 0;\n    opacity: 0; }\n  /* line 23, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n  .hamburger--boring.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(-90deg); }\n\n/*\n   * Collapse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n.hamburger--collapse .hamburger-inner {\n  top: auto;\n  bottom: 0;\n  transition-duration: 0.13s;\n  transition-delay: 0.13s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 13, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n  .hamburger--collapse .hamburger-inner::after {\n    top: -12px;\n    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }\n  /* line 19, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n  .hamburger--collapse .hamburger-inner::before {\n    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 26, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n.hamburger--collapse.is-active .hamburger-inner {\n  transform: translate3d(0, -6px, 0) rotate(-45deg);\n  transition-delay: 0.22s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 31, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n  .hamburger--collapse.is-active .hamburger-inner::after {\n    top: 0;\n    opacity: 0;\n    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }\n  /* line 38, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n  .hamburger--collapse.is-active .hamburger-inner::before {\n    top: 0;\n    transform: rotate(-90deg);\n    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Collapse Reverse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n.hamburger--collapse-r .hamburger-inner {\n  top: auto;\n  bottom: 0;\n  transition-duration: 0.13s;\n  transition-delay: 0.13s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 13, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n  .hamburger--collapse-r .hamburger-inner::after {\n    top: -12px;\n    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }\n  /* line 19, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n  .hamburger--collapse-r .hamburger-inner::before {\n    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 26, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n.hamburger--collapse-r.is-active .hamburger-inner {\n  transform: translate3d(0, -6px, 0) rotate(45deg);\n  transition-delay: 0.22s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 31, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n  .hamburger--collapse-r.is-active .hamburger-inner::after {\n    top: 0;\n    opacity: 0;\n    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear; }\n  /* line 38, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n  .hamburger--collapse-r.is-active .hamburger-inner::before {\n    top: 0;\n    transform: rotate(90deg);\n    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Elastic\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n.hamburger--elastic .hamburger-inner {\n  top: 0.5px;\n  transition-duration: 0.275s;\n  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }\n  /* line 11, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n  .hamburger--elastic .hamburger-inner::before {\n    top: 6px;\n    transition: opacity 0.125s 0.275s ease; }\n  /* line 16, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n  .hamburger--elastic .hamburger-inner::after {\n    top: 12px;\n    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }\n\n/* line 23, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n.hamburger--elastic.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(135deg);\n  transition-delay: 0.075s; }\n  /* line 29, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n  .hamburger--elastic.is-active .hamburger-inner::before {\n    transition-delay: 0s;\n    opacity: 0; }\n  /* line 34, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n  .hamburger--elastic.is-active .hamburger-inner::after {\n    transform: translate3d(0, -12px, 0) rotate(-270deg);\n    transition-delay: 0.075s; }\n\n/*\n   * Elastic Reverse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n.hamburger--elastic-r .hamburger-inner {\n  top: 0.5px;\n  transition-duration: 0.275s;\n  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }\n  /* line 11, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n  .hamburger--elastic-r .hamburger-inner::before {\n    top: 6px;\n    transition: opacity 0.125s 0.275s ease; }\n  /* line 16, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n  .hamburger--elastic-r .hamburger-inner::after {\n    top: 12px;\n    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55); }\n\n/* line 23, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n.hamburger--elastic-r.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(-135deg);\n  transition-delay: 0.075s; }\n  /* line 29, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n  .hamburger--elastic-r.is-active .hamburger-inner::before {\n    transition-delay: 0s;\n    opacity: 0; }\n  /* line 34, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n  .hamburger--elastic-r.is-active .hamburger-inner::after {\n    transform: translate3d(0, -12px, 0) rotate(270deg);\n    transition-delay: 0.075s; }\n\n/*\n   * Emphatic\n   */\n/* line 5, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n.hamburger--emphatic {\n  overflow: hidden; }\n  /* line 8, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n  .hamburger--emphatic .hamburger-inner {\n    transition: background-color 0.125s 0.175s ease-in; }\n    /* line 11, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n    .hamburger--emphatic .hamburger-inner::before {\n      left: 0;\n      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }\n    /* line 18, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n    .hamburger--emphatic .hamburger-inner::after {\n      top: 6px;\n      right: 0;\n      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }\n  /* line 28, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n  .hamburger--emphatic.is-active .hamburger-inner {\n    transition-delay: 0s;\n    transition-timing-function: ease-out;\n    background-color: transparent !important; }\n    /* line 33, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n    .hamburger--emphatic.is-active .hamburger-inner::before {\n      left: -40px;\n      top: -40px;\n      transform: translate3d(40px, 40px, 0) rotate(45deg);\n      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }\n    /* line 42, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n    .hamburger--emphatic.is-active .hamburger-inner::after {\n      right: -40px;\n      top: -40px;\n      transform: translate3d(-40px, 40px, 0) rotate(-45deg);\n      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }\n\n/*\n   * Emphatic Reverse\n   */\n/* line 5, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n.hamburger--emphatic-r {\n  overflow: hidden; }\n  /* line 8, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n  .hamburger--emphatic-r .hamburger-inner {\n    transition: background-color 0.125s 0.175s ease-in; }\n    /* line 11, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n    .hamburger--emphatic-r .hamburger-inner::before {\n      left: 0;\n      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in; }\n    /* line 18, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n    .hamburger--emphatic-r .hamburger-inner::after {\n      top: 6px;\n      right: 0;\n      transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in; }\n  /* line 28, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n  .hamburger--emphatic-r.is-active .hamburger-inner {\n    transition-delay: 0s;\n    transition-timing-function: ease-out;\n    background-color: transparent !important; }\n    /* line 33, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n    .hamburger--emphatic-r.is-active .hamburger-inner::before {\n      left: -40px;\n      top: 40px;\n      transform: translate3d(40px, -40px, 0) rotate(-45deg);\n      transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }\n    /* line 42, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n    .hamburger--emphatic-r.is-active .hamburger-inner::after {\n      right: -40px;\n      top: 40px;\n      transform: translate3d(-40px, -40px, 0) rotate(45deg);\n      transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1); }\n\n/*\n   * Minus\n   */\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n.hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after {\n  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear; }\n\n/* line 17, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n.hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after {\n  opacity: 0;\n  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear; }\n\n/* line 24, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n.hamburger--minus.is-active .hamburger-inner::before {\n  top: 0; }\n\n/* line 28, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n.hamburger--minus.is-active .hamburger-inner::after {\n  bottom: 0; }\n\n/*\n   * Slider\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n.hamburger--slider .hamburger-inner {\n  top: 0.5px; }\n  /* line 9, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n  .hamburger--slider .hamburger-inner::before {\n    top: 6px;\n    transition-property: transform, opacity;\n    transition-timing-function: ease;\n    transition-duration: 0.15s; }\n  /* line 16, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n  .hamburger--slider .hamburger-inner::after {\n    top: 12px; }\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n.hamburger--slider.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(45deg); }\n  /* line 27, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n  .hamburger--slider.is-active .hamburger-inner::before {\n    transform: rotate(-45deg) translate3d(-2.85714px, -5px, 0);\n    opacity: 0; }\n  /* line 32, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n  .hamburger--slider.is-active .hamburger-inner::after {\n    transform: translate3d(0, -12px, 0) rotate(-90deg); }\n\n/*\n   * Slider Reverse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n.hamburger--slider-r .hamburger-inner {\n  top: 0.5px; }\n  /* line 9, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n  .hamburger--slider-r .hamburger-inner::before {\n    top: 6px;\n    transition-property: transform, opacity;\n    transition-timing-function: ease;\n    transition-duration: 0.15s; }\n  /* line 16, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n  .hamburger--slider-r .hamburger-inner::after {\n    top: 12px; }\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n.hamburger--slider-r.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(-45deg); }\n  /* line 27, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n  .hamburger--slider-r.is-active .hamburger-inner::before {\n    transform: rotate(45deg) translate3d(2.85714px, -5px, 0);\n    opacity: 0; }\n  /* line 32, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n  .hamburger--slider-r.is-active .hamburger-inner::after {\n    transform: translate3d(0, -12px, 0) rotate(90deg); }\n\n/*\n   * Spin\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n.hamburger--spin .hamburger-inner {\n  transition-duration: 0.22s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n  .hamburger--spin .hamburger-inner::before {\n    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }\n  /* line 15, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n  .hamburger--spin .hamburger-inner::after {\n    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n.hamburger--spin.is-active .hamburger-inner {\n  transform: rotate(225deg);\n  transition-delay: 0.12s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 27, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n  .hamburger--spin.is-active .hamburger-inner::before {\n    top: 0;\n    opacity: 0;\n    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }\n  /* line 34, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n  .hamburger--spin.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(-90deg);\n    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Spin Reverse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n.hamburger--spin-r .hamburger-inner {\n  transition-duration: 0.22s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n  .hamburger--spin-r .hamburger-inner::before {\n    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in; }\n  /* line 15, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n  .hamburger--spin-r .hamburger-inner::after {\n    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n.hamburger--spin-r.is-active .hamburger-inner {\n  transform: rotate(-225deg);\n  transition-delay: 0.12s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 27, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n  .hamburger--spin-r.is-active .hamburger-inner::before {\n    top: 0;\n    opacity: 0;\n    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out; }\n  /* line 34, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n  .hamburger--spin-r.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(90deg);\n    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Spring\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n.hamburger--spring .hamburger-inner {\n  top: 0.5px;\n  transition: background-color 0s 0.13s linear; }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n  .hamburger--spring .hamburger-inner::before {\n    top: 6px;\n    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 16, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n  .hamburger--spring .hamburger-inner::after {\n    top: 12px;\n    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 24, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n.hamburger--spring.is-active .hamburger-inner {\n  transition-delay: 0.22s;\n  background-color: transparent !important; }\n  /* line 28, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n  .hamburger--spring.is-active .hamburger-inner::before {\n    top: 0;\n    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);\n    transform: translate3d(0, 6px, 0) rotate(45deg); }\n  /* line 35, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n  .hamburger--spring.is-active .hamburger-inner::after {\n    top: 0;\n    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);\n    transform: translate3d(0, 6px, 0) rotate(-45deg); }\n\n/*\n   * Spring Reverse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n.hamburger--spring-r .hamburger-inner {\n  top: auto;\n  bottom: 0;\n  transition-duration: 0.13s;\n  transition-delay: 0s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 13, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n  .hamburger--spring-r .hamburger-inner::after {\n    top: -12px;\n    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; }\n  /* line 19, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n  .hamburger--spring-r .hamburger-inner::before {\n    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 26, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n.hamburger--spring-r.is-active .hamburger-inner {\n  transform: translate3d(0, -6px, 0) rotate(-45deg);\n  transition-delay: 0.22s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 31, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n  .hamburger--spring-r.is-active .hamburger-inner::after {\n    top: 0;\n    opacity: 0;\n    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear; }\n  /* line 38, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n  .hamburger--spring-r.is-active .hamburger-inner::before {\n    top: 0;\n    transform: rotate(90deg);\n    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Stand\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n.hamburger--stand .hamburger-inner {\n  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n  .hamburger--stand .hamburger-inner::before {\n    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 15, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n  .hamburger--stand .hamburger-inner::after {\n    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n.hamburger--stand.is-active .hamburger-inner {\n  transform: rotate(90deg);\n  background-color: transparent !important;\n  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }\n  /* line 29, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n  .hamburger--stand.is-active .hamburger-inner::before {\n    top: 0;\n    transform: rotate(-45deg);\n    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 36, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n  .hamburger--stand.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(45deg);\n    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Stand Reverse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n.hamburger--stand-r .hamburger-inner {\n  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear; }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n  .hamburger--stand-r .hamburger-inner::before {\n    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 15, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n  .hamburger--stand-r .hamburger-inner::after {\n    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n.hamburger--stand-r.is-active .hamburger-inner {\n  transform: rotate(-90deg);\n  background-color: transparent !important;\n  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear; }\n  /* line 29, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n  .hamburger--stand-r.is-active .hamburger-inner::before {\n    top: 0;\n    transform: rotate(-45deg);\n    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 36, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n  .hamburger--stand-r.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(45deg);\n    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Squeeze\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n.hamburger--squeeze .hamburger-inner {\n  transition-duration: 0.075s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n  .hamburger--squeeze .hamburger-inner::before {\n    transition: top 0.075s 0.12s ease, opacity 0.075s ease; }\n  /* line 15, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n  .hamburger--squeeze .hamburger-inner::after {\n    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19); }\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n.hamburger--squeeze.is-active .hamburger-inner {\n  transform: rotate(45deg);\n  transition-delay: 0.12s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }\n  /* line 27, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n  .hamburger--squeeze.is-active .hamburger-inner::before {\n    top: 0;\n    opacity: 0;\n    transition: top 0.075s ease, opacity 0.075s 0.12s ease; }\n  /* line 34, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n  .hamburger--squeeze.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(-90deg);\n    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); }\n\n/*\n   * Vortex\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n.hamburger--vortex .hamburger-inner {\n  transition-duration: 0.2s;\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n  .hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {\n    transition-duration: 0s;\n    transition-delay: 0.1s;\n    transition-timing-function: linear; }\n  /* line 17, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n  .hamburger--vortex .hamburger-inner::before {\n    transition-property: top, opacity; }\n  /* line 21, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n  .hamburger--vortex .hamburger-inner::after {\n    transition-property: bottom, transform; }\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n.hamburger--vortex.is-active .hamburger-inner {\n  transform: rotate(765deg);\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }\n  /* line 31, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n  .hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {\n    transition-delay: 0s; }\n  /* line 36, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n  .hamburger--vortex.is-active .hamburger-inner::before {\n    top: 0;\n    opacity: 0; }\n  /* line 41, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n  .hamburger--vortex.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(90deg); }\n\n/*\n   * Vortex Reverse\n   */\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n.hamburger--vortex-r .hamburger-inner {\n  transition-duration: 0.2s;\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }\n  /* line 10, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n  .hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {\n    transition-duration: 0s;\n    transition-delay: 0.1s;\n    transition-timing-function: linear; }\n  /* line 17, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n  .hamburger--vortex-r .hamburger-inner::before {\n    transition-property: top, opacity; }\n  /* line 21, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n  .hamburger--vortex-r .hamburger-inner::after {\n    transition-property: bottom, transform; }\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n.hamburger--vortex-r.is-active .hamburger-inner {\n  transform: rotate(-765deg);\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }\n  /* line 31, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n  .hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {\n    transition-delay: 0s; }\n  /* line 36, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n  .hamburger--vortex-r.is-active .hamburger-inner::before {\n    top: 0;\n    opacity: 0; }\n  /* line 41, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n  .hamburger--vortex-r.is-active .hamburger-inner::after {\n    bottom: 0;\n    transform: rotate(-90deg); }\n\n/* line 35, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox {\n  position: relative;\n  padding-left: 20px;\n  margin: 0 0 0.5rem; }\n  /* line 40, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n  .checkbox label {\n    display: inline-block;\n    vertical-align: middle;\n    position: relative;\n    padding-left: 5px;\n    height: 23px; }\n    /* line 47, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .checkbox label::before {\n      content: \"\";\n      display: inline-block;\n      position: absolute;\n      width: 21px;\n      height: 21px;\n      left: 0;\n      margin-left: -28px;\n      border: 1px solid #777777;\n      border-radius: 0;\n      background-color: #fff;\n      transition: border 0.15s ease-in-out, color 0.15s ease-in-out; }\n    /* line 61, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .checkbox label::after {\n      display: inline-block;\n      position: absolute;\n      width: 20px;\n      height: 20px;\n      left: 0;\n      top: -2px;\n      margin-left: -27px;\n      padding-left: 3px;\n      font-size: 0.875rem;\n      color: #000; }\n  /* line 75, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n  .checkbox input[type=\"checkbox\"],\n  .checkbox input[type=\"radio\"] {\n    position: absolute;\n    margin: 4px 4px 4px -18px;\n    opacity: 0;\n    z-index: 1;\n    width: 18px;\n    height: 17px; }\n    /* line 84, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .checkbox input[type=\"checkbox\"]:focus + label::before,\n    .checkbox input[type=\"radio\"]:focus + label::before {\n      outline: 0; }\n    /* line 88, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .checkbox input[type=\"checkbox\"]:checked + label::after,\n    .checkbox input[type=\"radio\"]:checked + label::after {\n      font-family: \"rc-base-icons\";\n      content: \"\"; }\n    /* line 93, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .checkbox input[type=\"checkbox\"]:indeterminate + label::after,\n    .checkbox input[type=\"radio\"]:indeterminate + label::after {\n      display: block;\n      content: \"\";\n      width: 10px;\n      height: 3px;\n      background-color: #555555;\n      border-radius: 0;\n      margin-left: -22.5px;\n      margin-top: 11px; }\n    /* line 104, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .checkbox input[type=\"checkbox\"]:disabled + label,\n    .checkbox input[type=\"radio\"]:disabled + label {\n      opacity: 0.65; }\n      /* line 107, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n      .checkbox input[type=\"checkbox\"]:disabled + label::before,\n      .checkbox input[type=\"radio\"]:disabled + label::before {\n        background-color: #eeeeee;\n        cursor: not-allowed; }\n  /* line 115, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n  .checkbox.checkbox-circle label::before {\n    border-radius: 50%; }\n  /* line 119, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n  .checkbox.checkbox-inline {\n    margin-top: 0;\n    display: inline-block; }\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.primary input[type=\"checkbox\"]:checked + label::before,\n.checkbox.primary input[type=\"radio\"]:checked + label::before {\n  background-color: #1779ba;\n  border-color: #1779ba; }\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.primary input[type=\"checkbox\"]:checked + label::after,\n.checkbox.primary input[type=\"radio\"]:checked + label::after {\n  color: #fff; }\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.secondary input[type=\"checkbox\"]:checked + label::before,\n.checkbox.secondary input[type=\"radio\"]:checked + label::before {\n  background-color: #767676;\n  border-color: #767676; }\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.secondary input[type=\"checkbox\"]:checked + label::after,\n.checkbox.secondary input[type=\"radio\"]:checked + label::after {\n  color: #fff; }\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.alert input[type=\"checkbox\"]:checked + label::before,\n.checkbox.alert input[type=\"radio\"]:checked + label::before {\n  background-color: #cc4b37;\n  border-color: #cc4b37; }\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.alert input[type=\"checkbox\"]:checked + label::after,\n.checkbox.alert input[type=\"radio\"]:checked + label::after {\n  color: #fff; }\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.warning input[type=\"checkbox\"]:checked + label::before,\n.checkbox.warning input[type=\"radio\"]:checked + label::before {\n  background-color: #ffae00;\n  border-color: #ffae00; }\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.warning input[type=\"checkbox\"]:checked + label::after,\n.checkbox.warning input[type=\"radio\"]:checked + label::after {\n  color: #fff; }\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.success input[type=\"checkbox\"]:checked + label::before,\n.checkbox.success input[type=\"radio\"]:checked + label::before {\n  background-color: #18a733;\n  border-color: #18a733; }\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.success input[type=\"checkbox\"]:checked + label::after,\n.checkbox.success input[type=\"radio\"]:checked + label::after {\n  color: #fff; }\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.primary input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.primary input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #1779ba;\n  border-color: #1779ba; }\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.primary input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.primary input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff; }\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.secondary input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.secondary input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #767676;\n  border-color: #767676; }\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.secondary input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.secondary input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff; }\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.alert input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.alert input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #cc4b37;\n  border-color: #cc4b37; }\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.alert input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.alert input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff; }\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.warning input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.warning input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #ffae00;\n  border-color: #ffae00; }\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.warning input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.warning input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff; }\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.success input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.success input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #18a733;\n  border-color: #18a733; }\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.checkbox.success input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.success input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff; }\n\n/* line 162, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio {\n  padding-left: 20px; }\n  /* line 165, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n  .radio label {\n    display: inline-block;\n    vertical-align: middle;\n    position: relative;\n    padding-left: 5px;\n    height: 23px; }\n    /* line 172, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .radio label::before {\n      content: \"\";\n      display: inline-block;\n      position: absolute;\n      width: 21px;\n      height: 21px;\n      left: 0;\n      margin-left: -28px;\n      border: 1px solid #777777;\n      border-radius: 50%;\n      background-color: #fff;\n      transition: border 0.15s ease-in-out; }\n    /* line 186, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .radio label::after {\n      display: inline-block;\n      position: absolute;\n      content: \" \";\n      width: 13px;\n      height: 13px;\n      left: 4px;\n      top: 4px;\n      margin-left: -28px;\n      border-radius: 50%;\n      background-color: #000;\n      transform: scale(0, 0);\n      transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); }\n  /* line 202, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n  .radio input[type=\"radio\"] {\n    position: absolute;\n    margin: 4px 4px 4px -18px;\n    opacity: 0;\n    z-index: 1;\n    width: 18px;\n    height: 17px; }\n    /* line 210, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .radio input[type=\"radio\"]:focus + label::before {\n      outline: 0; }\n    /* line 214, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .radio input[type=\"radio\"]:checked + label::after {\n      transform: scale(1, 1); }\n    /* line 218, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n    .radio input[type=\"radio\"]:disabled + label {\n      opacity: 0.65; }\n      /* line 221, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n      .radio input[type=\"radio\"]:disabled + label::before {\n        cursor: not-allowed; }\n  /* line 228, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n  .radio.radio-inline {\n    margin-top: 0;\n    display: inline-block; }\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.primary input[type=\"radio\"] + label::after {\n  background-color: #1779ba; }\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.primary input[type=\"radio\"]:checked + label::before {\n  border-color: #1779ba; }\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.primary input[type=\"radio\"]:checked + label::after {\n  background-color: #1779ba; }\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.secondary input[type=\"radio\"] + label::after {\n  background-color: #767676; }\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.secondary input[type=\"radio\"]:checked + label::before {\n  border-color: #767676; }\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.secondary input[type=\"radio\"]:checked + label::after {\n  background-color: #767676; }\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.alert input[type=\"radio\"] + label::after {\n  background-color: #cc4b37; }\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.alert input[type=\"radio\"]:checked + label::before {\n  border-color: #cc4b37; }\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.alert input[type=\"radio\"]:checked + label::after {\n  background-color: #cc4b37; }\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.warning input[type=\"radio\"] + label::after {\n  background-color: #ffae00; }\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.warning input[type=\"radio\"]:checked + label::before {\n  border-color: #ffae00; }\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.warning input[type=\"radio\"]:checked + label::after {\n  background-color: #ffae00; }\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.success input[type=\"radio\"] + label::after {\n  background-color: #18a733; }\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.success input[type=\"radio\"]:checked + label::before {\n  border-color: #18a733; }\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n.radio.success input[type=\"radio\"]:checked + label::after {\n  background-color: #18a733; }\n\n/* line 243, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\ninput[type=\"checkbox\"].styled:checked + label:after,\ninput[type=\"radio\"].styled:checked + label:after {\n  font-family: \"rc-base-icons\";\n  content: \"\"; }\n\n/* line 248, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\ninput[type=\"checkbox\"] .styled:checked + label::before,\ninput[type=\"radio\"] .styled:checked + label::before {\n  color: #fff; }\n\n/* line 251, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\ninput[type=\"checkbox\"] .styled:checked + label::after,\ninput[type=\"radio\"] .styled:checked + label::after {\n  color: #fff; }\n\n/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */\n/* line 10, node_modules/foundation-sites/scss/vendor/normalize.scss */\nhtml {\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%; }\n\n/* line 20, node_modules/foundation-sites/scss/vendor/normalize.scss */\nbody {\n  margin: 0; }\n\n/* line 27, node_modules/foundation-sites/scss/vendor/normalize.scss */\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0; }\n\n/* line 38, node_modules/foundation-sites/scss/vendor/normalize.scss */\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible; }\n\n/* line 47, node_modules/foundation-sites/scss/vendor/normalize.scss */\npre {\n  font-family: monospace, monospace;\n  font-size: 1em; }\n\n/* line 57, node_modules/foundation-sites/scss/vendor/normalize.scss */\na {\n  background-color: transparent; }\n\n/* line 64, node_modules/foundation-sites/scss/vendor/normalize.scss */\nabbr[title] {\n  border-bottom: none;\n  text-decoration: underline;\n  text-decoration: underline dotted; }\n\n/* line 72, node_modules/foundation-sites/scss/vendor/normalize.scss */\nb,\nstrong {\n  font-weight: bolder; }\n\n/* line 80, node_modules/foundation-sites/scss/vendor/normalize.scss */\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em; }\n\n/* line 89, node_modules/foundation-sites/scss/vendor/normalize.scss */\nsmall {\n  font-size: 80%; }\n\n/* line 96, node_modules/foundation-sites/scss/vendor/normalize.scss */\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline; }\n\n/* line 104, node_modules/foundation-sites/scss/vendor/normalize.scss */\nsub {\n  bottom: -0.25em; }\n\n/* line 108, node_modules/foundation-sites/scss/vendor/normalize.scss */\nsup {\n  top: -0.5em; }\n\n/* line 117, node_modules/foundation-sites/scss/vendor/normalize.scss */\nimg {\n  border-style: none; }\n\n/* line 127, node_modules/foundation-sites/scss/vendor/normalize.scss */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: 100%;\n  line-height: 1.15;\n  margin: 0; }\n\n/* line 141, node_modules/foundation-sites/scss/vendor/normalize.scss */\nbutton,\ninput {\n  overflow: visible; }\n\n/* line 149, node_modules/foundation-sites/scss/vendor/normalize.scss */\nbutton,\nselect {\n  text-transform: none; }\n\n/* line 156, node_modules/foundation-sites/scss/vendor/normalize.scss */\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button; }\n\n/* line 165, node_modules/foundation-sites/scss/vendor/normalize.scss */\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  border-style: none;\n  padding: 0; }\n\n/* line 175, node_modules/foundation-sites/scss/vendor/normalize.scss */\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n  outline: 1px dotted ButtonText; }\n\n/* line 184, node_modules/foundation-sites/scss/vendor/normalize.scss */\nfieldset {\n  padding: 0.35em 0.75em 0.625em; }\n\n/* line 193, node_modules/foundation-sites/scss/vendor/normalize.scss */\nlegend {\n  box-sizing: border-box;\n  color: inherit;\n  display: table;\n  max-width: 100%;\n  padding: 0;\n  white-space: normal; }\n\n/* line 204, node_modules/foundation-sites/scss/vendor/normalize.scss */\nprogress {\n  vertical-align: baseline; }\n\n/* line 210, node_modules/foundation-sites/scss/vendor/normalize.scss */\ntextarea {\n  overflow: auto; }\n\n/* line 217, node_modules/foundation-sites/scss/vendor/normalize.scss */\n[type=\"checkbox\"],\n[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0; }\n\n/* line 225, node_modules/foundation-sites/scss/vendor/normalize.scss */\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto; }\n\n/* line 233, node_modules/foundation-sites/scss/vendor/normalize.scss */\n[type=\"search\"] {\n  -webkit-appearance: textfield;\n  outline-offset: -2px; }\n\n/* line 240, node_modules/foundation-sites/scss/vendor/normalize.scss */\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none; }\n\n/* line 247, node_modules/foundation-sites/scss/vendor/normalize.scss */\n::-webkit-file-upload-button {\n  -webkit-appearance: button;\n  font: inherit; }\n\n/* line 257, node_modules/foundation-sites/scss/vendor/normalize.scss */\ndetails {\n  display: block; }\n\n/* line 263, node_modules/foundation-sites/scss/vendor/normalize.scss */\nsummary {\n  display: list-item; }\n\n/* line 272, node_modules/foundation-sites/scss/vendor/normalize.scss */\ntemplate {\n  display: none; }\n\n/* line 278, node_modules/foundation-sites/scss/vendor/normalize.scss */\n[hidden] {\n  display: none; }\n\n/* line 140, node_modules/foundation-sites/scss/_global.scss */\n.foundation-mq {\n  font-family: \"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em\"; }\n\n/* line 144, node_modules/foundation-sites/scss/_global.scss */\nhtml {\n  box-sizing: border-box;\n  font-size: 100%; }\n\n/* line 150, node_modules/foundation-sites/scss/_global.scss */\n*,\n*::before,\n*::after {\n  box-sizing: inherit; }\n\n/* line 157, node_modules/foundation-sites/scss/_global.scss */\nbody {\n  margin: 0;\n  padding: 0;\n  background: #fefefe;\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #000;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale; }\n\n/* line 174, node_modules/foundation-sites/scss/_global.scss */\nimg {\n  display: inline-block;\n  vertical-align: middle;\n  max-width: 100%;\n  height: auto;\n  -ms-interpolation-mode: bicubic; }\n\n/* line 186, node_modules/foundation-sites/scss/_global.scss */\ntextarea {\n  height: auto;\n  min-height: 50px;\n  border-radius: 0; }\n\n/* line 193, node_modules/foundation-sites/scss/_global.scss */\nselect {\n  box-sizing: border-box;\n  width: 100%;\n  border-radius: 0; }\n\n/* line 203, node_modules/foundation-sites/scss/_global.scss */\n.map_canvas img,\n.map_canvas embed,\n.map_canvas object,\n.mqa-display img,\n.mqa-display embed,\n.mqa-display object {\n  max-width: none !important; }\n\n/* line 211, node_modules/foundation-sites/scss/_global.scss */\nbutton {\n  padding: 0;\n  appearance: none;\n  border: 0;\n  border-radius: 0;\n  background: transparent;\n  line-height: 1;\n  cursor: auto; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] button {\n    outline: 0; }\n\n/* line 223, node_modules/foundation-sites/scss/_global.scss */\npre {\n  overflow: auto; }\n\n/* line 228, node_modules/foundation-sites/scss/_global.scss */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit; }\n\n/* line 237, node_modules/foundation-sites/scss/_global.scss */\n.is-visible {\n  display: block !important; }\n\n/* line 241, node_modules/foundation-sites/scss/_global.scss */\n.is-hidden {\n  display: none !important; }\n\n/* line 125, node_modules/foundation-sites/scss/forms/_text.scss */\n[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],\ntextarea {\n  display: block;\n  box-sizing: border-box;\n  width: 100%;\n  height: 2.4375rem;\n  margin: 0 0 1rem;\n  padding: 0.5rem;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  font-family: inherit;\n  font-size: 1rem;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #000;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n  appearance: none; }\n  /* line 111, node_modules/foundation-sites/scss/forms/_text.scss */\n  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,\n  textarea:focus {\n    outline: none;\n    border: 1px solid #333333;\n    background-color: #fefefe;\n    box-shadow: 0 0 5px #777777;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }\n\n/* line 132, node_modules/foundation-sites/scss/forms/_text.scss */\ntextarea {\n  max-width: 100%; }\n  /* line 135, node_modules/foundation-sites/scss/forms/_text.scss */\n  textarea[rows] {\n    height: auto; }\n\n/* line 143, node_modules/foundation-sites/scss/forms/_text.scss */\ninput:disabled, input[readonly],\ntextarea:disabled,\ntextarea[readonly] {\n  background-color: #eeeeee;\n  cursor: not-allowed; }\n\n/* line 151, node_modules/foundation-sites/scss/forms/_text.scss */\n[type='submit'],\n[type='button'] {\n  appearance: none;\n  border-radius: 0; }\n\n/* line 158, node_modules/foundation-sites/scss/forms/_text.scss */\ninput[type='search'] {\n  box-sizing: border-box; }\n\n/* line 176, node_modules/foundation-sites/scss/forms/_text.scss */\n::placeholder {\n  color: #777777; }\n\n/* line 10, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n[type='file'],\n[type='checkbox'],\n[type='radio'] {\n  margin: 0 0 1rem; }\n\n/* line 17, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n[type='checkbox'] + label,\n[type='radio'] + label {\n  display: inline-block;\n  vertical-align: baseline;\n  margin-left: 0.5rem;\n  margin-right: 1rem;\n  margin-bottom: 0; }\n  /* line 26, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n  [type='checkbox'] + label[for],\n  [type='radio'] + label[for] {\n    cursor: pointer; }\n\n/* line 32, node_modules/foundation-sites/scss/forms/_checkbox.scss */\nlabel > [type='checkbox'],\nlabel > [type='radio'] {\n  margin-right: 0.5rem; }\n\n/* line 38, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n[type='file'] {\n  width: 100%; }\n\n/* line 43, node_modules/foundation-sites/scss/forms/_label.scss */\nlabel {\n  display: block;\n  margin: 0;\n  font-size: 0.875rem;\n  font-weight: normal;\n  line-height: 1.8;\n  color: #000; }\n  /* line 46, node_modules/foundation-sites/scss/forms/_label.scss */\n  label.middle {\n    margin: 0 0 1rem;\n    padding: 0.5625rem 0; }\n\n/* line 22, node_modules/foundation-sites/scss/forms/_help-text.scss */\n.help-text {\n  margin-top: -0.5rem;\n  font-size: 0.8125rem;\n  font-style: italic;\n  color: #000; }\n\n/* line 27, node_modules/foundation-sites/scss/forms/_input-group.scss */\n.input-group, .search-form {\n  display: flex;\n  width: 100%;\n  margin-bottom: 1rem;\n  align-items: stretch; }\n  /* line 37, node_modules/foundation-sites/scss/forms/_input-group.scss */\n  .input-group > :first-child, .search-form > :first-child, .input-group > :first-child.input-group-button > *, .search-form > :first-child.input-group-button > * {\n    border-radius: 0 0 0 0; }\n  /* line 43, node_modules/foundation-sites/scss/forms/_input-group.scss */\n  .input-group > :last-child, .search-form > :last-child, .input-group > :last-child.input-group-button > *, .search-form > :last-child.input-group-button > * {\n    border-radius: 0 0 0 0; }\n\n/* line 49, node_modules/foundation-sites/scss/forms/_input-group.scss */\n.input-group-label, .input-group-field, .search-form .search-field, .input-group-button, .input-group-button a,\n.input-group-button input,\n.input-group-button button,\n.input-group-button label {\n  margin: 0;\n  white-space: nowrap; }\n\n/* line 59, node_modules/foundation-sites/scss/forms/_input-group.scss */\n.input-group-label {\n  padding: 0 1rem;\n  border: 1px solid #777777;\n  background: #eeeeee;\n  color: #000;\n  text-align: center;\n  white-space: nowrap;\n  display: flex;\n  flex: 0 0 auto;\n  align-items: center; }\n  /* line 80, node_modules/foundation-sites/scss/forms/_input-group.scss */\n  .input-group-label:first-child {\n    border-right: 0; }\n  /* line 84, node_modules/foundation-sites/scss/forms/_input-group.scss */\n  .input-group-label:last-child {\n    border-left: 0; }\n\n/* line 90, node_modules/foundation-sites/scss/forms/_input-group.scss */\n.input-group-field, .search-form .search-field {\n  border-radius: 0;\n  flex: 1 1 0px;\n  min-width: 0; }\n\n/* line 100, node_modules/foundation-sites/scss/forms/_input-group.scss */\n.input-group-button {\n  padding-top: 0;\n  padding-bottom: 0;\n  text-align: center;\n  display: flex;\n  flex: 0 0 auto; }\n  /* line 115, node_modules/foundation-sites/scss/forms/_input-group.scss */\n  .input-group-button a,\n  .input-group-button input,\n  .input-group-button button,\n  .input-group-button label {\n    align-self: stretch;\n    height: auto;\n    padding-top: 0;\n    padding-bottom: 0;\n    font-size: 1rem; }\n\n/* line 39, node_modules/foundation-sites/scss/forms/_fieldset.scss */\nfieldset {\n  margin: 0;\n  padding: 0;\n  border: 0; }\n\n/* line 45, node_modules/foundation-sites/scss/forms/_fieldset.scss */\nlegend {\n  max-width: 100%;\n  margin-bottom: 0.5rem; }\n\n/* line 50, node_modules/foundation-sites/scss/forms/_fieldset.scss */\n.fieldset {\n  margin: 1.125rem 0;\n  padding: 1.25rem;\n  border: 1px solid #777777; }\n  /* line 30, node_modules/foundation-sites/scss/forms/_fieldset.scss */\n  .fieldset legend {\n    margin: 0;\n    margin-left: -0.1875rem;\n    padding: 0 0.1875rem; }\n\n/* line 83, node_modules/foundation-sites/scss/forms/_select.scss */\nselect {\n  height: 2.4375rem;\n  margin: 0 0 1rem;\n  padding: 0.5rem;\n  appearance: none;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  font-family: inherit;\n  font-size: 1rem;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #000;\n  background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2851, 51, 51%29'></polygon></svg>\");\n  background-origin: content-box;\n  background-position: right -1rem center;\n  background-repeat: no-repeat;\n  background-size: 9px 6px;\n  padding-right: 1.5rem;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }\n  @media screen and (min-width: 0\\0) {\n    /* line 83, node_modules/foundation-sites/scss/forms/_select.scss */\n    select {\n      background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==\"); } }\n  /* line 54, node_modules/foundation-sites/scss/forms/_select.scss */\n  select:focus {\n    outline: none;\n    border: 1px solid #333333;\n    background-color: #fefefe;\n    box-shadow: 0 0 5px #777777;\n    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }\n  /* line 66, node_modules/foundation-sites/scss/forms/_select.scss */\n  select:disabled {\n    background-color: #eeeeee;\n    cursor: not-allowed; }\n  /* line 72, node_modules/foundation-sites/scss/forms/_select.scss */\n  select::-ms-expand {\n    display: none; }\n  /* line 76, node_modules/foundation-sites/scss/forms/_select.scss */\n  select[multiple] {\n    height: auto;\n    background-image: none; }\n\n/* line 45, node_modules/foundation-sites/scss/forms/_error.scss */\n.is-invalid-input:not(:focus) {\n  border-color: #cc4b37;\n  background-color: #f9ecea; }\n  /* line 49, node_modules/foundation-sites/scss/forms/_error.scss */\n  .is-invalid-input:not(:focus)::placeholder {\n    color: #cc4b37; }\n\n/* line 76, node_modules/foundation-sites/scss/forms/_error.scss */\n.is-invalid-label {\n  color: #cc4b37; }\n\n/* line 82, node_modules/foundation-sites/scss/forms/_error.scss */\n.form-error {\n  display: none;\n  margin-top: -0.5rem;\n  margin-bottom: 1rem;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: #cc4b37; }\n  /* line 85, node_modules/foundation-sites/scss/forms/_error.scss */\n  .form-error.is-visible {\n    display: block; }\n\n/* line 256, node_modules/foundation-sites/scss/typography/_base.scss */\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\nform,\np,\nblockquote,\nth,\ntd {\n  margin: 0;\n  padding: 0; }\n\n/* line 280, node_modules/foundation-sites/scss/typography/_base.scss */\np {\n  margin-bottom: 1rem;\n  font-size: inherit;\n  line-height: 1.6;\n  text-rendering: optimizeLegibility; }\n\n/* line 289, node_modules/foundation-sites/scss/typography/_base.scss */\nem,\ni {\n  font-style: italic;\n  line-height: inherit; }\n\n/* line 296, node_modules/foundation-sites/scss/typography/_base.scss */\nstrong,\nb {\n  font-weight: bold;\n  line-height: inherit; }\n\n/* line 303, node_modules/foundation-sites/scss/typography/_base.scss */\nsmall {\n  font-size: 80%;\n  line-height: inherit; }\n\n/* line 309, node_modules/foundation-sites/scss/typography/_base.scss */\nh1, .h1,\nh2, .h2,\nh3, .h3,\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  color: inherit;\n  text-rendering: optimizeLegibility; }\n  /* line 321, node_modules/foundation-sites/scss/typography/_base.scss */\n  h1 small, .h1 small,\n  h2 small, .h2 small,\n  h3 small, .h3 small,\n  h4 small, .h4 small,\n  h5 small, .h5 small,\n  h6 small, .h6 small {\n    line-height: 0;\n    color: #777777; }\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\nh1, .h1 {\n  font-size: 1.5rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\nh2, .h2 {\n  font-size: 1.25rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\nh3, .h3 {\n  font-size: 1.1875rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\nh4, .h4 {\n  font-size: 1.125rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\nh5, .h5 {\n  font-size: 1.0625rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\nh6, .h6 {\n  font-size: 1rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n  h1, .h1 {\n    font-size: 3rem; }\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n  h2, .h2 {\n    font-size: 2.5rem; }\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n  h3, .h3 {\n    font-size: 1.9375rem; }\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n  h4, .h4 {\n    font-size: 1.5625rem; }\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n  h5, .h5 {\n    font-size: 1.25rem; }\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n  h6, .h6 {\n    font-size: 1rem; } }\n\n/* line 371, node_modules/foundation-sites/scss/typography/_base.scss */\na {\n  line-height: inherit;\n  color: #1779ba;\n  text-decoration: none;\n  cursor: pointer; }\n  /* line 378, node_modules/foundation-sites/scss/typography/_base.scss */\n  a:hover, a:focus {\n    color: #1468a0; }\n  /* line 386, node_modules/foundation-sites/scss/typography/_base.scss */\n  a img {\n    border: 0; }\n\n/* line 392, node_modules/foundation-sites/scss/typography/_base.scss */\nhr {\n  clear: both;\n  max-width: 75rem;\n  height: 0;\n  margin: 1.25rem auto;\n  border-top: 0;\n  border-right: 0;\n  border-bottom: 1px solid #777777;\n  border-left: 0; }\n\n/* line 406, node_modules/foundation-sites/scss/typography/_base.scss */\nul,\nol,\ndl {\n  margin-bottom: 1rem;\n  list-style-position: outside;\n  line-height: 1.6; }\n\n/* line 415, node_modules/foundation-sites/scss/typography/_base.scss */\nli {\n  font-size: inherit; }\n\n/* line 420, node_modules/foundation-sites/scss/typography/_base.scss */\nul {\n  margin-left: 1.25rem;\n  list-style-type: disc; }\n\n/* line 426, node_modules/foundation-sites/scss/typography/_base.scss */\nol {\n  margin-left: 1.25rem; }\n\n/* line 432, node_modules/foundation-sites/scss/typography/_base.scss */\nul ul, ol ul, ul ol, ol ol {\n  margin-left: 1.25rem;\n  margin-bottom: 0; }\n\n/* line 439, node_modules/foundation-sites/scss/typography/_base.scss */\ndl {\n  margin-bottom: 1rem; }\n  /* line 442, node_modules/foundation-sites/scss/typography/_base.scss */\n  dl dt {\n    margin-bottom: 0.3rem;\n    font-weight: bold; }\n\n/* line 449, node_modules/foundation-sites/scss/typography/_base.scss */\nblockquote {\n  margin: 0 0 1rem;\n  padding: 0.5625rem 1.25rem 0 1.1875rem;\n  border-left: 1px solid #777777; }\n  /* line 454, node_modules/foundation-sites/scss/typography/_base.scss */\n  blockquote, blockquote p {\n    line-height: 1.6;\n    color: #333333; }\n\n/* line 461, node_modules/foundation-sites/scss/typography/_base.scss */\ncite {\n  display: block;\n  font-size: 0.8125rem;\n  color: #333333; }\n  /* line 466, node_modules/foundation-sites/scss/typography/_base.scss */\n  cite:before {\n    content: \"— \"; }\n\n/* line 472, node_modules/foundation-sites/scss/typography/_base.scss */\nabbr, abbr[title] {\n  border-bottom: 1px dotted #000;\n  cursor: help;\n  text-decoration: none; }\n\n/* line 479, node_modules/foundation-sites/scss/typography/_base.scss */\nfigure {\n  margin: 0; }\n\n/* line 484, node_modules/foundation-sites/scss/typography/_base.scss */\ncode {\n  padding: 0.125rem 0.3125rem 0.0625rem;\n  border: 1px solid #777777;\n  background-color: #eeeeee;\n  font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n  font-weight: normal;\n  color: #000; }\n\n/* line 496, node_modules/foundation-sites/scss/typography/_base.scss */\nkbd {\n  margin: 0;\n  padding: 0.125rem 0.25rem 0;\n  background-color: #eeeeee;\n  font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n  color: #000; }\n\n/* line 48, node_modules/foundation-sites/scss/typography/_helpers.scss */\n.subheader {\n  margin-top: 0.2rem;\n  margin-bottom: 0.5rem;\n  font-weight: normal;\n  line-height: 1.4;\n  color: #333333; }\n\n/* line 58, node_modules/foundation-sites/scss/typography/_helpers.scss */\n.lead {\n  font-size: 125%;\n  line-height: 1.6; }\n\n/* line 64, node_modules/foundation-sites/scss/typography/_helpers.scss */\n.stat {\n  font-size: 2.5rem;\n  line-height: 1; }\n  /* line 68, node_modules/foundation-sites/scss/typography/_helpers.scss */\n  p + .stat {\n    margin-top: -1rem; }\n\n/* line 75, node_modules/foundation-sites/scss/typography/_helpers.scss */\nul.no-bullet, ul.comment-list, ol.no-bullet, ol.comment-list {\n  margin-left: 0;\n  list-style: none; }\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n.text-left {\n  text-align: left; }\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n.text-right {\n  text-align: right; }\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n.text-center {\n  text-align: center; }\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n.text-justify {\n  text-align: justify; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .medium-text-left {\n    text-align: left; }\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .medium-text-right {\n    text-align: right; }\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .medium-text-center {\n    text-align: center; }\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .medium-text-justify {\n    text-align: justify; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .large-text-left {\n    text-align: left; }\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .large-text-right {\n    text-align: right; }\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .large-text-center {\n    text-align: center; }\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n  .large-text-justify {\n    text-align: justify; } }\n\n/* line 18, node_modules/foundation-sites/scss/typography/_print.scss */\n.show-for-print {\n  display: none !important; }\n\n@media print {\n  /* line 21, node_modules/foundation-sites/scss/typography/_print.scss */\n  * {\n    background: transparent !important;\n    box-shadow: none !important;\n    color: black !important;\n    text-shadow: none !important; }\n  /* line 32, node_modules/foundation-sites/scss/typography/_print.scss */\n  .show-for-print {\n    display: block !important; }\n  /* line 33, node_modules/foundation-sites/scss/typography/_print.scss */\n  .hide-for-print {\n    display: none !important; }\n  /* line 35, node_modules/foundation-sites/scss/typography/_print.scss */\n  table.show-for-print {\n    display: table !important; }\n  /* line 36, node_modules/foundation-sites/scss/typography/_print.scss */\n  thead.show-for-print {\n    display: table-header-group !important; }\n  /* line 37, node_modules/foundation-sites/scss/typography/_print.scss */\n  tbody.show-for-print {\n    display: table-row-group !important; }\n  /* line 38, node_modules/foundation-sites/scss/typography/_print.scss */\n  tr.show-for-print {\n    display: table-row !important; }\n  /* line 39, node_modules/foundation-sites/scss/typography/_print.scss */\n  td.show-for-print {\n    display: table-cell !important; }\n  /* line 40, node_modules/foundation-sites/scss/typography/_print.scss */\n  th.show-for-print {\n    display: table-cell !important; }\n  /* line 43, node_modules/foundation-sites/scss/typography/_print.scss */\n  a,\n  a:visited {\n    text-decoration: underline; }\n  /* line 46, node_modules/foundation-sites/scss/typography/_print.scss */\n  a[href]:after {\n    content: \" (\" attr(href) \")\"; }\n  /* line 50, node_modules/foundation-sites/scss/typography/_print.scss */\n  .ir a:after,\n  a[href^='javascript:']:after,\n  a[href^='#']:after {\n    content: ''; }\n  /* line 55, node_modules/foundation-sites/scss/typography/_print.scss */\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\"; }\n  /* line 58, node_modules/foundation-sites/scss/typography/_print.scss */\n  pre,\n  blockquote {\n    border: 1px solid #333333;\n    page-break-inside: avoid; }\n  /* line 65, node_modules/foundation-sites/scss/typography/_print.scss */\n  thead {\n    display: table-header-group; }\n  /* line 67, node_modules/foundation-sites/scss/typography/_print.scss */\n  tr,\n  img {\n    page-break-inside: avoid; }\n  /* line 70, node_modules/foundation-sites/scss/typography/_print.scss */\n  img {\n    max-width: 100% !important; }\n  @page {\n    margin: 0.5cm; }\n  /* line 74, node_modules/foundation-sites/scss/typography/_print.scss */\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3; }\n  /* line 82, node_modules/foundation-sites/scss/typography/_print.scss */\n  h2,\n  h3 {\n    page-break-after: avoid; }\n  /* line 86, node_modules/foundation-sites/scss/typography/_print.scss */\n  .print-break-inside {\n    page-break-inside: auto; } }\n\n/* line 13, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-container {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem;\n  max-width: 75rem;\n  margin-left: auto;\n  margin-right: auto; }\n  @media print, screen and (min-width: 40em) {\n    /* line 13, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-container {\n      padding-right: 0.9375rem;\n      padding-left: 0.9375rem; } }\n  /* line 16, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-container.fluid {\n    padding-right: 0.625rem;\n    padding-left: 0.625rem;\n    max-width: 100%;\n    margin-left: auto;\n    margin-right: auto; }\n    @media print, screen and (min-width: 40em) {\n      /* line 16, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n      .grid-container.fluid {\n        padding-right: 0.9375rem;\n        padding-left: 0.9375rem; } }\n  /* line 20, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-container.full {\n    padding-right: 0;\n    padding-left: 0;\n    max-width: 100%;\n    margin-left: auto;\n    margin-right: auto; }\n\n/* line 26, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x {\n  display: flex;\n  flex-flow: row wrap; }\n\n/* line 30, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.cell {\n  flex: 0 0 auto;\n  min-height: 0px;\n  min-width: 0px;\n  width: 100%; }\n  /* line 34, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .cell.auto {\n    flex: 1 1 0px; }\n  /* line 38, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .cell.shrink {\n    flex: 0 0 auto; }\n\n/* line 44, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .auto {\n  width: auto; }\n\n/* line 48, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .shrink {\n  width: auto; }\n\n/* line 64, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {\n  flex-basis: auto; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 64, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {\n    flex-basis: auto; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 64, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {\n    flex-basis: auto; } }\n\n/* line 79, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {\n  flex: 0 0 auto; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-1 {\n  width: 8.33333%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-2 {\n  width: 16.66667%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-3 {\n  width: 25%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-4 {\n  width: 33.33333%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-5 {\n  width: 41.66667%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-6 {\n  width: 50%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-7 {\n  width: 58.33333%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-8 {\n  width: 66.66667%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-9 {\n  width: 75%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-10 {\n  width: 83.33333%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-11 {\n  width: 91.66667%; }\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-x > .small-12 {\n  width: 100%; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 73, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-auto {\n    flex: 1 1 0px;\n    width: auto; }\n  /* line 79, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {\n    flex: 0 0 auto; }\n  /* line 85, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-shrink {\n    width: auto; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-1 {\n    width: 8.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-2 {\n    width: 16.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-3 {\n    width: 25%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-4 {\n    width: 33.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-5 {\n    width: 41.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-6 {\n    width: 50%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-7 {\n    width: 58.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-8 {\n    width: 66.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-9 {\n    width: 75%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-10 {\n    width: 83.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-11 {\n    width: 91.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .medium-12 {\n    width: 100%; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 73, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-auto {\n    flex: 1 1 0px;\n    width: auto; }\n  /* line 79, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {\n    flex: 0 0 auto; }\n  /* line 85, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-shrink {\n    width: auto; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-1 {\n    width: 8.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-2 {\n    width: 16.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-3 {\n    width: 25%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-4 {\n    width: 33.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-5 {\n    width: 41.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-6 {\n    width: 50%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-7 {\n    width: 58.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-8 {\n    width: 66.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-9 {\n    width: 75%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-10 {\n    width: 83.33333%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-11 {\n    width: 91.66667%; }\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-x > .large-12 {\n    width: 100%; } }\n\n/* line 102, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x:not(.grid-x) > .cell {\n  width: auto; }\n\n/* line 107, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-y:not(.grid-y) > .cell {\n  height: auto; }\n\n/* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x {\n  margin-left: -0.625rem;\n  margin-right: -0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x {\n      margin-left: -0.9375rem;\n      margin-right: -0.9375rem; } }\n  /* line 142, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .cell {\n    width: calc(100% - 1.25rem);\n    margin-left: 0.625rem;\n    margin-right: 0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 149, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .cell {\n      width: calc(100% - 1.875rem);\n      margin-left: 0.9375rem;\n      margin-right: 0.9375rem; } }\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .auto {\n    width: auto; }\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .shrink {\n    width: auto; }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-1 {\n    width: calc(8.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-2 {\n    width: calc(16.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-3 {\n    width: calc(25% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-4 {\n    width: calc(33.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-5 {\n    width: calc(41.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-6 {\n    width: calc(50% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-7 {\n    width: calc(58.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-8 {\n    width: calc(66.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-9 {\n    width: calc(75% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-10 {\n    width: calc(83.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-11 {\n    width: calc(91.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .small-12 {\n    width: calc(100% - 1.25rem); }\n  @media print, screen and (min-width: 40em) {\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .auto {\n      width: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .shrink {\n      width: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-1 {\n      width: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-2 {\n      width: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-3 {\n      width: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-4 {\n      width: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-5 {\n      width: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-6 {\n      width: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-7 {\n      width: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-8 {\n      width: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-9 {\n      width: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-10 {\n      width: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-11 {\n      width: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .small-12 {\n      width: calc(100% - 1.875rem); }\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-auto {\n      width: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-shrink {\n      width: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-1 {\n      width: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-2 {\n      width: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-3 {\n      width: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-4 {\n      width: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-5 {\n      width: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-6 {\n      width: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-7 {\n      width: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-8 {\n      width: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-9 {\n      width: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-10 {\n      width: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-11 {\n      width: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .medium-12 {\n      width: calc(100% - 1.875rem); } }\n  @media print, screen and (min-width: 64em) {\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-auto {\n      width: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-shrink {\n      width: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-1 {\n      width: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-2 {\n      width: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-3 {\n      width: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-4 {\n      width: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-5 {\n      width: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-6 {\n      width: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-7 {\n      width: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-8 {\n      width: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-9 {\n      width: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-10 {\n      width: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-11 {\n      width: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-x > .large-12 {\n      width: calc(100% - 1.875rem); } }\n\n/* line 177, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-padding-x .grid-padding-x {\n  margin-right: -0.625rem;\n  margin-left: -0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 177, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-padding-x .grid-padding-x {\n      margin-right: -0.9375rem;\n      margin-left: -0.9375rem; } }\n\n/* line 183, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-container:not(.full) > .grid-padding-x {\n  margin-right: -0.625rem;\n  margin-left: -0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 183, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-container:not(.full) > .grid-padding-x {\n      margin-right: -0.9375rem;\n      margin-left: -0.9375rem; } }\n\n/* line 188, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-padding-x > .cell {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 188, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-padding-x > .cell {\n      padding-right: 0.9375rem;\n      padding-left: 0.9375rem; } }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-1 > .cell {\n  width: 100%; }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-2 > .cell {\n  width: 50%; }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-3 > .cell {\n  width: 33.33333%; }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-4 > .cell {\n  width: 25%; }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-5 > .cell {\n  width: 20%; }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-6 > .cell {\n  width: 16.66667%; }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-7 > .cell {\n  width: 14.28571%; }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.small-up-8 > .cell {\n  width: 12.5%; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-1 > .cell {\n    width: 100%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-2 > .cell {\n    width: 50%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-3 > .cell {\n    width: 33.33333%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-4 > .cell {\n    width: 25%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-5 > .cell {\n    width: 20%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-6 > .cell {\n    width: 16.66667%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-7 > .cell {\n    width: 14.28571%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .medium-up-8 > .cell {\n    width: 12.5%; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-1 > .cell {\n    width: 100%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-2 > .cell {\n    width: 50%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-3 > .cell {\n    width: 33.33333%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-4 > .cell {\n    width: 25%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-5 > .cell {\n    width: 20%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-6 > .cell {\n    width: 16.66667%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-7 > .cell {\n    width: 14.28571%; }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .large-up-8 > .cell {\n    width: 12.5%; } }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-1 > .cell {\n  width: calc(100% - 1.25rem); }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-2 > .cell {\n  width: calc(50% - 1.25rem); }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-3 > .cell {\n  width: calc(33.33333% - 1.25rem); }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-4 > .cell {\n  width: calc(25% - 1.25rem); }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-5 > .cell {\n  width: calc(20% - 1.25rem); }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-6 > .cell {\n  width: calc(16.66667% - 1.25rem); }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-7 > .cell {\n  width: calc(14.28571% - 1.25rem); }\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n.grid-margin-x.small-up-8 > .cell {\n  width: calc(12.5% - 1.25rem); }\n\n@media print, screen and (min-width: 40em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-1 > .cell {\n    width: calc(100% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-2 > .cell {\n    width: calc(50% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-3 > .cell {\n    width: calc(33.33333% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-4 > .cell {\n    width: calc(25% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-5 > .cell {\n    width: calc(20% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-6 > .cell {\n    width: calc(16.66667% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-7 > .cell {\n    width: calc(14.28571% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.small-up-8 > .cell {\n    width: calc(12.5% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-1 > .cell {\n    width: calc(100% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-2 > .cell {\n    width: calc(50% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-3 > .cell {\n    width: calc(33.33333% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-4 > .cell {\n    width: calc(25% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-5 > .cell {\n    width: calc(20% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-6 > .cell {\n    width: calc(16.66667% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-7 > .cell {\n    width: calc(14.28571% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.medium-up-8 > .cell {\n    width: calc(12.5% - 1.875rem); } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-1 > .cell {\n    width: calc(100% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-2 > .cell {\n    width: calc(50% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-3 > .cell {\n    width: calc(33.33333% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-4 > .cell {\n    width: calc(25% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-5 > .cell {\n    width: calc(20% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-6 > .cell {\n    width: calc(16.66667% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-7 > .cell {\n    width: calc(14.28571% - 1.875rem); }\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n  .grid-margin-x.large-up-8 > .cell {\n    width: calc(12.5% - 1.875rem); } }\n\n/* line 234, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-margin-collapse {\n  margin-right: 0;\n  margin-left: 0; }\n  /* line 29, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .cell {\n    margin-right: 0;\n    margin-left: 0; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-1 {\n    width: 8.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-2 {\n    width: 16.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-3 {\n    width: 25%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-4 {\n    width: 33.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-5 {\n    width: 41.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-6 {\n    width: 50%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-7 {\n    width: 58.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-8 {\n    width: 66.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-9 {\n    width: 75%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-10 {\n    width: 83.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-11 {\n    width: 91.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-margin-collapse > .small-12 {\n    width: 100%; }\n  @media print, screen and (min-width: 40em) {\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-1 {\n      width: 8.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-2 {\n      width: 16.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-3 {\n      width: 25%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-4 {\n      width: 33.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-5 {\n      width: 41.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-6 {\n      width: 50%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-7 {\n      width: 58.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-8 {\n      width: 66.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-9 {\n      width: 75%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-10 {\n      width: 83.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-11 {\n      width: 91.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .medium-12 {\n      width: 100%; } }\n  @media print, screen and (min-width: 64em) {\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-1 {\n      width: 8.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-2 {\n      width: 16.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-3 {\n      width: 25%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-4 {\n      width: 33.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-5 {\n      width: 41.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-6 {\n      width: 50%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-7 {\n      width: 58.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-8 {\n      width: 66.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-9 {\n      width: 75%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-10 {\n      width: 83.33333%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-11 {\n      width: 91.66667%; }\n    /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .small-margin-collapse > .large-12 {\n      width: 100%; } }\n\n/* line 240, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-padding-collapse {\n  margin-right: 0;\n  margin-left: 0; }\n  /* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .small-padding-collapse > .cell {\n    padding-right: 0;\n    padding-left: 0; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 234, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-margin-collapse {\n    margin-right: 0;\n    margin-left: 0; }\n    /* line 29, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .medium-margin-collapse > .cell {\n      margin-right: 0;\n      margin-left: 0; } }\n\n@media print, screen and (min-width: 40em) {\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-1 {\n    width: 8.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-2 {\n    width: 16.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-3 {\n    width: 25%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-4 {\n    width: 33.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-5 {\n    width: 41.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-6 {\n    width: 50%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-7 {\n    width: 58.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-8 {\n    width: 66.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-9 {\n    width: 75%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-10 {\n    width: 83.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-11 {\n    width: 91.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .small-12 {\n    width: 100%; } }\n\n@media print, screen and (min-width: 40em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-1 {\n    width: 8.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-2 {\n    width: 16.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-3 {\n    width: 25%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-4 {\n    width: 33.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-5 {\n    width: 41.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-6 {\n    width: 50%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-7 {\n    width: 58.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-8 {\n    width: 66.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-9 {\n    width: 75%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-10 {\n    width: 83.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-11 {\n    width: 91.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .medium-12 {\n    width: 100%; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-1 {\n    width: 8.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-2 {\n    width: 16.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-3 {\n    width: 25%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-4 {\n    width: 33.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-5 {\n    width: 41.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-6 {\n    width: 50%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-7 {\n    width: 58.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-8 {\n    width: 66.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-9 {\n    width: 75%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-10 {\n    width: 83.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-11 {\n    width: 91.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .medium-margin-collapse > .large-12 {\n    width: 100%; } }\n\n@media print, screen and (min-width: 40em) {\n  /* line 240, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-padding-collapse {\n    margin-right: 0;\n    margin-left: 0; }\n    /* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .medium-padding-collapse > .cell {\n      padding-right: 0;\n      padding-left: 0; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 234, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-margin-collapse {\n    margin-right: 0;\n    margin-left: 0; }\n    /* line 29, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .large-margin-collapse > .cell {\n      margin-right: 0;\n      margin-left: 0; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-1 {\n    width: 8.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-2 {\n    width: 16.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-3 {\n    width: 25%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-4 {\n    width: 33.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-5 {\n    width: 41.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-6 {\n    width: 50%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-7 {\n    width: 58.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-8 {\n    width: 66.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-9 {\n    width: 75%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-10 {\n    width: 83.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-11 {\n    width: 91.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .small-12 {\n    width: 100%; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-1 {\n    width: 8.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-2 {\n    width: 16.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-3 {\n    width: 25%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-4 {\n    width: 33.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-5 {\n    width: 41.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-6 {\n    width: 50%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-7 {\n    width: 58.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-8 {\n    width: 66.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-9 {\n    width: 75%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-10 {\n    width: 83.33333%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-11 {\n    width: 91.66667%; }\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .medium-12 {\n    width: 100%; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-1 {\n    width: 8.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-2 {\n    width: 16.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-3 {\n    width: 25%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-4 {\n    width: 33.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-5 {\n    width: 41.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-6 {\n    width: 50%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-7 {\n    width: 58.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-8 {\n    width: 66.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-9 {\n    width: 75%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-10 {\n    width: 83.33333%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-11 {\n    width: 91.66667%; }\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .large-margin-collapse > .large-12 {\n    width: 100%; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 240, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-padding-collapse {\n    margin-right: 0;\n    margin-left: 0; }\n    /* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n    .large-padding-collapse > .cell {\n      padding-right: 0;\n      padding-left: 0; } }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-0 {\n  margin-left: 0%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-0 {\n  margin-left: calc(0% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-1 {\n  margin-left: 8.33333%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-1 {\n  margin-left: calc(8.33333% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-2 {\n  margin-left: 16.66667%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-2 {\n  margin-left: calc(16.66667% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-3 {\n  margin-left: 25%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-3 {\n  margin-left: calc(25% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-4 {\n  margin-left: 33.33333%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-4 {\n  margin-left: calc(33.33333% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-5 {\n  margin-left: 41.66667%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-5 {\n  margin-left: calc(41.66667% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-6 {\n  margin-left: 50%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-6 {\n  margin-left: calc(50% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-7 {\n  margin-left: 58.33333%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-7 {\n  margin-left: calc(58.33333% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-8 {\n  margin-left: 66.66667%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-8 {\n  margin-left: calc(66.66667% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-9 {\n  margin-left: 75%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-9 {\n  margin-left: calc(75% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-10 {\n  margin-left: 83.33333%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-10 {\n  margin-left: calc(83.33333% + 0.625rem); }\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.small-offset-11 {\n  margin-left: 91.66667%; }\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-x > .small-offset-11 {\n  margin-left: calc(91.66667% + 0.625rem); }\n\n@media print, screen and (min-width: 40em) {\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-0 {\n    margin-left: 0%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-0 {\n    margin-left: calc(0% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-1 {\n    margin-left: 8.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-1 {\n    margin-left: calc(8.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-2 {\n    margin-left: 16.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-2 {\n    margin-left: calc(16.66667% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-3 {\n    margin-left: 25%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-3 {\n    margin-left: calc(25% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-4 {\n    margin-left: 33.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-4 {\n    margin-left: calc(33.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-5 {\n    margin-left: 41.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-5 {\n    margin-left: calc(41.66667% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-6 {\n    margin-left: 50%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-6 {\n    margin-left: calc(50% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-7 {\n    margin-left: 58.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-7 {\n    margin-left: calc(58.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-8 {\n    margin-left: 66.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-8 {\n    margin-left: calc(66.66667% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-9 {\n    margin-left: 75%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-9 {\n    margin-left: calc(75% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-10 {\n    margin-left: 83.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-10 {\n    margin-left: calc(83.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-offset-11 {\n    margin-left: 91.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .medium-offset-11 {\n    margin-left: calc(91.66667% + 0.9375rem); } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-0 {\n    margin-left: 0%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-0 {\n    margin-left: calc(0% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-1 {\n    margin-left: 8.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-1 {\n    margin-left: calc(8.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-2 {\n    margin-left: 16.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-2 {\n    margin-left: calc(16.66667% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-3 {\n    margin-left: 25%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-3 {\n    margin-left: calc(25% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-4 {\n    margin-left: 33.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-4 {\n    margin-left: calc(33.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-5 {\n    margin-left: 41.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-5 {\n    margin-left: calc(41.66667% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-6 {\n    margin-left: 50%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-6 {\n    margin-left: calc(50% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-7 {\n    margin-left: 58.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-7 {\n    margin-left: calc(58.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-8 {\n    margin-left: 66.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-8 {\n    margin-left: calc(66.66667% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-9 {\n    margin-left: 75%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-9 {\n    margin-left: calc(75% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-10 {\n    margin-left: 83.33333%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-10 {\n    margin-left: calc(83.33333% + 0.9375rem); }\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-offset-11 {\n    margin-left: 91.66667%; }\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-x > .large-offset-11 {\n    margin-left: calc(91.66667% + 0.9375rem); } }\n\n/* line 276, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-y {\n  display: flex;\n  flex-flow: column nowrap; }\n  /* line 280, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .cell {\n    width: auto;\n    max-width: none; }\n  /* line 284, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .auto {\n    height: auto; }\n  /* line 288, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .shrink {\n    height: auto; }\n  /* line 302, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {\n    flex-basis: auto; }\n  @media print, screen and (min-width: 40em) {\n    /* line 302, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {\n      flex-basis: auto; } }\n  @media print, screen and (min-width: 64em) {\n    /* line 302, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {\n      flex-basis: auto; } }\n  /* line 316, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {\n    flex: 0 0 auto; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-1 {\n    height: 8.33333%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-2 {\n    height: 16.66667%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-3 {\n    height: 25%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-4 {\n    height: 33.33333%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-5 {\n    height: 41.66667%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-6 {\n    height: 50%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-7 {\n    height: 58.33333%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-8 {\n    height: 66.66667%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-9 {\n    height: 75%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-10 {\n    height: 83.33333%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-11 {\n    height: 91.66667%; }\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y > .small-12 {\n    height: 100%; }\n  @media print, screen and (min-width: 40em) {\n    /* line 310, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-auto {\n      flex: 1 1 0px;\n      height: auto; }\n    /* line 316, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {\n      flex: 0 0 auto; }\n    /* line 322, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-shrink {\n      height: auto; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-1 {\n      height: 8.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-2 {\n      height: 16.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-3 {\n      height: 25%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-4 {\n      height: 33.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-5 {\n      height: 41.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-6 {\n      height: 50%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-7 {\n      height: 58.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-8 {\n      height: 66.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-9 {\n      height: 75%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-10 {\n      height: 83.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-11 {\n      height: 91.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .medium-12 {\n      height: 100%; } }\n  @media print, screen and (min-width: 64em) {\n    /* line 310, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-auto {\n      flex: 1 1 0px;\n      height: auto; }\n    /* line 316, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {\n      flex: 0 0 auto; }\n    /* line 322, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-shrink {\n      height: auto; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-1 {\n      height: 8.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-2 {\n      height: 16.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-3 {\n      height: 25%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-4 {\n      height: 33.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-5 {\n      height: 41.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-6 {\n      height: 50%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-7 {\n      height: 58.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-8 {\n      height: 66.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-9 {\n      height: 75%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-10 {\n      height: 83.33333%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-11 {\n      height: 91.66667%; }\n    /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-y > .large-12 {\n      height: 100%; } }\n\n/* line 343, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-padding-y .grid-padding-y {\n  margin-top: -0.625rem;\n  margin-bottom: -0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 343, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-padding-y .grid-padding-y {\n      margin-top: -0.9375rem;\n      margin-bottom: -0.9375rem; } }\n\n/* line 348, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-padding-y > .cell {\n  padding-top: 0.625rem;\n  padding-bottom: 0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 348, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-padding-y > .cell {\n      padding-top: 0.9375rem;\n      padding-bottom: 0.9375rem; } }\n\n/* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-y {\n  margin-top: -0.625rem;\n  margin-bottom: -0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y {\n      margin-top: -0.9375rem;\n      margin-bottom: -0.9375rem; } }\n  /* line 142, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .cell {\n    height: calc(100% - 1.25rem);\n    margin-top: 0.625rem;\n    margin-bottom: 0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 149, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .cell {\n      height: calc(100% - 1.875rem);\n      margin-top: 0.9375rem;\n      margin-bottom: 0.9375rem; } }\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .auto {\n    height: auto; }\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .shrink {\n    height: auto; }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-1 {\n    height: calc(8.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-2 {\n    height: calc(16.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-3 {\n    height: calc(25% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-4 {\n    height: calc(33.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-5 {\n    height: calc(41.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-6 {\n    height: calc(50% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-7 {\n    height: calc(58.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-8 {\n    height: calc(66.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-9 {\n    height: calc(75% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-10 {\n    height: calc(83.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-11 {\n    height: calc(91.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-12 {\n    height: calc(100% - 1.25rem); }\n  @media print, screen and (min-width: 40em) {\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .auto {\n      height: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .shrink {\n      height: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-1 {\n      height: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-2 {\n      height: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-3 {\n      height: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-4 {\n      height: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-5 {\n      height: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-6 {\n      height: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-7 {\n      height: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-8 {\n      height: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-9 {\n      height: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-10 {\n      height: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-11 {\n      height: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-12 {\n      height: calc(100% - 1.875rem); }\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-auto {\n      height: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-shrink {\n      height: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-1 {\n      height: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-2 {\n      height: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-3 {\n      height: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-4 {\n      height: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-5 {\n      height: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-6 {\n      height: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-7 {\n      height: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-8 {\n      height: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-9 {\n      height: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-10 {\n      height: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-11 {\n      height: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-12 {\n      height: calc(100% - 1.875rem); } }\n  @media print, screen and (min-width: 64em) {\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-auto {\n      height: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-shrink {\n      height: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-1 {\n      height: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-2 {\n      height: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-3 {\n      height: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-4 {\n      height: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-5 {\n      height: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-6 {\n      height: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-7 {\n      height: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-8 {\n      height: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-9 {\n      height: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-10 {\n      height: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-11 {\n      height: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-12 {\n      height: calc(100% - 1.875rem); } }\n\n/* line 362, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-frame {\n  overflow: hidden;\n  position: relative;\n  flex-wrap: nowrap;\n  align-items: stretch;\n  width: 100vw; }\n\n/* line 366, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.cell .grid-frame {\n  width: 100%; }\n\n/* line 370, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.cell-block {\n  overflow-x: auto;\n  max-width: 100%;\n  -webkit-overflow-scrolling: touch;\n  -ms-overflow-style: -ms-autohiding-scrollbar; }\n\n/* line 374, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.cell-block-y {\n  overflow-y: auto;\n  max-height: 100%;\n  min-height: 100%;\n  -webkit-overflow-scrolling: touch;\n  -ms-overflow-style: -ms-autohiding-scrollbar; }\n\n/* line 379, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.cell-block-container {\n  display: flex;\n  flex-direction: column;\n  max-height: 100%; }\n  /* line 82, node_modules/foundation-sites/scss/xy-grid/_frame.scss */\n  .cell-block-container > .grid-x {\n    max-height: 100%;\n    flex-wrap: nowrap; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 386, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-grid-frame {\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    width: 100vw; }\n  /* line 390, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .cell .medium-grid-frame {\n    width: 100%; }\n  /* line 394, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-cell-block {\n    overflow-x: auto;\n    max-width: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar; }\n  /* line 398, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-cell-block-container {\n    display: flex;\n    flex-direction: column;\n    max-height: 100%; }\n    /* line 82, node_modules/foundation-sites/scss/xy-grid/_frame.scss */\n    .medium-cell-block-container > .grid-x {\n      max-height: 100%;\n      flex-wrap: nowrap; }\n  /* line 402, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .medium-cell-block-y {\n    overflow-y: auto;\n    max-height: 100%;\n    min-height: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 386, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-grid-frame {\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    width: 100vw; }\n  /* line 390, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .cell .large-grid-frame {\n    width: 100%; }\n  /* line 394, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-cell-block {\n    overflow-x: auto;\n    max-width: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar; }\n  /* line 398, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-cell-block-container {\n    display: flex;\n    flex-direction: column;\n    max-height: 100%; }\n    /* line 82, node_modules/foundation-sites/scss/xy-grid/_frame.scss */\n    .large-cell-block-container > .grid-x {\n      max-height: 100%;\n      flex-wrap: nowrap; }\n  /* line 402, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .large-cell-block-y {\n    overflow-y: auto;\n    max-height: 100%;\n    min-height: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar; } }\n\n/* line 409, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-y.grid-frame {\n  width: auto;\n  overflow: hidden;\n  position: relative;\n  flex-wrap: nowrap;\n  align-items: stretch;\n  height: 100vh; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 415, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y.medium-grid-frame {\n    width: auto;\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    height: 100vh; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 415, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-y.large-grid-frame {\n    width: auto;\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    height: 100vh; } }\n\n/* line 423, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.cell .grid-y.grid-frame {\n  height: 100%; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 427, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .cell .grid-y.medium-grid-frame {\n    height: 100%; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 427, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .cell .grid-y.large-grid-frame {\n    height: 100%; } }\n\n/* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-margin-y {\n  margin-top: -0.625rem;\n  margin-bottom: -0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y {\n      margin-top: -0.9375rem;\n      margin-bottom: -0.9375rem; } }\n  /* line 142, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .cell {\n    height: calc(100% - 1.25rem);\n    margin-top: 0.625rem;\n    margin-bottom: 0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 149, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .cell {\n      height: calc(100% - 1.875rem);\n      margin-top: 0.9375rem;\n      margin-bottom: 0.9375rem; } }\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .auto {\n    height: auto; }\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .shrink {\n    height: auto; }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-1 {\n    height: calc(8.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-2 {\n    height: calc(16.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-3 {\n    height: calc(25% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-4 {\n    height: calc(33.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-5 {\n    height: calc(41.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-6 {\n    height: calc(50% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-7 {\n    height: calc(58.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-8 {\n    height: calc(66.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-9 {\n    height: calc(75% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-10 {\n    height: calc(83.33333% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-11 {\n    height: calc(91.66667% - 1.25rem); }\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y > .small-12 {\n    height: calc(100% - 1.25rem); }\n  @media print, screen and (min-width: 40em) {\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .auto {\n      height: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .shrink {\n      height: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-1 {\n      height: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-2 {\n      height: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-3 {\n      height: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-4 {\n      height: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-5 {\n      height: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-6 {\n      height: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-7 {\n      height: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-8 {\n      height: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-9 {\n      height: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-10 {\n      height: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-11 {\n      height: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .small-12 {\n      height: calc(100% - 1.875rem); }\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-auto {\n      height: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-shrink {\n      height: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-1 {\n      height: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-2 {\n      height: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-3 {\n      height: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-4 {\n      height: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-5 {\n      height: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-6 {\n      height: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-7 {\n      height: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-8 {\n      height: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-9 {\n      height: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-10 {\n      height: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-11 {\n      height: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .medium-12 {\n      height: calc(100% - 1.875rem); } }\n  @media print, screen and (min-width: 64em) {\n    /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-auto {\n      height: auto; }\n    /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-shrink {\n      height: auto; }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-1 {\n      height: calc(8.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-2 {\n      height: calc(16.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-3 {\n      height: calc(25% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-4 {\n      height: calc(33.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-5 {\n      height: calc(41.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-6 {\n      height: calc(50% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-7 {\n      height: calc(58.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-8 {\n      height: calc(66.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-9 {\n      height: calc(75% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-10 {\n      height: calc(83.33333% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-11 {\n      height: calc(91.66667% - 1.875rem); }\n    /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-margin-y > .large-12 {\n      height: calc(100% - 1.875rem); } }\n\n/* line 435, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n.grid-frame.grid-margin-y {\n  height: calc(100vh + 1.25rem); }\n  @media print, screen and (min-width: 40em) {\n    /* line 435, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-frame.grid-margin-y {\n      height: calc(100vh + 1.875rem); } }\n  @media print, screen and (min-width: 64em) {\n    /* line 435, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n    .grid-frame.grid-margin-y {\n      height: calc(100vh + 1.875rem); } }\n\n@media print, screen and (min-width: 40em) {\n  /* line 439, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y.medium-grid-frame {\n    height: calc(100vh + 1.875rem); } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 439, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n  .grid-margin-y.large-grid-frame {\n    height: calc(100vh + 1.875rem); } }\n\n/* line 266, node_modules/foundation-sites/scss/components/_button.scss */\n.button {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #1779ba;\n  color: #fefefe; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .button {\n    outline: 0; }\n  /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n  .button:hover, .button:focus {\n    background-color: #14679e;\n    color: #fefefe; }\n  /* line 271, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.tiny {\n    font-size: 0.6rem; }\n  /* line 271, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.small {\n    font-size: 0.75rem; }\n  /* line 271, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.large {\n    font-size: 1.25rem; }\n  /* line 276, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.expanded {\n    display: block;\n    width: 100%;\n    margin-right: 0;\n    margin-left: 0; }\n  /* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.primary {\n    background-color: #1779ba;\n    color: #fefefe; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.primary:hover, .button.primary:focus {\n      background-color: #126195;\n      color: #fefefe; }\n  /* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.secondary {\n    background-color: #767676;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.secondary:hover, .button.secondary:focus {\n      background-color: #5e5e5e;\n      color: #000; }\n  /* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.success {\n    background-color: #18a733;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.success:hover, .button.success:focus {\n      background-color: #138629;\n      color: #000; }\n  /* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.warning {\n    background-color: #ffae00;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.warning:hover, .button.warning:focus {\n      background-color: #cc8b00;\n      color: #000; }\n  /* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.alert {\n    background-color: #cc4b37;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.alert:hover, .button.alert:focus {\n      background-color: #a53b2a;\n      color: #000; }\n  /* line 320, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.disabled, .button[disabled] {\n    opacity: 0.25;\n    cursor: not-allowed; }\n    /* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.disabled, .button.disabled:hover, .button.disabled:focus, .button[disabled], .button[disabled]:hover, .button[disabled]:focus {\n      background-color: #1779ba;\n      color: #fefefe; }\n    /* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.disabled.primary, .button[disabled].primary {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      /* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.disabled.primary, .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary, .button[disabled].primary:hover, .button[disabled].primary:focus {\n        background-color: #1779ba;\n        color: #fefefe; }\n    /* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.disabled.secondary, .button[disabled].secondary {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      /* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.disabled.secondary, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary, .button[disabled].secondary:hover, .button[disabled].secondary:focus {\n        background-color: #767676;\n        color: #000; }\n    /* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.disabled.success, .button[disabled].success {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      /* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.disabled.success, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success, .button[disabled].success:hover, .button[disabled].success:focus {\n        background-color: #18a733;\n        color: #000; }\n    /* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.disabled.warning, .button[disabled].warning {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      /* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.disabled.warning, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning, .button[disabled].warning:hover, .button[disabled].warning:focus {\n        background-color: #ffae00;\n        color: #000; }\n    /* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.disabled.alert, .button[disabled].alert {\n      opacity: 0.25;\n      cursor: not-allowed; }\n      /* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.disabled.alert, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert, .button[disabled].alert:hover, .button[disabled].alert:focus {\n        background-color: #cc4b37;\n        color: #000; }\n  /* line 333, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.hollow {\n    border: 1px solid #1779ba;\n    color: #1779ba; }\n    /* line 161, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow, .button.hollow:hover, .button.hollow:focus {\n      background-color: transparent; }\n    /* line 169, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow.disabled, .button.hollow.disabled:hover, .button.hollow.disabled:focus, .button.hollow[disabled], .button.hollow[disabled]:hover, .button.hollow[disabled]:focus {\n      background-color: transparent; }\n    /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow:hover, .button.hollow:focus {\n      border-color: #0c3d5d;\n      color: #0c3d5d; }\n      /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.hollow:hover.disabled, .button.hollow:hover[disabled], .button.hollow:focus.disabled, .button.hollow:focus[disabled] {\n        border: 1px solid #1779ba;\n        color: #1779ba; }\n    /* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow.primary {\n      border: 1px solid #1779ba;\n      color: #1779ba; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.hollow.primary:hover, .button.hollow.primary:focus {\n        border-color: #0c3d5d;\n        color: #0c3d5d; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.hollow.primary:hover.disabled, .button.hollow.primary:hover[disabled], .button.hollow.primary:focus.disabled, .button.hollow.primary:focus[disabled] {\n          border: 1px solid #1779ba;\n          color: #1779ba; }\n    /* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow.secondary {\n      border: 1px solid #767676;\n      color: #767676; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.hollow.secondary:hover, .button.hollow.secondary:focus {\n        border-color: #3b3b3b;\n        color: #3b3b3b; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.hollow.secondary:hover.disabled, .button.hollow.secondary:hover[disabled], .button.hollow.secondary:focus.disabled, .button.hollow.secondary:focus[disabled] {\n          border: 1px solid #767676;\n          color: #767676; }\n    /* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow.success {\n      border: 1px solid #18a733;\n      color: #18a733; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.hollow.success:hover, .button.hollow.success:focus {\n        border-color: #0c541a;\n        color: #0c541a; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.hollow.success:hover.disabled, .button.hollow.success:hover[disabled], .button.hollow.success:focus.disabled, .button.hollow.success:focus[disabled] {\n          border: 1px solid #18a733;\n          color: #18a733; }\n    /* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow.warning {\n      border: 1px solid #ffae00;\n      color: #ffae00; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.hollow.warning:hover, .button.hollow.warning:focus {\n        border-color: #805700;\n        color: #805700; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.hollow.warning:hover.disabled, .button.hollow.warning:hover[disabled], .button.hollow.warning:focus.disabled, .button.hollow.warning:focus[disabled] {\n          border: 1px solid #ffae00;\n          color: #ffae00; }\n    /* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.hollow.alert {\n      border: 1px solid #cc4b37;\n      color: #cc4b37; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.hollow.alert:hover, .button.hollow.alert:focus {\n        border-color: #67251a;\n        color: #67251a; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.hollow.alert:hover.disabled, .button.hollow.alert:hover[disabled], .button.hollow.alert:focus.disabled, .button.hollow.alert:focus[disabled] {\n          border: 1px solid #cc4b37;\n          color: #cc4b37; }\n  /* line 347, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.clear {\n    border: 1px solid #1779ba;\n    color: #1779ba; }\n    /* line 161, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear, .button.clear:hover, .button.clear:focus {\n      background-color: transparent; }\n    /* line 169, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear.disabled, .button.clear.disabled:hover, .button.clear.disabled:focus, .button.clear[disabled], .button.clear[disabled]:hover, .button.clear[disabled]:focus {\n      background-color: transparent; }\n    /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear:hover, .button.clear:focus {\n      border-color: #0c3d5d;\n      color: #0c3d5d; }\n      /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus.disabled, .button.clear:focus[disabled] {\n        border: 1px solid #1779ba;\n        color: #1779ba; }\n    /* line 352, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear, .button.clear.disabled, .button.clear[disabled], .button.clear:hover, .button.clear:hover.disabled, .button.clear:hover[disabled], .button.clear:focus, .button.clear:focus.disabled, .button.clear:focus[disabled] {\n      border-color: transparent; }\n    /* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear.primary {\n      border: 1px solid #1779ba;\n      color: #1779ba; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.primary:hover, .button.clear.primary:focus {\n        border-color: #0c3d5d;\n        color: #0c3d5d; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {\n          border: 1px solid #1779ba;\n          color: #1779ba; }\n      /* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.primary, .button.clear.primary.disabled, .button.clear.primary[disabled], .button.clear.primary:hover, .button.clear.primary:hover.disabled, .button.clear.primary:hover[disabled], .button.clear.primary:focus, .button.clear.primary:focus.disabled, .button.clear.primary:focus[disabled] {\n        border-color: transparent; }\n    /* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear.secondary {\n      border: 1px solid #767676;\n      color: #767676; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.secondary:hover, .button.clear.secondary:focus {\n        border-color: #3b3b3b;\n        color: #3b3b3b; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {\n          border: 1px solid #767676;\n          color: #767676; }\n      /* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.secondary, .button.clear.secondary.disabled, .button.clear.secondary[disabled], .button.clear.secondary:hover, .button.clear.secondary:hover.disabled, .button.clear.secondary:hover[disabled], .button.clear.secondary:focus, .button.clear.secondary:focus.disabled, .button.clear.secondary:focus[disabled] {\n        border-color: transparent; }\n    /* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear.success {\n      border: 1px solid #18a733;\n      color: #18a733; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.success:hover, .button.clear.success:focus {\n        border-color: #0c541a;\n        color: #0c541a; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {\n          border: 1px solid #18a733;\n          color: #18a733; }\n      /* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.success, .button.clear.success.disabled, .button.clear.success[disabled], .button.clear.success:hover, .button.clear.success:hover.disabled, .button.clear.success:hover[disabled], .button.clear.success:focus, .button.clear.success:focus.disabled, .button.clear.success:focus[disabled] {\n        border-color: transparent; }\n    /* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear.warning {\n      border: 1px solid #ffae00;\n      color: #ffae00; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.warning:hover, .button.clear.warning:focus {\n        border-color: #805700;\n        color: #805700; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {\n          border: 1px solid #ffae00;\n          color: #ffae00; }\n      /* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.warning, .button.clear.warning.disabled, .button.clear.warning[disabled], .button.clear.warning:hover, .button.clear.warning:hover.disabled, .button.clear.warning:hover[disabled], .button.clear.warning:focus, .button.clear.warning:focus.disabled, .button.clear.warning:focus[disabled] {\n        border-color: transparent; }\n    /* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n    .button.clear.alert {\n      border: 1px solid #cc4b37;\n      color: #cc4b37; }\n      /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.alert:hover, .button.clear.alert:focus {\n        border-color: #67251a;\n        color: #67251a; }\n        /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n        .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {\n          border: 1px solid #cc4b37;\n          color: #cc4b37; }\n      /* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n      .button.clear.alert, .button.clear.alert.disabled, .button.clear.alert[disabled], .button.clear.alert:hover, .button.clear.alert:hover.disabled, .button.clear.alert:hover[disabled], .button.clear.alert:focus, .button.clear.alert:focus.disabled, .button.clear.alert:focus[disabled] {\n        border-color: transparent; }\n  /* line 226, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.dropdown::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.4em;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #fefefe transparent transparent;\n    position: relative;\n    top: 0.4em;\n    display: inline-block;\n    float: right;\n    margin-left: 1em; }\n  /* line 385, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.dropdown.hollow::after, .button.dropdown.clear::after {\n    border-top-color: #1779ba; }\n  /* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.dropdown.hollow.primary::after, .button.dropdown.clear.primary::after {\n    border-top-color: #1779ba; }\n  /* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.dropdown.hollow.secondary::after, .button.dropdown.clear.secondary::after {\n    border-top-color: #767676; }\n  /* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.dropdown.hollow.success::after, .button.dropdown.clear.success::after {\n    border-top-color: #18a733; }\n  /* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.dropdown.hollow.warning::after, .button.dropdown.clear.warning::after {\n    border-top-color: #ffae00; }\n  /* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.dropdown.hollow.alert::after, .button.dropdown.clear.alert::after {\n    border-top-color: #cc4b37; }\n  /* line 400, node_modules/foundation-sites/scss/components/_button.scss */\n  .button.arrow-only::after {\n    top: -0.1em;\n    float: none;\n    margin-left: 0; }\n\n/* line 408, node_modules/foundation-sites/scss/components/_button.scss */\na.button:hover, a.button:focus {\n  text-decoration: none; }\n\n/* line 198, node_modules/foundation-sites/scss/components/_button-group.scss */\n.button-group {\n  margin-bottom: 1rem;\n  display: flex;\n  flex-wrap: nowrap;\n  align-items: stretch; }\n  /* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .button-group::before, .button-group::after {\n    display: table;\n    content: ' ';\n    flex-basis: 0;\n    order: 1; }\n  /* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .button-group::after {\n    clear: both; }\n  /* line 48, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group .button {\n    margin: 0;\n    margin-right: 1px;\n    margin-bottom: 1px;\n    font-size: 0.9rem;\n    flex: 0 0 auto; }\n    /* line 58, node_modules/foundation-sites/scss/components/_button-group.scss */\n    .button-group .button:last-child {\n      margin-right: 0; }\n  /* line 203, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.tiny .button {\n    font-size: 0.6rem; }\n  /* line 203, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.small .button {\n    font-size: 0.75rem; }\n  /* line 203, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.large .button {\n    font-size: 1.25rem; }\n  /* line 96, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.expanded .button {\n    flex: 1 1 0px; }\n  /* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.primary .button {\n    background-color: #1779ba;\n    color: #fefefe; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-group.primary .button:hover, .button-group.primary .button:focus {\n      background-color: #126195;\n      color: #fefefe; }\n  /* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.secondary .button {\n    background-color: #767676;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-group.secondary .button:hover, .button-group.secondary .button:focus {\n      background-color: #5e5e5e;\n      color: #000; }\n  /* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.success .button {\n    background-color: #18a733;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-group.success .button:hover, .button-group.success .button:focus {\n      background-color: #138629;\n      color: #000; }\n  /* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.warning .button {\n    background-color: #ffae00;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-group.warning .button:hover, .button-group.warning .button:focus {\n      background-color: #cc8b00;\n      color: #000; }\n  /* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.alert .button {\n    background-color: #cc4b37;\n    color: #000; }\n    /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-group.alert .button:hover, .button-group.alert .button:focus {\n      background-color: #a53b2a;\n      color: #000; }\n  /* line 228, node_modules/foundation-sites/scss/components/_button-group.scss */\n  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {\n    flex-wrap: wrap; }\n    /* line 135, node_modules/foundation-sites/scss/components/_button-group.scss */\n    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {\n      flex: 0 0 100%; }\n      /* line 143, node_modules/foundation-sites/scss/components/_button-group.scss */\n      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {\n        margin-bottom: 0; }\n    /* line 96, node_modules/foundation-sites/scss/components/_button-group.scss */\n    .button-group.stacked.expanded .button, .button-group.stacked-for-small.expanded .button, .button-group.stacked-for-medium.expanded .button {\n      flex: 1 1 0px; }\n  @media print, screen and (min-width: 40em) {\n    /* line 171, node_modules/foundation-sites/scss/components/_button-group.scss */\n    .button-group.stacked-for-small .button {\n      flex: 0 0 auto;\n      margin-bottom: 0; } }\n  @media print, screen and (min-width: 64em) {\n    /* line 171, node_modules/foundation-sites/scss/components/_button-group.scss */\n    .button-group.stacked-for-medium .button {\n      flex: 0 0 auto;\n      margin-bottom: 0; } }\n  @media screen and (max-width: 39.99875em) {\n    /* line 250, node_modules/foundation-sites/scss/components/_button-group.scss */\n    .button-group.stacked-for-small.expanded {\n      display: block; }\n      /* line 254, node_modules/foundation-sites/scss/components/_button-group.scss */\n      .button-group.stacked-for-small.expanded .button {\n        display: block;\n        margin-right: 0; } }\n  @media screen and (max-width: 63.99875em) {\n    /* line 261, node_modules/foundation-sites/scss/components/_button-group.scss */\n    .button-group.stacked-for-medium.expanded {\n      display: block; }\n      /* line 265, node_modules/foundation-sites/scss/components/_button-group.scss */\n      .button-group.stacked-for-medium.expanded .button {\n        display: block;\n        margin-right: 0; } }\n\n/* line 96, node_modules/foundation-sites/scss/components/_close-button.scss */\n.close-button {\n  position: absolute;\n  color: #333333;\n  cursor: pointer; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .close-button {\n    outline: 0; }\n  /* line 89, node_modules/foundation-sites/scss/components/_close-button.scss */\n  .close-button:hover, .close-button:focus {\n    color: #000; }\n  /* line 99, node_modules/foundation-sites/scss/components/_close-button.scss */\n  .close-button.small {\n    right: 0.66rem;\n    top: 0.33em;\n    font-size: 1.5em;\n    line-height: 1; }\n  /* line 100, node_modules/foundation-sites/scss/components/_close-button.scss */\n  .close-button, .close-button.medium {\n    right: 1rem;\n    top: 0.5rem;\n    font-size: 2em;\n    line-height: 1; }\n\n/* line 51, node_modules/foundation-sites/scss/components/_label.scss */\n.label {\n  display: inline-block;\n  padding: 0.33333rem 0.5rem;\n  border-radius: 0;\n  font-size: 0.8rem;\n  line-height: 1;\n  white-space: nowrap;\n  cursor: default;\n  background: #1779ba;\n  color: #fefefe; }\n  /* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n  .label.primary {\n    background: #1779ba;\n    color: #fefefe; }\n  /* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n  .label.secondary {\n    background: #767676;\n    color: #000; }\n  /* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n  .label.success {\n    background: #18a733;\n    color: #000; }\n  /* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n  .label.warning {\n    background: #ffae00;\n    color: #000; }\n  /* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n  .label.alert {\n    background: #cc4b37;\n    color: #000; }\n\n/* line 42, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n.progress {\n  height: 1rem;\n  margin-bottom: 1rem;\n  border-radius: 0;\n  background-color: #777777; }\n  /* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n  .progress.primary .progress-meter {\n    background-color: #1779ba; }\n  /* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n  .progress.secondary .progress-meter {\n    background-color: #767676; }\n  /* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n  .progress.success .progress-meter {\n    background-color: #18a733; }\n  /* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n  .progress.warning .progress-meter {\n    background-color: #ffae00; }\n  /* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n  .progress.alert .progress-meter {\n    background-color: #cc4b37; }\n\n/* line 55, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n.progress-meter {\n  position: relative;\n  display: block;\n  width: 0%;\n  height: 100%;\n  background-color: #1779ba; }\n\n/* line 60, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n.progress-meter-text {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  margin: 0;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: #fefefe;\n  white-space: nowrap; }\n\n/* line 106, node_modules/foundation-sites/scss/components/_slider.scss */\n.slider {\n  position: relative;\n  height: 0.5rem;\n  margin-top: 1.25rem;\n  margin-bottom: 2.25rem;\n  background-color: #eeeeee;\n  cursor: pointer;\n  user-select: none;\n  touch-action: none; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_slider.scss */\n.slider-fill {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: inline-block;\n  max-width: 100%;\n  height: 0.5rem;\n  background-color: #777777;\n  transition: all 0.2s ease-in-out; }\n  /* line 46, node_modules/foundation-sites/scss/components/_slider.scss */\n  .slider-fill.is-dragging {\n    transition: all 0s linear; }\n\n/* line 116, node_modules/foundation-sites/scss/components/_slider.scss */\n.slider-handle {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  left: 0;\n  z-index: 1;\n  display: inline-block;\n  width: 1.4rem;\n  height: 1.4rem;\n  border-radius: 0;\n  background-color: #1779ba;\n  transition: all 0.2s ease-in-out;\n  touch-action: manipulation; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .slider-handle {\n    outline: 0; }\n  /* line 67, node_modules/foundation-sites/scss/components/_slider.scss */\n  .slider-handle:hover {\n    background-color: #14679e; }\n  /* line 71, node_modules/foundation-sites/scss/components/_slider.scss */\n  .slider-handle.is-dragging {\n    transition: all 0s linear; }\n\n/* line 121, node_modules/foundation-sites/scss/components/_slider.scss */\n.slider.disabled,\n.slider[disabled] {\n  opacity: 0.25;\n  cursor: not-allowed; }\n\n/* line 127, node_modules/foundation-sites/scss/components/_slider.scss */\n.slider.vertical {\n  display: inline-block;\n  width: 0.5rem;\n  height: 12.5rem;\n  margin: 0 1.25rem;\n  transform: scale(1, -1); }\n  /* line 88, node_modules/foundation-sites/scss/components/_slider.scss */\n  .slider.vertical .slider-fill {\n    top: 0;\n    width: 0.5rem;\n    max-height: 100%; }\n  /* line 94, node_modules/foundation-sites/scss/components/_slider.scss */\n  .slider.vertical .slider-handle {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    width: 1.4rem;\n    height: 1.4rem;\n    transform: translateX(-50%); }\n\n/* line 203, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch {\n  height: 2rem;\n  position: relative;\n  margin-bottom: 1rem;\n  outline: 0;\n  font-size: 0.875rem;\n  font-weight: bold;\n  color: #fefefe;\n  user-select: none; }\n\n/* line 209, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch-input {\n  position: absolute;\n  margin-bottom: 0;\n  opacity: 0; }\n\n/* line 214, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch-paddle {\n  position: relative;\n  display: block;\n  width: 4rem;\n  height: 2rem;\n  border-radius: 0;\n  background: #777777;\n  transition: all 0.25s ease-out;\n  font-weight: inherit;\n  color: inherit;\n  cursor: pointer; }\n  /* line 105, node_modules/foundation-sites/scss/components/_switch.scss */\n  input + .switch-paddle {\n    margin: 0; }\n  /* line 110, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch-paddle::after {\n    position: absolute;\n    top: 0.25rem;\n    left: 0.25rem;\n    display: block;\n    width: 1.5rem;\n    height: 1.5rem;\n    transform: translate3d(0, 0, 0);\n    border-radius: 0;\n    background: #fefefe;\n    transition: all 0.25s ease-out;\n    content: ''; }\n  /* line 127, node_modules/foundation-sites/scss/components/_switch.scss */\n  input:checked ~ .switch-paddle {\n    background: #1779ba; }\n    /* line 130, node_modules/foundation-sites/scss/components/_switch.scss */\n    input:checked ~ .switch-paddle::after {\n      left: 2.25rem; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] input:focus ~ .switch-paddle {\n    outline: 0; }\n\n/* line 219, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch-active, .switch-inactive {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%); }\n\n/* line 224, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch-active {\n  left: 8%;\n  display: none; }\n  /* line 152, node_modules/foundation-sites/scss/components/_switch.scss */\n  input:checked + label > .switch-active {\n    display: block; }\n\n/* line 230, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch-inactive {\n  right: 15%; }\n  /* line 161, node_modules/foundation-sites/scss/components/_switch.scss */\n  input:checked + label > .switch-inactive {\n    display: none; }\n\n/* line 236, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch.tiny {\n  height: 1.5rem; }\n  /* line 183, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.tiny .switch-paddle {\n    width: 3rem;\n    height: 1.5rem;\n    font-size: 0.625rem; }\n  /* line 189, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.tiny .switch-paddle::after {\n    top: 0.25rem;\n    left: 0.25rem;\n    width: 1rem;\n    height: 1rem; }\n  /* line 196, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.tiny input:checked ~ .switch-paddle::after {\n    left: 1.75rem; }\n\n/* line 240, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch.small {\n  height: 1.75rem; }\n  /* line 183, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.small .switch-paddle {\n    width: 3.5rem;\n    height: 1.75rem;\n    font-size: 0.75rem; }\n  /* line 189, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.small .switch-paddle::after {\n    top: 0.25rem;\n    left: 0.25rem;\n    width: 1.25rem;\n    height: 1.25rem; }\n  /* line 196, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.small input:checked ~ .switch-paddle::after {\n    left: 2rem; }\n\n/* line 244, node_modules/foundation-sites/scss/components/_switch.scss */\n.switch.large {\n  height: 2.5rem; }\n  /* line 183, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.large .switch-paddle {\n    width: 5rem;\n    height: 2.5rem;\n    font-size: 1rem; }\n  /* line 189, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.large .switch-paddle::after {\n    top: 0.25rem;\n    left: 0.25rem;\n    width: 2rem;\n    height: 2rem; }\n  /* line 196, node_modules/foundation-sites/scss/components/_switch.scss */\n  .switch.large input:checked ~ .switch-paddle::after {\n    left: 2.75rem; }\n\n/* line 305, node_modules/foundation-sites/scss/components/_table.scss */\ntable {\n  border-collapse: collapse;\n  width: 100%;\n  margin-bottom: 1rem;\n  border-radius: 0; }\n  /* line 111, node_modules/foundation-sites/scss/components/_table.scss */\n  thead,\n  tbody,\n  tfoot {\n    border: 1px solid #f1f1f1;\n    background-color: #fefefe; }\n  /* line 119, node_modules/foundation-sites/scss/components/_table.scss */\n  caption {\n    padding: 0.5rem 0.625rem 0.625rem;\n    font-weight: bold; }\n  /* line 125, node_modules/foundation-sites/scss/components/_table.scss */\n  thead {\n    background: #f8f8f8;\n    color: #000; }\n  /* line 131, node_modules/foundation-sites/scss/components/_table.scss */\n  tfoot {\n    background: #f1f1f1;\n    color: #000; }\n  /* line 140, node_modules/foundation-sites/scss/components/_table.scss */\n  thead tr,\n  tfoot tr {\n    background: transparent; }\n  /* line 145, node_modules/foundation-sites/scss/components/_table.scss */\n  thead th,\n  thead td,\n  tfoot th,\n  tfoot td {\n    padding: 0.5rem 0.625rem 0.625rem;\n    font-weight: bold;\n    text-align: left; }\n  /* line 155, node_modules/foundation-sites/scss/components/_table.scss */\n  tbody th,\n  tbody td {\n    padding: 0.5rem 0.625rem 0.625rem; }\n  /* line 87, node_modules/foundation-sites/scss/components/_table.scss */\n  tbody tr:nth-child(even) {\n    border-bottom: 0;\n    background-color: #f1f1f1; }\n  /* line 168, node_modules/foundation-sites/scss/components/_table.scss */\n  table.unstriped tbody {\n    background-color: #fefefe; }\n    /* line 103, node_modules/foundation-sites/scss/components/_table.scss */\n    table.unstriped tbody tr {\n      border-bottom: 0;\n      border-bottom: 1px solid #f1f1f1;\n      background-color: #fefefe; }\n\n@media screen and (max-width: 63.99875em) {\n  /* line 284, node_modules/foundation-sites/scss/components/_table.scss */\n  table.stack thead {\n    display: none; }\n  /* line 289, node_modules/foundation-sites/scss/components/_table.scss */\n  table.stack tfoot {\n    display: none; }\n  /* line 293, node_modules/foundation-sites/scss/components/_table.scss */\n  table.stack tr,\n  table.stack th,\n  table.stack td {\n    display: block; }\n  /* line 299, node_modules/foundation-sites/scss/components/_table.scss */\n  table.stack td {\n    border-top: 0; } }\n\n/* line 315, node_modules/foundation-sites/scss/components/_table.scss */\ntable.scroll {\n  display: block;\n  width: 100%;\n  overflow-x: auto; }\n\n/* line 221, node_modules/foundation-sites/scss/components/_table.scss */\ntable.hover thead tr:hover {\n  background-color: #f3f3f3; }\n\n/* line 228, node_modules/foundation-sites/scss/components/_table.scss */\ntable.hover tfoot tr:hover {\n  background-color: #ececec; }\n\n/* line 235, node_modules/foundation-sites/scss/components/_table.scss */\ntable.hover tbody tr:hover {\n  background-color: #f9f9f9; }\n\n/* line 243, node_modules/foundation-sites/scss/components/_table.scss */\ntable.hover:not(.unstriped) tr:nth-of-type(even):hover {\n  background-color: #ececec; }\n\n/* line 323, node_modules/foundation-sites/scss/components/_table.scss */\n.table-scroll {\n  overflow-x: auto; }\n\n/* line 50, node_modules/foundation-sites/scss/components/_badge.scss */\n.badge {\n  display: inline-block;\n  min-width: 2.1em;\n  padding: 0.3em;\n  border-radius: 50%;\n  font-size: 0.6rem;\n  text-align: center;\n  background: #1779ba;\n  color: #fefefe; }\n  /* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n  .badge.primary {\n    background: #1779ba;\n    color: #fefefe; }\n  /* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n  .badge.secondary {\n    background: #767676;\n    color: #000; }\n  /* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n  .badge.success {\n    background: #18a733;\n    color: #000; }\n  /* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n  .badge.warning {\n    background: #ffae00;\n    color: #000; }\n  /* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n  .badge.alert {\n    background: #cc4b37;\n    color: #000; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n.breadcrumbs {\n  margin: 0 0 1rem 0;\n  list-style: none; }\n  /* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .breadcrumbs::before, .breadcrumbs::after {\n    display: table;\n    content: ' ';\n    flex-basis: 0;\n    order: 1; }\n  /* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .breadcrumbs::after {\n    clear: both; }\n  /* line 70, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n  .breadcrumbs li {\n    float: left;\n    font-size: 0.6875rem;\n    color: #000;\n    cursor: default;\n    text-transform: uppercase; }\n    /* line 86, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n    .breadcrumbs li:not(:last-child)::after {\n      position: relative;\n      margin: 0 0.75rem;\n      opacity: 1;\n      content: \"/\";\n      color: #777777; }\n  /* line 101, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n  .breadcrumbs a {\n    color: #1779ba; }\n    /* line 104, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n    .breadcrumbs a:hover {\n      text-decoration: underline; }\n  /* line 114, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n  .breadcrumbs .disabled {\n    color: #777777;\n    cursor: not-allowed; }\n\n/* line 89, node_modules/foundation-sites/scss/components/_callout.scss */\n.callout {\n  position: relative;\n  margin: 0 0 1rem 0;\n  padding: 1rem;\n  border: 1px solid rgba(0, 0, 0, 0.25);\n  border-radius: 0;\n  background-color: white;\n  color: #000; }\n  /* line 55, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout > :first-child {\n    margin-top: 0; }\n  /* line 59, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout > :last-child {\n    margin-bottom: 0; }\n  /* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout.primary {\n    background-color: #d7ecfa;\n    color: #000; }\n  /* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout.secondary {\n    background-color: #eaeaea;\n    color: #000; }\n  /* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout.success {\n    background-color: #d5f9dc;\n    color: #000; }\n  /* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout.warning {\n    background-color: #fff3d9;\n    color: #000; }\n  /* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout.alert {\n    background-color: #f7e4e1;\n    color: #000; }\n  /* line 98, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout.small {\n    padding-top: 0.5rem;\n    padding-right: 0.5rem;\n    padding-bottom: 0.5rem;\n    padding-left: 0.5rem; }\n  /* line 102, node_modules/foundation-sites/scss/components/_callout.scss */\n  .callout.large {\n    padding-top: 3rem;\n    padding-right: 3rem;\n    padding-bottom: 3rem;\n    padding-left: 3rem; }\n\n/* line 112, node_modules/foundation-sites/scss/components/_card.scss */\n.card {\n  display: flex;\n  flex-direction: column;\n  flex-grow: 1;\n  margin-bottom: 1rem;\n  border: 1px solid #eeeeee;\n  border-radius: 0;\n  background: #fefefe;\n  box-shadow: none;\n  overflow: hidden;\n  color: #000; }\n  /* line 73, node_modules/foundation-sites/scss/components/_card.scss */\n  .card > :last-child {\n    margin-bottom: 0; }\n\n/* line 116, node_modules/foundation-sites/scss/components/_card.scss */\n.card-divider {\n  display: flex;\n  flex: 0 1 auto;\n  padding: 1rem;\n  background: #eeeeee; }\n  /* line 91, node_modules/foundation-sites/scss/components/_card.scss */\n  .card-divider > :last-child {\n    margin-bottom: 0; }\n\n/* line 120, node_modules/foundation-sites/scss/components/_card.scss */\n.card-section {\n  flex: 1 0 auto;\n  padding: 1rem; }\n  /* line 106, node_modules/foundation-sites/scss/components/_card.scss */\n  .card-section > :last-child {\n    margin-bottom: 0; }\n\n/* line 126, node_modules/foundation-sites/scss/components/_card.scss */\n.card-image {\n  min-height: 1px; }\n\n/* line 71, node_modules/foundation-sites/scss/components/_dropdown.scss */\n.dropdown-pane {\n  position: absolute;\n  z-index: 10;\n  display: none;\n  width: 300px;\n  padding: 1rem;\n  visibility: hidden;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  font-size: 1rem; }\n  /* line 60, node_modules/foundation-sites/scss/components/_dropdown.scss */\n  .dropdown-pane.is-opening {\n    display: block; }\n  /* line 64, node_modules/foundation-sites/scss/components/_dropdown.scss */\n  .dropdown-pane.is-open {\n    display: block;\n    visibility: visible; }\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown.scss */\n.dropdown-pane.tiny {\n  width: 100px; }\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown.scss */\n.dropdown-pane.small {\n  width: 200px; }\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown.scss */\n.dropdown-pane.large {\n  width: 400px; }\n\n/* line 162, node_modules/foundation-sites/scss/components/_pagination.scss */\n.pagination {\n  margin-left: 0;\n  margin-bottom: 1rem; }\n  /* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .pagination::before, .pagination::after {\n    display: table;\n    content: ' ';\n    flex-basis: 0;\n    order: 1; }\n  /* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .pagination::after {\n    clear: both; }\n  /* line 83, node_modules/foundation-sites/scss/components/_pagination.scss */\n  .pagination li {\n    margin-right: 0.0625rem;\n    border-radius: 0;\n    font-size: 0.875rem;\n    display: none; }\n    /* line 94, node_modules/foundation-sites/scss/components/_pagination.scss */\n    .pagination li:last-child, .pagination li:first-child {\n      display: inline-block; }\n    @media print, screen and (min-width: 40em) {\n      /* line 83, node_modules/foundation-sites/scss/components/_pagination.scss */\n      .pagination li {\n        display: inline-block; } }\n  /* line 112, node_modules/foundation-sites/scss/components/_pagination.scss */\n  .pagination a,\n  .pagination button {\n    display: block;\n    padding: 0.1875rem 0.625rem;\n    border-radius: 0;\n    color: #000; }\n    /* line 119, node_modules/foundation-sites/scss/components/_pagination.scss */\n    .pagination a:hover,\n    .pagination button:hover {\n      background: #eeeeee; }\n  /* line 165, node_modules/foundation-sites/scss/components/_pagination.scss */\n  .pagination .current {\n    padding: 0.1875rem 0.625rem;\n    background: #1779ba;\n    color: #fefefe;\n    cursor: default; }\n  /* line 169, node_modules/foundation-sites/scss/components/_pagination.scss */\n  .pagination .disabled {\n    padding: 0.1875rem 0.625rem;\n    color: #777777;\n    cursor: not-allowed; }\n    /* line 146, node_modules/foundation-sites/scss/components/_pagination.scss */\n    .pagination .disabled:hover {\n      background: transparent; }\n  /* line 173, node_modules/foundation-sites/scss/components/_pagination.scss */\n  .pagination .ellipsis::after {\n    padding: 0.1875rem 0.625rem;\n    content: '\\2026';\n    color: #000; }\n\n/* line 179, node_modules/foundation-sites/scss/components/_pagination.scss */\n.pagination-previous a::before,\n.pagination-previous.disabled::before {\n  display: inline-block;\n  margin-right: 0.5rem;\n  content: '\\00ab'; }\n\n/* line 186, node_modules/foundation-sites/scss/components/_pagination.scss */\n.pagination-next a::after,\n.pagination-next.disabled::after {\n  display: inline-block;\n  margin-left: 0.5rem;\n  content: '\\00bb'; }\n\n/* line 153, node_modules/foundation-sites/scss/components/_tooltip.scss */\n.has-tip {\n  position: relative;\n  display: inline-block;\n  border-bottom: dotted 1px #333333;\n  font-weight: bold;\n  cursor: help; }\n\n/* line 157, node_modules/foundation-sites/scss/components/_tooltip.scss */\n.tooltip {\n  position: absolute;\n  top: calc(100% + 0.6495rem);\n  z-index: 1200;\n  max-width: 10rem;\n  padding: 0.75rem;\n  border-radius: 0;\n  background-color: #000;\n  font-size: 80%;\n  color: #fefefe; }\n  /* line 75, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip::before {\n    position: absolute; }\n  /* line 80, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.bottom::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-top-width: 0;\n    border-bottom-style: solid;\n    border-color: transparent transparent #000;\n    bottom: 100%; }\n  /* line 85, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.bottom.align-center::before {\n    left: 50%;\n    transform: translateX(-50%); }\n  /* line 92, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.top::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #000 transparent transparent;\n    top: 100%;\n    bottom: auto; }\n  /* line 98, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.top.align-center::before {\n    left: 50%;\n    transform: translateX(-50%); }\n  /* line 105, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.left::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #000;\n    left: 100%; }\n  /* line 110, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.left.align-center::before {\n    bottom: auto;\n    top: 50%;\n    transform: translateY(-50%); }\n  /* line 118, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.right::before {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 0.75rem;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #000 transparent transparent;\n    right: 100%;\n    left: auto; }\n  /* line 124, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.right.align-center::before {\n    bottom: auto;\n    top: 50%;\n    transform: translateY(-50%); }\n  /* line 131, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.align-top::before {\n    bottom: auto;\n    top: 10%; }\n  /* line 136, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.align-bottom::before {\n    bottom: 10%;\n    top: auto; }\n  /* line 141, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.align-left::before {\n    left: 10%;\n    right: auto; }\n  /* line 146, node_modules/foundation-sites/scss/components/_tooltip.scss */\n  .tooltip.align-right::before {\n    left: auto;\n    right: 10%; }\n\n/* line 141, node_modules/foundation-sites/scss/components/_accordion.scss */\n.accordion {\n  margin-left: 0;\n  background: #fefefe;\n  list-style-type: none; }\n  /* line 58, node_modules/foundation-sites/scss/components/_accordion.scss */\n  .accordion[disabled] .accordion-title {\n    cursor: not-allowed; }\n\n/* line 66, node_modules/foundation-sites/scss/components/_accordion.scss */\n.accordion-item:first-child > :first-child {\n  border-radius: 0 0 0 0; }\n\n/* line 70, node_modules/foundation-sites/scss/components/_accordion.scss */\n.accordion-item:last-child > :last-child {\n  border-radius: 0 0 0 0; }\n\n/* line 149, node_modules/foundation-sites/scss/components/_accordion.scss */\n.accordion-title {\n  position: relative;\n  display: block;\n  padding: 1.25rem 1rem;\n  border: 1px solid #eeeeee;\n  border-bottom: 0;\n  font-size: 0.75rem;\n  line-height: 1;\n  color: #1779ba; }\n  /* line 94, node_modules/foundation-sites/scss/components/_accordion.scss */\n  :last-child:not(.is-active) > .accordion-title {\n    border-bottom: 1px solid #eeeeee;\n    border-radius: 0 0 0 0; }\n  /* line 99, node_modules/foundation-sites/scss/components/_accordion.scss */\n  .accordion-title:hover, .accordion-title:focus {\n    background-color: #eeeeee; }\n  /* line 105, node_modules/foundation-sites/scss/components/_accordion.scss */\n  .accordion-title::before {\n    position: absolute;\n    top: 50%;\n    right: 1rem;\n    margin-top: -0.5rem;\n    content: '+'; }\n  /* line 113, node_modules/foundation-sites/scss/components/_accordion.scss */\n  .is-active > .accordion-title::before {\n    content: '\\2013'; }\n\n/* line 153, node_modules/foundation-sites/scss/components/_accordion.scss */\n.accordion-content {\n  display: none;\n  padding: 1rem;\n  border: 1px solid #eeeeee;\n  border-bottom: 0;\n  background-color: #fefefe;\n  color: #000; }\n  /* line 135, node_modules/foundation-sites/scss/components/_accordion.scss */\n  :last-child > .accordion-content:last-child {\n    border-bottom: 1px solid #eeeeee; }\n\n/* line 107, node_modules/foundation-sites/scss/components/_media-object.scss */\n.media-object {\n  display: flex;\n  margin-bottom: 1rem;\n  flex-wrap: nowrap; }\n  /* line 30, node_modules/foundation-sites/scss/components/_media-object.scss */\n  .media-object img {\n    max-width: none; }\n  @media screen and (max-width: 39.99875em) {\n    /* line 35, node_modules/foundation-sites/scss/components/_media-object.scss */\n    .media-object.stack-for-small {\n      flex-wrap: wrap; } }\n\n/* line 111, node_modules/foundation-sites/scss/components/_media-object.scss */\n.media-object-section {\n  flex: 0 1 auto; }\n  /* line 54, node_modules/foundation-sites/scss/components/_media-object.scss */\n  .media-object-section:first-child {\n    padding-right: 1rem; }\n  /* line 58, node_modules/foundation-sites/scss/components/_media-object.scss */\n  .media-object-section:last-child:not(:nth-child(2)) {\n    padding-left: 1rem; }\n  /* line 62, node_modules/foundation-sites/scss/components/_media-object.scss */\n  .media-object-section > :last-child {\n    margin-bottom: 0; }\n  @media screen and (max-width: 39.99875em) {\n    /* line 66, node_modules/foundation-sites/scss/components/_media-object.scss */\n    .stack-for-small .media-object-section {\n      padding: 0;\n      padding-bottom: 1rem;\n      flex-basis: 100%;\n      max-width: 100%; }\n      /* line 101, node_modules/foundation-sites/scss/components/_media-object.scss */\n      .stack-for-small .media-object-section img {\n        width: 100%; } }\n  /* line 73, node_modules/foundation-sites/scss/components/_media-object.scss */\n  .media-object-section.main-section {\n    flex: 1 1 0px; }\n\n/* line 156, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit {\n  position: relative; }\n\n/* line 160, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-container {\n  position: relative;\n  height: 0;\n  margin: 0;\n  list-style: none;\n  overflow: hidden; }\n\n/* line 164, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-slide {\n  width: 100%;\n  position: absolute; }\n  /* line 73, node_modules/foundation-sites/scss/components/_orbit.scss */\n  .orbit-slide.no-motionui.is-active {\n    top: 0;\n    left: 0; }\n\n/* line 168, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-figure {\n  margin: 0; }\n\n/* line 172, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-image {\n  width: 100%;\n  max-width: 100%;\n  margin: 0; }\n\n/* line 176, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-caption {\n  position: absolute;\n  bottom: 0;\n  width: 100%;\n  margin-bottom: 0;\n  padding: 1rem;\n  background-color: rgba(0, 0, 0, 0.5);\n  color: #fefefe; }\n\n/* line 180, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-previous, .orbit-next {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  z-index: 10;\n  padding: 1rem;\n  color: #fefefe; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {\n    outline: 0; }\n  /* line 111, node_modules/foundation-sites/scss/components/_orbit.scss */\n  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {\n    background-color: rgba(0, 0, 0, 0.5); }\n\n/* line 184, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-previous {\n  left: 0; }\n\n/* line 189, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-next {\n  left: auto;\n  right: 0; }\n\n/* line 194, node_modules/foundation-sites/scss/components/_orbit.scss */\n.orbit-bullets {\n  position: relative;\n  margin-top: 0.8rem;\n  margin-bottom: 0.8rem;\n  text-align: center; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .orbit-bullets {\n    outline: 0; }\n  /* line 137, node_modules/foundation-sites/scss/components/_orbit.scss */\n  .orbit-bullets button {\n    width: 1.2rem;\n    height: 1.2rem;\n    margin: 0.1rem;\n    border-radius: 50%;\n    background-color: #777777; }\n    /* line 145, node_modules/foundation-sites/scss/components/_orbit.scss */\n    .orbit-bullets button:hover {\n      background-color: #333333; }\n    /* line 149, node_modules/foundation-sites/scss/components/_orbit.scss */\n    .orbit-bullets button.is-active {\n      background-color: #333333; }\n\n/* line 45, node_modules/foundation-sites/scss/components/_responsive-embed.scss */\n.responsive-embed,\n.flex-video {\n  position: relative;\n  height: 0;\n  margin-bottom: 1rem;\n  padding-bottom: 75%;\n  overflow: hidden; }\n  /* line 32, node_modules/foundation-sites/scss/components/_responsive-embed.scss */\n  .responsive-embed iframe,\n  .responsive-embed object,\n  .responsive-embed embed,\n  .responsive-embed video,\n  .flex-video iframe,\n  .flex-video object,\n  .flex-video embed,\n  .flex-video video {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%; }\n  /* line 52, node_modules/foundation-sites/scss/components/_responsive-embed.scss */\n  .responsive-embed.widescreen,\n  .flex-video.widescreen {\n    padding-bottom: 56.25%; }\n\n/* line 144, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs {\n  margin: 0;\n  border: 1px solid #eeeeee;\n  background: #fefefe;\n  list-style-type: none; }\n  /* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .tabs::before, .tabs::after {\n    display: table;\n    content: ' ';\n    flex-basis: 0;\n    order: 1; }\n  /* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .tabs::after {\n    clear: both; }\n\n/* line 71, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs.vertical > li {\n  display: block;\n  float: none;\n  width: auto; }\n\n/* line 155, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs.simple > li > a {\n  padding: 0; }\n  /* line 158, node_modules/foundation-sites/scss/components/_tabs.scss */\n  .tabs.simple > li > a:hover {\n    background: transparent; }\n\n/* line 165, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs.primary {\n  background: #1779ba; }\n  /* line 168, node_modules/foundation-sites/scss/components/_tabs.scss */\n  .tabs.primary > li > a {\n    color: #fefefe; }\n    /* line 171, node_modules/foundation-sites/scss/components/_tabs.scss */\n    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {\n      background: #1673b1; }\n\n/* line 178, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs-title {\n  float: left; }\n  /* line 89, node_modules/foundation-sites/scss/components/_tabs.scss */\n  .tabs-title > a {\n    display: block;\n    padding: 1.25rem 1.5rem;\n    font-size: 0.75rem;\n    line-height: 1;\n    color: #1779ba; }\n    /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n    [data-whatinput='mouse'] .tabs-title > a {\n      outline: 0; }\n    /* line 97, node_modules/foundation-sites/scss/components/_tabs.scss */\n    .tabs-title > a:hover {\n      background: #fefefe;\n      color: #1468a0; }\n    /* line 102, node_modules/foundation-sites/scss/components/_tabs.scss */\n    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {\n      background: #eeeeee;\n      color: #1779ba; }\n\n/* line 182, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs-content {\n  border: 1px solid #eeeeee;\n  border-top: 0;\n  background: #fefefe;\n  color: #000;\n  transition: all 0.5s ease; }\n\n/* line 186, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs-content.vertical {\n  border: 1px solid #eeeeee;\n  border-left: 0; }\n\n/* line 190, node_modules/foundation-sites/scss/components/_tabs.scss */\n.tabs-panel {\n  display: none;\n  padding: 1rem; }\n  /* line 138, node_modules/foundation-sites/scss/components/_tabs.scss */\n  .tabs-panel.is-active {\n    display: block; }\n\n/* line 60, node_modules/foundation-sites/scss/components/_thumbnail.scss */\n.thumbnail {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 1rem;\n  border: 4px solid #fefefe;\n  border-radius: 0;\n  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n  line-height: 0; }\n\n/* line 64, node_modules/foundation-sites/scss/components/_thumbnail.scss */\na.thumbnail {\n  transition: box-shadow 200ms ease-out; }\n  /* line 49, node_modules/foundation-sites/scss/components/_thumbnail.scss */\n  a.thumbnail:hover, a.thumbnail:focus {\n    box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5); }\n  /* line 54, node_modules/foundation-sites/scss/components/_thumbnail.scss */\n  a.thumbnail image {\n    box-shadow: none; }\n\n/* line 357, node_modules/foundation-sites/scss/components/_menu.scss */\n.menu {\n  padding: 0;\n  margin: 0;\n  list-style: none;\n  position: relative;\n  display: flex;\n  flex-wrap: wrap; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .menu li {\n    outline: 0; }\n  /* line 68, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu a,\n  .menu .button {\n    line-height: 1;\n    text-decoration: none;\n    display: block;\n    padding: 0.7rem 1rem; }\n  /* line 77, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu input,\n  .menu select,\n  .menu a,\n  .menu button {\n    margin-bottom: 0; }\n  /* line 84, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu input {\n    display: inline-block; }\n  /* line 361, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu, .menu.horizontal {\n    flex-wrap: wrap;\n    flex-direction: row; }\n  /* line 366, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.vertical {\n    flex-wrap: nowrap;\n    flex-direction: column; }\n  /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.expanded li {\n    flex: 1 1 0px; }\n  /* line 376, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.simple {\n    align-items: center; }\n    /* line 210, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.simple li + li {\n      margin-left: 1rem; }\n    /* line 214, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.simple a {\n      padding: 0; }\n  @media print, screen and (min-width: 40em) {\n    /* line 382, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.medium-horizontal {\n      flex-wrap: wrap;\n      flex-direction: row; }\n    /* line 386, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.medium-vertical {\n      flex-wrap: nowrap;\n      flex-direction: column; }\n    /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.medium-expanded li {\n      flex: 1 1 0px; }\n    /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.medium-simple li {\n      flex: 1 1 0px; } }\n  @media print, screen and (min-width: 64em) {\n    /* line 382, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.large-horizontal {\n      flex-wrap: wrap;\n      flex-direction: row; }\n    /* line 386, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.large-vertical {\n      flex-wrap: nowrap;\n      flex-direction: column; }\n    /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.large-expanded li {\n      flex: 1 1 0px; }\n    /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.large-simple li {\n      flex: 1 1 0px; } }\n  /* line 400, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.nested {\n    margin-right: 0;\n    margin-left: 1rem; }\n  /* line 240, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.icons a {\n    display: flex; }\n  /* line 240, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.icon-top a, .menu.icon-right a, .menu.icon-bottom a, .menu.icon-left a {\n    display: flex; }\n  /* line 260, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.icon-left li a {\n    flex-flow: row nowrap; }\n    /* line 265, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.icon-left li a img,\n    .menu.icon-left li a i,\n    .menu.icon-left li a svg {\n      margin-right: 0.25rem; }\n  /* line 277, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.icon-right li a {\n    flex-flow: row nowrap; }\n    /* line 282, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.icon-right li a img,\n    .menu.icon-right li a i,\n    .menu.icon-right li a svg {\n      margin-left: 0.25rem; }\n  /* line 294, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.icon-top li a {\n    flex-flow: column nowrap; }\n    /* line 302, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.icon-top li a img,\n    .menu.icon-top li a i,\n    .menu.icon-top li a svg {\n      align-self: stretch;\n      margin-bottom: 0.25rem;\n      text-align: center; }\n  /* line 318, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.icon-bottom li a {\n    flex-flow: column nowrap; }\n    /* line 326, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.icon-bottom li a img,\n    .menu.icon-bottom li a i,\n    .menu.icon-bottom li a svg {\n      align-self: stretch;\n      margin-bottom: 0.25rem;\n      text-align: center; }\n  /* line 440, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu .is-active > a {\n    background: #1779ba;\n    color: #fefefe; }\n  /* line 446, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu .active > a {\n    background: #1779ba;\n    color: #fefefe; }\n  /* line 452, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.align-left {\n    justify-content: flex-start; }\n  /* line 119, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.align-right li {\n    display: flex;\n    justify-content: flex-end; }\n    /* line 123, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.align-right li .submenu li {\n      justify-content: flex-start; }\n  /* line 128, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.align-right.vertical li {\n    display: block;\n    text-align: right; }\n    /* line 132, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.align-right.vertical li .submenu li {\n      text-align: right; }\n  /* line 460, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.align-right .nested {\n    margin-right: 1rem;\n    margin-left: 0; }\n  /* line 153, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu.align-center li {\n    display: flex;\n    justify-content: center; }\n    /* line 157, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu.align-center li .submenu li {\n      justify-content: flex-start; }\n  /* line 470, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu .menu-text {\n    padding: 0.7rem 1rem;\n    font-weight: bold;\n    line-height: 1;\n    color: inherit; }\n\n/* line 477, node_modules/foundation-sites/scss/components/_menu.scss */\n.menu-centered > .menu {\n  justify-content: center; }\n  /* line 153, node_modules/foundation-sites/scss/components/_menu.scss */\n  .menu-centered > .menu li {\n    display: flex;\n    justify-content: center; }\n    /* line 157, node_modules/foundation-sites/scss/components/_menu.scss */\n    .menu-centered > .menu li .submenu li {\n      justify-content: flex-start; }\n\n/* line 488, node_modules/foundation-sites/scss/components/_menu.scss */\n.no-js [data-responsive-menu] ul {\n  display: none; }\n\n/* line 2, node_modules/foundation-sites/scss/components/_menu-icon.scss */\n.menu-icon {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 16px;\n  cursor: pointer; }\n  /* line 114, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .menu-icon::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    display: block;\n    width: 100%;\n    height: 2px;\n    background: #fefefe;\n    box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;\n    content: ''; }\n  /* line 137, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .menu-icon:hover::after {\n    background: #777777;\n    box-shadow: 0 7px 0 #777777, 0 14px 0 #777777; }\n\n/* line 6, node_modules/foundation-sites/scss/components/_menu-icon.scss */\n.menu-icon.dark {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 16px;\n  cursor: pointer; }\n  /* line 114, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .menu-icon.dark::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n    display: block;\n    width: 100%;\n    height: 2px;\n    background: #000;\n    box-shadow: 0 7px 0 #000, 0 14px 0 #000;\n    content: ''; }\n  /* line 137, node_modules/foundation-sites/scss/util/_mixins.scss */\n  .menu-icon.dark:hover::after {\n    background: #333333;\n    box-shadow: 0 7px 0 #333333, 0 14px 0 #333333; }\n\n/* line 83, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu li {\n  width: 100%; }\n\n/* line 92, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu a {\n  padding: 0.7rem 1rem; }\n\n/* line 99, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu .is-accordion-submenu a {\n  padding: 0.7rem 1rem; }\n\n/* line 103, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu .nested.is-accordion-submenu {\n  margin-right: 0;\n  margin-left: 1rem; }\n\n/* line 108, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu.align-right .nested.is-accordion-submenu {\n  margin-right: 1rem;\n  margin-left: 0; }\n\n/* line 54, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {\n  position: relative; }\n  /* line 57, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n  .accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    position: absolute;\n    top: 50%;\n    margin-top: -3px;\n    right: 1rem; }\n\n/* line 66, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu.align-left .is-accordion-submenu-parent > a::after {\n  right: 1rem;\n  left: auto; }\n\n/* line 71, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu.align-right .is-accordion-submenu-parent > a::after {\n  right: auto;\n  left: 1rem; }\n\n/* line 116, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {\n  transform: rotate(180deg);\n  transform-origin: 50% 50%; }\n\n/* line 130, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.is-accordion-submenu-parent {\n  position: relative; }\n\n/* line 134, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.has-submenu-toggle > a {\n  margin-right: 40px; }\n\n/* line 139, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.submenu-toggle {\n  position: absolute;\n  top: 0;\n  right: 0;\n  width: 40px;\n  height: 40px;\n  cursor: pointer; }\n  /* line 156, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n  .submenu-toggle::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    top: 0;\n    bottom: 0;\n    margin: auto; }\n\n/* line 166, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.submenu-toggle[aria-expanded='true']::after {\n  transform: scaleY(-1);\n  transform-origin: 50% 50%; }\n\n/* line 171, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n.submenu-toggle-text {\n  position: absolute !important;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0; }\n\n/* line 74, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.is-drilldown {\n  position: relative;\n  overflow: hidden; }\n  /* line 78, node_modules/foundation-sites/scss/components/_drilldown.scss */\n  .is-drilldown li {\n    display: block; }\n  /* line 82, node_modules/foundation-sites/scss/components/_drilldown.scss */\n  .is-drilldown.animate-height {\n    transition: height 0.5s; }\n\n/* line 89, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown a {\n  padding: 0.7rem 1rem;\n  background: #fefefe; }\n\n/* line 95, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown .is-drilldown-submenu {\n  position: absolute;\n  top: 0;\n  left: 100%;\n  z-index: -1;\n  width: 100%;\n  background: #fefefe;\n  transition: transform 0.15s linear; }\n  /* line 105, node_modules/foundation-sites/scss/components/_drilldown.scss */\n  .drilldown .is-drilldown-submenu.is-active {\n    z-index: 1;\n    display: block;\n    transform: translateX(-100%); }\n  /* line 111, node_modules/foundation-sites/scss/components/_drilldown.scss */\n  .drilldown .is-drilldown-submenu.is-closing {\n    transform: translateX(100%); }\n  /* line 116, node_modules/foundation-sites/scss/components/_drilldown.scss */\n  .drilldown .is-drilldown-submenu a {\n    padding: 0.7rem 1rem; }\n\n/* line 121, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown .nested.is-drilldown-submenu {\n  margin-right: 0;\n  margin-left: 0; }\n\n/* line 125, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown .drilldown-submenu-cover-previous {\n  min-height: 100%; }\n\n/* line 46, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown .is-drilldown-submenu-parent > a {\n  position: relative; }\n  /* line 49, node_modules/foundation-sites/scss/components/_drilldown.scss */\n  .drilldown .is-drilldown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba;\n    position: absolute;\n    top: 50%;\n    margin-top: -6px;\n    right: 1rem; }\n\n/* line 58, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown.align-left .is-drilldown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba;\n  right: 1rem;\n  left: auto; }\n\n/* line 64, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown.align-right .is-drilldown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  right: auto;\n  left: 1rem; }\n\n/* line 132, node_modules/foundation-sites/scss/components/_drilldown.scss */\n.drilldown .js-drilldown-back > a::before {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  display: inline-block;\n  vertical-align: middle;\n  margin-right: 0.75rem; }\n\n/* line 85, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu > li.opens-left > .is-dropdown-submenu {\n  top: 100%;\n  right: 0;\n  left: auto; }\n\n/* line 93, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu > li.opens-right > .is-dropdown-submenu {\n  top: 100%;\n  right: auto;\n  left: 0; }\n\n/* line 101, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu > li.is-dropdown-submenu-parent > a {\n  position: relative;\n  padding-right: 1.5rem; }\n\n/* line 106, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu > li.is-dropdown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-bottom-width: 0;\n  border-top-style: solid;\n  border-color: #1779ba transparent transparent;\n  right: 5px;\n  left: auto;\n  margin-top: -3px; }\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n[data-whatinput='mouse'] .dropdown.menu a {\n  outline: 0; }\n\n/* line 154, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu > li > a {\n  padding: 0.7rem 1rem; }\n\n/* line 160, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu > li.is-active > a {\n  background: transparent;\n  color: #1779ba; }\n\n/* line 165, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.no-js .dropdown.menu ul {\n  display: none; }\n\n/* line 169, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu .nested.is-dropdown-submenu {\n  margin-right: 0;\n  margin-left: 0; }\n\n/* line 116, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu.vertical > li .is-dropdown-submenu {\n  top: 0; }\n\n/* line 121, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {\n  top: 0;\n  right: 100%;\n  left: auto; }\n\n/* line 129, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {\n  right: auto;\n  left: 100%; }\n\n/* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu.vertical > li > a::after {\n  right: 14px; }\n\n/* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu.vertical > li.opens-left > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  right: auto;\n  left: 5px; }\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu.vertical > li.opens-right > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {\n    top: 100%;\n    right: 0;\n    left: auto; }\n  /* line 93, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {\n    top: 100%;\n    right: auto;\n    left: 0; }\n  /* line 101, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {\n    position: relative;\n    padding-right: 1.5rem; }\n  /* line 106, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    right: 5px;\n    left: auto;\n    margin-top: -3px; }\n  /* line 116, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {\n    top: 0; }\n  /* line 121, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {\n    top: 0;\n    right: 100%;\n    left: auto; }\n  /* line 129, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%; }\n  /* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-vertical > li > a::after {\n    right: 14px; }\n  /* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-vertical > li.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent;\n    right: auto;\n    left: 5px; }\n  /* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.medium-vertical > li.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {\n    top: 100%;\n    right: 0;\n    left: auto; }\n  /* line 93, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {\n    top: 100%;\n    right: auto;\n    left: 0; }\n  /* line 101, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {\n    position: relative;\n    padding-right: 1.5rem; }\n  /* line 106, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    right: 5px;\n    left: auto;\n    margin-top: -3px; }\n  /* line 116, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-vertical > li .is-dropdown-submenu {\n    top: 0; }\n  /* line 121, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {\n    top: 0;\n    right: 100%;\n    left: auto; }\n  /* line 129, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%; }\n  /* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-vertical > li > a::after {\n    right: 14px; }\n  /* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-vertical > li.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent;\n    right: auto;\n    left: 5px; }\n  /* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown.menu.large-vertical > li.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba; } }\n\n/* line 192, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.dropdown.menu.align-right .is-dropdown-submenu.first-sub {\n  top: 100%;\n  right: 0;\n  left: auto; }\n\n/* line 200, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.is-dropdown-menu.vertical {\n  width: 100px; }\n  /* line 203, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-menu.vertical.align-right {\n    float: right; }\n\n/* line 208, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.is-dropdown-submenu-parent {\n  position: relative; }\n  /* line 211, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu-parent a::after {\n    position: absolute;\n    top: 50%;\n    right: 5px;\n    left: auto;\n    margin-top: -6px; }\n  /* line 219, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {\n    top: 100%;\n    left: auto; }\n  /* line 230, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {\n    right: 100%;\n    left: auto; }\n  /* line 235, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%; }\n\n/* line 241, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n.is-dropdown-submenu {\n  position: absolute;\n  top: 0;\n  left: 100%;\n  z-index: 1;\n  display: none;\n  min-width: 200px;\n  border: 1px solid #777777;\n  background: #fefefe; }\n  /* line 253, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .dropdown .is-dropdown-submenu a {\n    padding: 0.7rem 1rem; }\n  /* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {\n    right: 14px; }\n  /* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent;\n    right: auto;\n    left: 5px; }\n  /* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba; }\n  /* line 264, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu .is-dropdown-submenu {\n    margin-top: -1px; }\n  /* line 269, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu > li {\n    width: 100%; }\n  /* line 275, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n  .is-dropdown-submenu.js-dropdown-active {\n    display: block; }\n\n/* line 92, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.is-off-canvas-open {\n  overflow: hidden; }\n\n/* line 97, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.js-off-canvas-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 11;\n  width: 100%;\n  height: 100%;\n  transition: opacity 0.5s ease, visibility 0.5s ease;\n  background: rgba(254, 254, 254, 0.25);\n  opacity: 0;\n  visibility: hidden;\n  overflow: hidden; }\n  /* line 115, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .js-off-canvas-overlay.is-visible {\n    opacity: 1;\n    visibility: visible; }\n  /* line 120, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .js-off-canvas-overlay.is-closable {\n    cursor: pointer; }\n  /* line 124, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .js-off-canvas-overlay.is-overlay-absolute {\n    position: absolute; }\n  /* line 128, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .js-off-canvas-overlay.is-overlay-fixed {\n    position: fixed; }\n\n/* line 442, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.off-canvas-wrapper {\n  position: relative;\n  overflow: hidden; }\n\n/* line 447, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.off-canvas {\n  position: fixed;\n  z-index: 12;\n  transition: transform 0.5s ease;\n  backface-visibility: hidden;\n  background: #eeeeee; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .off-canvas {\n    outline: 0; }\n  /* line 159, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas.is-transition-push {\n    z-index: 12; }\n  /* line 169, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas.is-closed {\n    visibility: hidden; }\n  /* line 174, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas.is-transition-overlap {\n    z-index: 13; }\n    /* line 177, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas.is-transition-overlap.is-open {\n      box-shadow: 0 0 10px rgba(0, 0, 0, 0.7); }\n  /* line 183, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas.is-open {\n    transform: translate(0, 0); }\n\n/* line 458, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.off-canvas-absolute {\n  position: absolute;\n  z-index: 12;\n  transition: transform 0.5s ease;\n  backface-visibility: hidden;\n  background: #eeeeee; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .off-canvas-absolute {\n    outline: 0; }\n  /* line 159, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-absolute.is-transition-push {\n    z-index: 12; }\n  /* line 169, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-absolute.is-closed {\n    visibility: hidden; }\n  /* line 174, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-absolute.is-transition-overlap {\n    z-index: 13; }\n    /* line 177, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-absolute.is-transition-overlap.is-open {\n      box-shadow: 0 0 10px rgba(0, 0, 0, 0.7); }\n  /* line 183, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-absolute.is-open {\n    transform: translate(0, 0); }\n\n/* line 463, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.position-left {\n  top: 0;\n  left: 0;\n  height: 100%;\n  overflow-y: auto;\n  width: 250px;\n  transform: translateX(-250px); }\n  /* line 208, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content .off-canvas.position-left {\n    transform: translateX(-250px); }\n    /* line 215, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {\n      transform: translate(0, 0); }\n  /* line 222, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content.is-open-left.has-transition-push {\n    transform: translateX(250px); }\n  /* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-left.is-transition-push {\n    box-shadow: inset -13px 0 20px -13px rgba(0, 0, 0, 0.25); }\n\n/* line 464, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.position-right {\n  top: 0;\n  right: 0;\n  height: 100%;\n  overflow-y: auto;\n  width: 250px;\n  transform: translateX(250px); }\n  /* line 245, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content .off-canvas.position-right {\n    transform: translateX(250px); }\n    /* line 252, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {\n      transform: translate(0, 0); }\n  /* line 259, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content.is-open-right.has-transition-push {\n    transform: translateX(-250px); }\n  /* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-right.is-transition-push {\n    box-shadow: inset 13px 0 20px -13px rgba(0, 0, 0, 0.25); }\n\n/* line 465, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.position-top {\n  top: 0;\n  left: 0;\n  width: 100%;\n  overflow-x: auto;\n  height: 250px;\n  transform: translateY(-250px); }\n  /* line 282, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content .off-canvas.position-top {\n    transform: translateY(-250px); }\n    /* line 288, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {\n      transform: translate(0, 0); }\n  /* line 295, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content.is-open-top.has-transition-push {\n    transform: translateY(250px); }\n  /* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-top.is-transition-push {\n    box-shadow: inset 0 -13px 20px -13px rgba(0, 0, 0, 0.25); }\n\n/* line 466, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.position-bottom {\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  overflow-x: auto;\n  height: 250px;\n  transform: translateY(250px); }\n  /* line 318, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content .off-canvas.position-bottom {\n    transform: translateY(250px); }\n    /* line 324, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {\n      transform: translate(0, 0); }\n  /* line 331, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content.is-open-bottom.has-transition-push {\n    transform: translateY(-250px); }\n  /* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-bottom.is-transition-push {\n    box-shadow: inset 0 13px 20px -13px rgba(0, 0, 0, 0.25); }\n\n/* line 468, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n.off-canvas-content {\n  transform: none;\n  transition: transform 0.5s ease;\n  backface-visibility: hidden; }\n  /* line 369, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content.has-transition-push {\n    transform: translate(0, 0); }\n  /* line 374, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas-content .off-canvas.is-open {\n    transform: translate(0, 0); }\n\n@media print, screen and (min-width: 40em) {\n  /* line 476, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-left.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-left.reveal-for-medium .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-left.reveal-for-medium {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-left {\n      margin-left: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-left.reveal-for-medium ~ .off-canvas-content {\n      margin-left: 250px; }\n  /* line 480, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-right.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-right.reveal-for-medium .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-right.reveal-for-medium {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-right {\n      margin-right: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-right.reveal-for-medium ~ .off-canvas-content {\n      margin-right: 250px; }\n  /* line 484, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-top.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-top.reveal-for-medium .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-top.reveal-for-medium {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-top {\n      margin-top: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-top.reveal-for-medium ~ .off-canvas-content {\n      margin-top: 250px; }\n  /* line 488, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-bottom.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-bottom.reveal-for-medium .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-bottom.reveal-for-medium {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-bottom {\n      margin-bottom: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-bottom.reveal-for-medium ~ .off-canvas-content {\n      margin-bottom: 250px; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 476, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-left.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-left.reveal-for-large .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-left.reveal-for-large {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-left {\n      margin-left: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-left.reveal-for-large ~ .off-canvas-content {\n      margin-left: 250px; }\n  /* line 480, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-right.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-right.reveal-for-large .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-right.reveal-for-large {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-right {\n      margin-right: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-right.reveal-for-large ~ .off-canvas-content {\n      margin-right: 250px; }\n  /* line 484, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-top.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-top.reveal-for-large .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-top.reveal-for-large {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-top {\n      margin-top: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-top.reveal-for-large ~ .off-canvas-content {\n      margin-top: 250px; }\n  /* line 488, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .position-bottom.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible; }\n    /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-bottom.reveal-for-large .close-button {\n      display: none; }\n    /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content .position-bottom.reveal-for-large {\n      transform: none; }\n    /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas-content.has-reveal-bottom {\n      margin-bottom: 250px; }\n    /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .position-bottom.reveal-for-large ~ .off-canvas-content {\n      margin-bottom: 250px; } }\n\n@media print, screen and (min-width: 40em) {\n  /* line 499, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas.in-canvas-for-medium {\n    visibility: visible;\n    height: auto;\n    position: static;\n    background: none;\n    width: auto;\n    overflow: visible;\n    transition: none; }\n    /* line 425, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {\n      box-shadow: none;\n      transform: none; }\n    /* line 433, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas.in-canvas-for-medium .close-button {\n      display: none; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 499, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n  .off-canvas.in-canvas-for-large {\n    visibility: visible;\n    height: auto;\n    position: static;\n    background: none;\n    width: auto;\n    overflow: visible;\n    transition: none; }\n    /* line 425, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {\n      box-shadow: none;\n      transform: none; }\n    /* line 433, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n    .off-canvas.in-canvas-for-large .close-button {\n      display: none; } }\n\n/* line 133, node_modules/foundation-sites/scss/components/_reveal.scss */\nhtml.is-reveal-open {\n  position: fixed;\n  width: 100%;\n  overflow-y: hidden; }\n  /* line 138, node_modules/foundation-sites/scss/components/_reveal.scss */\n  html.is-reveal-open.zf-has-scroll {\n    overflow-y: scroll; }\n  /* line 142, node_modules/foundation-sites/scss/components/_reveal.scss */\n  html.is-reveal-open body {\n    overflow-y: hidden; }\n\n/* line 148, node_modules/foundation-sites/scss/components/_reveal.scss */\n.reveal-overlay {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1005;\n  display: none;\n  background-color: rgba(0, 0, 0, 0.45);\n  overflow-y: auto; }\n\n/* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n.reveal {\n  z-index: 1006;\n  backface-visibility: hidden;\n  display: none;\n  padding: 1rem;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  position: relative;\n  top: 100px;\n  margin-right: auto;\n  margin-left: auto;\n  overflow-y: auto; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .reveal {\n    outline: 0; }\n  @media print, screen and (min-width: 40em) {\n    /* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n    .reveal {\n      min-height: 0; } }\n  /* line 88, node_modules/foundation-sites/scss/components/_reveal.scss */\n  .reveal .column {\n    min-width: 0; }\n  /* line 93, node_modules/foundation-sites/scss/components/_reveal.scss */\n  .reveal > :last-child {\n    margin-bottom: 0; }\n  @media print, screen and (min-width: 40em) {\n    /* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n    .reveal {\n      width: 600px;\n      max-width: 75rem; } }\n  /* line 163, node_modules/foundation-sites/scss/components/_reveal.scss */\n  .reveal.collapse {\n    padding: 0; }\n  @media print, screen and (min-width: 40em) {\n    /* line 168, node_modules/foundation-sites/scss/components/_reveal.scss */\n    .reveal.tiny {\n      width: 30%;\n      max-width: 75rem; } }\n  @media print, screen and (min-width: 40em) {\n    /* line 169, node_modules/foundation-sites/scss/components/_reveal.scss */\n    .reveal.small {\n      width: 50%;\n      max-width: 75rem; } }\n  @media print, screen and (min-width: 40em) {\n    /* line 170, node_modules/foundation-sites/scss/components/_reveal.scss */\n    .reveal.large {\n      width: 90%;\n      max-width: 75rem; } }\n  /* line 173, node_modules/foundation-sites/scss/components/_reveal.scss */\n  .reveal.full {\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    min-height: 100%;\n    margin-left: 0;\n    border: 0;\n    border-radius: 0; }\n  @media screen and (max-width: 39.99875em) {\n    /* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n    .reveal {\n      top: 0;\n      right: 0;\n      bottom: 0;\n      left: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      min-height: 100%;\n      margin-left: 0;\n      border: 0;\n      border-radius: 0; } }\n  /* line 181, node_modules/foundation-sites/scss/components/_reveal.scss */\n  .reveal.without-overlay {\n    position: fixed; }\n\n/* line 6, node_modules/foundation-sites/scss/components/_sticky.scss */\n.sticky-container {\n  position: relative; }\n\n/* line 10, node_modules/foundation-sites/scss/components/_sticky.scss */\n.sticky {\n  position: relative;\n  z-index: 0;\n  transform: translate3d(0, 0, 0); }\n\n/* line 16, node_modules/foundation-sites/scss/components/_sticky.scss */\n.sticky.is-stuck {\n  position: fixed;\n  z-index: 5;\n  width: 100%; }\n  /* line 21, node_modules/foundation-sites/scss/components/_sticky.scss */\n  .sticky.is-stuck.is-at-top {\n    top: 0; }\n  /* line 25, node_modules/foundation-sites/scss/components/_sticky.scss */\n  .sticky.is-stuck.is-at-bottom {\n    bottom: 0; }\n\n/* line 30, node_modules/foundation-sites/scss/components/_sticky.scss */\n.sticky.is-anchored {\n  position: relative;\n  right: auto;\n  left: auto; }\n  /* line 35, node_modules/foundation-sites/scss/components/_sticky.scss */\n  .sticky.is-anchored.is-at-bottom {\n    bottom: 0; }\n\n/* line 38, node_modules/foundation-sites/scss/components/_title-bar.scss */\n.title-bar {\n  padding: 0.5rem;\n  background: #000;\n  color: #fefefe;\n  display: flex;\n  justify-content: flex-start;\n  align-items: center; }\n  /* line 52, node_modules/foundation-sites/scss/components/_title-bar.scss */\n  .title-bar .menu-icon {\n    margin-left: 0.25rem;\n    margin-right: 0.25rem; }\n\n/* line 59, node_modules/foundation-sites/scss/components/_title-bar.scss */\n.title-bar-left,\n.title-bar-right {\n  flex: 1 1 0px; }\n\n/* line 64, node_modules/foundation-sites/scss/components/_title-bar.scss */\n.title-bar-right {\n  text-align: right; }\n\n/* line 79, node_modules/foundation-sites/scss/components/_title-bar.scss */\n.title-bar-title {\n  display: inline-block;\n  vertical-align: middle;\n  font-weight: bold; }\n\n/* line 122, node_modules/foundation-sites/scss/components/_top-bar.scss */\n.top-bar {\n  display: flex;\n  flex-wrap: nowrap;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0.5rem;\n  flex-wrap: wrap; }\n  /* line 47, node_modules/foundation-sites/scss/components/_top-bar.scss */\n  .top-bar,\n  .top-bar ul {\n    background-color: #eeeeee; }\n  /* line 60, node_modules/foundation-sites/scss/components/_top-bar.scss */\n  .top-bar input {\n    max-width: 200px;\n    margin-right: 1rem; }\n  /* line 66, node_modules/foundation-sites/scss/components/_top-bar.scss */\n  .top-bar .input-group-field, .top-bar .search-form .search-field, .search-form .top-bar .search-field {\n    width: 100%;\n    margin-right: 0; }\n  /* line 71, node_modules/foundation-sites/scss/components/_top-bar.scss */\n  .top-bar input.button {\n    width: auto; }\n  /* line 82, node_modules/foundation-sites/scss/components/_top-bar.scss */\n  .top-bar .top-bar-left,\n  .top-bar .top-bar-right {\n    flex: 0 0 100%;\n    max-width: 100%; }\n  @media print, screen and (min-width: 40em) {\n    /* line 122, node_modules/foundation-sites/scss/components/_top-bar.scss */\n    .top-bar {\n      flex-wrap: nowrap; }\n      /* line 102, node_modules/foundation-sites/scss/components/_top-bar.scss */\n      .top-bar .top-bar-left {\n        flex: 1 1 auto;\n        margin-right: auto; }\n      /* line 107, node_modules/foundation-sites/scss/components/_top-bar.scss */\n      .top-bar .top-bar-right {\n        flex: 0 1 auto;\n        margin-left: auto; } }\n  @media screen and (max-width: 63.99875em) {\n    /* line 135, node_modules/foundation-sites/scss/components/_top-bar.scss */\n    .top-bar.stacked-for-medium {\n      flex-wrap: wrap; }\n      /* line 82, node_modules/foundation-sites/scss/components/_top-bar.scss */\n      .top-bar.stacked-for-medium .top-bar-left,\n      .top-bar.stacked-for-medium .top-bar-right {\n        flex: 0 0 100%;\n        max-width: 100%; } }\n  @media screen and (max-width: 74.99875em) {\n    /* line 135, node_modules/foundation-sites/scss/components/_top-bar.scss */\n    .top-bar.stacked-for-large {\n      flex-wrap: wrap; }\n      /* line 82, node_modules/foundation-sites/scss/components/_top-bar.scss */\n      .top-bar.stacked-for-large .top-bar-left,\n      .top-bar.stacked-for-large .top-bar-right {\n        flex: 0 0 100%;\n        max-width: 100%; } }\n\n/* line 146, node_modules/foundation-sites/scss/components/_top-bar.scss */\n.top-bar-title {\n  flex: 0 0 auto;\n  margin: 0.5rem 1rem 0.5rem 0; }\n\n/* line 151, node_modules/foundation-sites/scss/components/_top-bar.scss */\n.top-bar-left,\n.top-bar-right {\n  flex: 0 0 auto; }\n\n/* line 10, node_modules/foundation-sites/scss/components/_float.scss */\n.float-left {\n  float: left !important; }\n\n/* line 14, node_modules/foundation-sites/scss/components/_float.scss */\n.float-right {\n  float: right !important; }\n\n/* line 18, node_modules/foundation-sites/scss/components/_float.scss */\n.float-center {\n  display: block;\n  margin-right: auto;\n  margin-left: auto; }\n\n/* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n.clearfix::before, .clearfix::after {\n  display: table;\n  content: ' ';\n  flex-basis: 0;\n  order: 1; }\n\n/* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n.clearfix::after {\n  clear: both; }\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-left {\n  justify-content: flex-start; }\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-right {\n  justify-content: flex-end; }\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-center {\n  justify-content: center; }\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-justify {\n  justify-content: space-between; }\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-spaced {\n  justify-content: space-around; }\n\n/* line 84, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-left.vertical.menu > li > a {\n  justify-content: flex-start; }\n\n/* line 84, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-right.vertical.menu > li > a {\n  justify-content: flex-end; }\n\n/* line 84, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-center.vertical.menu > li > a {\n  justify-content: center; }\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-top {\n  align-items: flex-start; }\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-self-top {\n  align-self: flex-start; }\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-bottom {\n  align-items: flex-end; }\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-self-bottom {\n  align-self: flex-end; }\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-middle {\n  align-items: center; }\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-self-middle {\n  align-self: center; }\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-stretch {\n  align-items: stretch; }\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-self-stretch {\n  align-self: stretch; }\n\n/* line 103, node_modules/foundation-sites/scss/components/_flex.scss */\n.align-center-middle {\n  justify-content: center;\n  align-items: center;\n  align-content: center; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n.small-order-1 {\n  order: 1; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n.small-order-2 {\n  order: 2; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n.small-order-3 {\n  order: 3; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n.small-order-4 {\n  order: 4; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n.small-order-5 {\n  order: 5; }\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n.small-order-6 {\n  order: 6; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-order-1 {\n    order: 1; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-order-2 {\n    order: 2; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-order-3 {\n    order: 3; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-order-4 {\n    order: 4; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-order-5 {\n    order: 5; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-order-6 {\n    order: 6; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-order-1 {\n    order: 1; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-order-2 {\n    order: 2; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-order-3 {\n    order: 3; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-order-4 {\n    order: 4; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-order-5 {\n    order: 5; }\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-order-6 {\n    order: 6; } }\n\n/* line 18, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-container {\n  display: flex; }\n\n/* line 22, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-child-auto {\n  flex: 1 1 auto; }\n\n/* line 26, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-child-grow {\n  flex: 1 0 auto; }\n\n/* line 30, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-child-shrink {\n  flex: 0 1 auto; }\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-dir-row {\n  flex-direction: row; }\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-dir-row-reverse {\n  flex-direction: row-reverse; }\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-dir-column {\n  flex-direction: column; }\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n.flex-dir-column-reverse {\n  flex-direction: column-reverse; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 45, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-container {\n    display: flex; }\n  /* line 49, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-child-auto {\n    flex: 1 1 auto; }\n  /* line 53, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-child-grow {\n    flex: 1 0 auto; }\n  /* line 57, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-child-shrink {\n    flex: 0 1 auto; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-dir-row {\n    flex-direction: row; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-dir-row-reverse {\n    flex-direction: row-reverse; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-dir-column {\n    flex-direction: column; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .medium-flex-dir-column-reverse {\n    flex-direction: column-reverse; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 45, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-container {\n    display: flex; }\n  /* line 49, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-child-auto {\n    flex: 1 1 auto; }\n  /* line 53, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-child-grow {\n    flex: 1 0 auto; }\n  /* line 57, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-child-shrink {\n    flex: 0 1 auto; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-dir-row {\n    flex-direction: row; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-dir-row-reverse {\n    flex-direction: row-reverse; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-dir-column {\n    flex-direction: column; }\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n  .large-flex-dir-column-reverse {\n    flex-direction: column-reverse; } }\n\n/* line 65, node_modules/foundation-sites/scss/components/_visibility.scss */\n.hide {\n  display: none !important; }\n\n/* line 69, node_modules/foundation-sites/scss/components/_visibility.scss */\n.invisible {\n  visibility: hidden; }\n\n@media screen and (max-width: 39.99875em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .hide-for-small-only {\n    display: none !important; } }\n\n@media screen and (max-width: 0em), screen and (min-width: 40em) {\n  /* line 89, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .show-for-small-only {\n    display: none !important; } }\n\n@media print, screen and (min-width: 40em) {\n  /* line 76, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .hide-for-medium {\n    display: none !important; } }\n\n@media screen and (max-width: 39.99875em) {\n  /* line 80, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .show-for-medium {\n    display: none !important; } }\n\n@media screen and (min-width: 40em) and (max-width: 63.99875em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .hide-for-medium-only {\n    display: none !important; } }\n\n@media screen and (max-width: 39.99875em), screen and (min-width: 64em) {\n  /* line 89, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .show-for-medium-only {\n    display: none !important; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 76, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .hide-for-large {\n    display: none !important; } }\n\n@media screen and (max-width: 63.99875em) {\n  /* line 80, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .show-for-large {\n    display: none !important; } }\n\n@media screen and (min-width: 64em) and (max-width: 74.99875em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .hide-for-large-only {\n    display: none !important; } }\n\n@media screen and (max-width: 63.99875em), screen and (min-width: 75em) {\n  /* line 89, node_modules/foundation-sites/scss/components/_visibility.scss */\n  .show-for-large-only {\n    display: none !important; } }\n\n/* line 96, node_modules/foundation-sites/scss/components/_visibility.scss */\n.show-for-sr, .screen-reader-text,\n.show-on-focus,\n.screen-reader-text {\n  position: absolute !important;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0; }\n\n/* line 103, node_modules/foundation-sites/scss/components/_visibility.scss */\n.show-on-focus:active, .screen-reader-text:active, .show-on-focus:focus, .screen-reader-text:focus {\n  position: static !important;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n  white-space: normal; }\n\n/* line 110, node_modules/foundation-sites/scss/components/_visibility.scss */\n.show-for-landscape,\n.hide-for-portrait {\n  display: block !important; }\n  @media screen and (orientation: landscape) {\n    /* line 110, node_modules/foundation-sites/scss/components/_visibility.scss */\n    .show-for-landscape,\n    .hide-for-portrait {\n      display: block !important; } }\n  @media screen and (orientation: portrait) {\n    /* line 110, node_modules/foundation-sites/scss/components/_visibility.scss */\n    .show-for-landscape,\n    .hide-for-portrait {\n      display: none !important; } }\n\n/* line 123, node_modules/foundation-sites/scss/components/_visibility.scss */\n.hide-for-landscape,\n.show-for-portrait {\n  display: none !important; }\n  @media screen and (orientation: landscape) {\n    /* line 123, node_modules/foundation-sites/scss/components/_visibility.scss */\n    .hide-for-landscape,\n    .show-for-portrait {\n      display: none !important; } }\n  @media screen and (orientation: portrait) {\n    /* line 123, node_modules/foundation-sites/scss/components/_visibility.scss */\n    .hide-for-landscape,\n    .show-for-portrait {\n      display: block !important; } }\n\n/* stylelint-disable */\n/* stylelint-enable */\n/**\n * Import npm dependencies\n *\n * Prefix your imports with `~` to grab from node_modules/\n * @see https://github.com/webpack-contrib/sass-loader#imports\n */\n/** Import base */\n/**\n * Rc Base Foundation by RedCastor\n * Version 1.5.11\n *\n * Licensed under MIT Open Source\n */\n/** Import Debug */\n/*\n# Print Map\n\nUsage:\n\n  // option 1\n  .debug {\n    @include print-map($map);\n  }\n\n  // option 2\n  @include print-map($map, \"body\");\n\n*/\n/** Import components */\n/** Get base style font weight */\n/** Mixin style property */\n/** Mixin style properties */\n/** Mixin style font weight */\n/** Mixin style classes */\n/* Responsive no javascript */\n/* line 8, src/styles/components/_visibility.scss */\n.no-js .nojs-for-small {\n  display: none !important; }\n\n@media screen and (max-width: 39.99875em) {\n  /* line 12, src/styles/components/_visibility.scss */\n  .no-js .nojs-for-small-only {\n    display: none !important; } }\n\n@media print, screen and (min-width: 40em) {\n  /* line 8, src/styles/components/_visibility.scss */\n  .no-js .nojs-for-medium {\n    display: none !important; } }\n\n@media screen and (min-width: 40em) and (max-width: 63.99875em) {\n  /* line 12, src/styles/components/_visibility.scss */\n  .no-js .nojs-for-medium-only {\n    display: none !important; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 8, src/styles/components/_visibility.scss */\n  .no-js .nojs-for-large {\n    display: none !important; } }\n\n@media screen and (min-width: 64em) and (max-width: 74.99875em) {\n  /* line 12, src/styles/components/_visibility.scss */\n  .no-js .nojs-for-large-only {\n    display: none !important; } }\n\n/* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n.cf::before, .cf::after {\n  display: table;\n  content: ' ';\n  flex-basis: 0;\n  order: 1; }\n\n/* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n.cf::after {\n  clear: both; }\n\n/* line 11, src/styles/components/_classes.scss */\n.absolute-center {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%); }\n\n/* line 16, src/styles/components/_classes.scss */\n.absolute-bottom {\n  position: absolute;\n  bottom: 0; }\n\n/* line 22, src/styles/components/_classes.scss */\n.absolute-top {\n  position: absolute;\n  top: 0; }\n\n/* line 28, src/styles/components/_classes.scss */\n.absolute-left {\n  position: absolute;\n  left: 0; }\n\n/* line 34, src/styles/components/_classes.scss */\n.absolute-right {\n  position: absolute;\n  right: 0; }\n\n/* line 40, src/styles/components/_classes.scss */\n.relative-container {\n  position: relative; }\n\n/* line 45, src/styles/components/_classes.scss */\n.horizontal-center {\n  position: absolute;\n  left: 50%;\n  transform: translateX(-50%); }\n\n@media screen and (max-width: 39.99875em) {\n  /* line 50, src/styles/components/_classes.scss */\n  .vertical-center-small-only {\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%); }\n  /* line 54, src/styles/components/_classes.scss */\n  .horizontal-center-small-only {\n    position: absolute;\n    left: 50%;\n    transform: translateX(-50%); } }\n\n/* line 60, src/styles/components/_classes.scss */\n.vertical-center {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%); }\n\n@media print, screen and (min-width: 40em) {\n  /* line 65, src/styles/components/_classes.scss */\n  .vertical-center-medium {\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%); }\n  /* line 69, src/styles/components/_classes.scss */\n  .horizontal-center-medium {\n    position: absolute;\n    left: 50%;\n    transform: translateX(-50%); } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 75, src/styles/components/_classes.scss */\n  .vertical-center-large {\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%); }\n  /* line 79, src/styles/components/_classes.scss */\n  .horizontal-center-large {\n    position: absolute;\n    left: 50%;\n    transform: translateX(-50%); } }\n\n/* line 85, src/styles/components/_classes.scss */\n.fixed-top {\n  position: fixed !important;\n  top: 0rem !important;\n  z-index: 975; }\n\n/* line 90, src/styles/components/_classes.scss */\n.fixed-bottom {\n  position: fixed !important;\n  bottom: 0rem !important;\n  z-index: 975; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 96, src/styles/components/_classes.scss */\n  .fixed-top-medium {\n    position: fixed !important;\n    top: 0rem !important;\n    z-index: 975; }\n  /* line 101, src/styles/components/_classes.scss */\n  .fixed-bottom-medium {\n    position: fixed !important;\n    bottom: 0rem !important;\n    z-index: 975; } }\n\n/* line 111, src/styles/components/_classes.scss */\n.small-min-height-25 {\n  min-height: 25vh; }\n\n/* line 111, src/styles/components/_classes.scss */\n.small-min-height-50 {\n  min-height: 50vh; }\n\n/* line 111, src/styles/components/_classes.scss */\n.small-min-height-65 {\n  min-height: 65vh; }\n\n/* line 111, src/styles/components/_classes.scss */\n.small-min-height-75 {\n  min-height: 75vh; }\n\n/* line 111, src/styles/components/_classes.scss */\n.small-min-height-85 {\n  min-height: 85vh; }\n\n/* line 111, src/styles/components/_classes.scss */\n.small-min-height-100 {\n  min-height: 100vh; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 111, src/styles/components/_classes.scss */\n  .medium-min-height-25 {\n    min-height: 25vh; }\n  /* line 111, src/styles/components/_classes.scss */\n  .medium-min-height-50 {\n    min-height: 50vh; }\n  /* line 111, src/styles/components/_classes.scss */\n  .medium-min-height-65 {\n    min-height: 65vh; }\n  /* line 111, src/styles/components/_classes.scss */\n  .medium-min-height-75 {\n    min-height: 75vh; }\n  /* line 111, src/styles/components/_classes.scss */\n  .medium-min-height-85 {\n    min-height: 85vh; }\n  /* line 111, src/styles/components/_classes.scss */\n  .medium-min-height-100 {\n    min-height: 100vh; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 111, src/styles/components/_classes.scss */\n  .large-min-height-25 {\n    min-height: 25vh; }\n  /* line 111, src/styles/components/_classes.scss */\n  .large-min-height-50 {\n    min-height: 50vh; }\n  /* line 111, src/styles/components/_classes.scss */\n  .large-min-height-65 {\n    min-height: 65vh; }\n  /* line 111, src/styles/components/_classes.scss */\n  .large-min-height-75 {\n    min-height: 75vh; }\n  /* line 111, src/styles/components/_classes.scss */\n  .large-min-height-85 {\n    min-height: 85vh; }\n  /* line 111, src/styles/components/_classes.scss */\n  .large-min-height-100 {\n    min-height: 100vh; } }\n\n/* line 118, src/styles/components/_classes.scss */\n.fit-center {\n  width: fit-content !important;\n  margin-left: auto !important;\n  margin-right: auto !important; }\n\n/* line 123, src/styles/components/_classes.scss */\n.no-margin {\n  margin-bottom: 0 !important; }\n\n/* line 128, src/styles/components/_classes.scss */\n.no-padding {\n  padding-bottom: 0 !important; }\n\n/* line 135, src/styles/components/_classes.scss */\nul.list-circle,\nol.list-circle {\n  list-style-type: circle; }\n\n/* line 139, src/styles/components/_classes.scss */\nul.list-disc,\nol.list-disc {\n  list-style-type: disc; }\n\n/* line 143, src/styles/components/_classes.scss */\nul.list-square,\nol.list-square {\n  list-style-type: square; }\n\n/* line 147, src/styles/components/_classes.scss */\nul.list-decimal,\nol.list-decimal {\n  list-style-type: decimal; }\n\n/* line 151, src/styles/components/_classes.scss */\nul.list-roman,\nol.list-roman {\n  list-style-type: upper-roman; }\n\n/* line 155, src/styles/components/_classes.scss */\nul.list-alpha,\nol.list-alpha {\n  list-style-type: upper-alpha; }\n\n/* line 160, src/styles/components/_classes.scss */\nul.list-inside,\nol.list-inside {\n  list-style-position: inside; }\n\n/* line 164, src/styles/components/_classes.scss */\nul.list-outside,\nol.list-outside {\n  list-style-position: outside; }\n\n/* line 169, src/styles/components/_classes.scss */\nul.list-default,\nol.list-default {\n  list-style: initial; }\n\n/* line 174, src/styles/components/_classes.scss */\nul.list-none,\nol.list-none {\n  list-style: none; }\n\n/* line 179, src/styles/components/_classes.scss */\n.text-align-middle {\n  vertical-align: middle; }\n\n/* line 183, src/styles/components/_classes.scss */\n.text-align-bottom {\n  vertical-align: bottom; }\n\n/* line 187, src/styles/components/_classes.scss */\n.text-align-top {\n  vertical-align: top; }\n\n@font-face {\n  font-family: \"rc-base-icons\";\n  src: url(\"fonts/rc-base-icons.woff\") format(\"woff\"), url(\"fonts/rc-base-icons.ttf\") format(\"truetype\"), url(\"fonts/rc-base-icons.svg#rc-base-icons\") format(\"svg\");\n  font-weight: normal;\n  font-style: normal; }\n\n/* line 3, src/styles/components/icons/_core.scss */\n[class^=\"fi-\"],\n[class*=\" fi-\"] {\n  display: inline-block;\n  font-family: \"rc-base-icons\";\n  speak: none;\n  font-style: normal;\n  font-weight: normal;\n  font-variant: normal;\n  text-transform: none;\n  line-height: 1;\n  /* Better Font Rendering =========== */\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  /* Support webicon size =========== */\n  width: 1em;\n  height: auto;\n  vertical-align: inherit; }\n  /* line 26, src/styles/components/icons/_core.scss */\n  [class^=\"fi-\"].primary,\n  [class*=\" fi-\"].primary {\n    color: #1779ba; }\n  /* line 26, src/styles/components/icons/_core.scss */\n  [class^=\"fi-\"].secondary,\n  [class*=\" fi-\"].secondary {\n    color: #767676; }\n  /* line 26, src/styles/components/icons/_core.scss */\n  [class^=\"fi-\"].success,\n  [class*=\" fi-\"].success {\n    color: #18a733; }\n  /* line 26, src/styles/components/icons/_core.scss */\n  [class^=\"fi-\"].warning,\n  [class*=\" fi-\"].warning {\n    color: #ffae00; }\n  /* line 26, src/styles/components/icons/_core.scss */\n  [class^=\"fi-\"].alert,\n  [class*=\" fi-\"].alert {\n    color: #cc4b37; }\n\n/* HELPER CLASS\n * -------------------------- */\n/* FI based classes */\n/*! Modified from font-awesome helper CSS classes - PIXEDEN\n * ! Modified from PIXEDEN helper CSS classes - RC-BASE-ICON\n *  Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome\n *  License - http://fontawesome.io/license (CSS: MIT License)\n */\n/* makes the font 33% larger relative to the icon container */\n/* line 14, src/styles/components/icons/_helper.scss */\n.fi-lg {\n  font-size: 1.33em;\n  line-height: 0.75em;\n  vertical-align: -15%; }\n\n/* line 21, src/styles/components/icons/_helper.scss */\n.fi-2x {\n  font-size: 2em; }\n\n/* line 26, src/styles/components/icons/_helper.scss */\n.fi-3x {\n  font-size: 3em; }\n\n/* line 31, src/styles/components/icons/_helper.scss */\n.fi-4x {\n  font-size: 4em; }\n\n/* line 36, src/styles/components/icons/_helper.scss */\n.fi-5x {\n  font-size: 5em; }\n\n/* line 41, src/styles/components/icons/_helper.scss */\n.fi-fw {\n  width: 1.2857142857142858em;\n  text-align: center; }\n\n/* line 47, src/styles/components/icons/_helper.scss */\n.fi-ul {\n  padding-left: 0;\n  margin-left: 2.142857142857143em;\n  list-style-type: none; }\n  /* line 53, src/styles/components/icons/_helper.scss */\n  .fi-ul > li {\n    position: relative; }\n\n/* line 59, src/styles/components/icons/_helper.scss */\n.fi-li {\n  position: absolute;\n  left: -2.142857142857143em;\n  width: 2.142857142857143em;\n  top: 0.14285714285714285em;\n  text-align: center; }\n  /* line 67, src/styles/components/icons/_helper.scss */\n  .fi-li.fi-lg {\n    left: -1.8571428571428572em; }\n\n/* line 73, src/styles/components/icons/_helper.scss */\n.fi-border {\n  padding: 0.2em 0.25em 0.15em;\n  border: solid 0.08em #eaeaea;\n  border-radius: 0.1em; }\n\n/* line 80, src/styles/components/icons/_helper.scss */\n.pull-right {\n  float: right; }\n\n/* line 86, src/styles/components/icons/_helper.scss */\n.fi.pull-left {\n  float: left;\n  margin-right: 0.3em;\n  margin-left: 0.3em; }\n\n/* line 93, src/styles/components/icons/_helper.scss */\n.fi.webicon {\n  width: 1em; }\n\n/* line 98, src/styles/components/icons/_helper.scss */\n.fi-spin {\n  animation: spin 2s infinite linear; }\n\n/* line 103, src/styles/components/icons/_helper.scss */\n.fi-strong {\n  font-weight: bold; }\n\n@keyframes spin {\n  0% {\n    transform: rotate(0deg); }\n  100% {\n    transform: rotate(359deg); } }\n\n/* line 119, src/styles/components/icons/_helper.scss */\n.fi-rotate-90 {\n  /* stylelint-disable-next-line */\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n  transform: rotate(90deg); }\n\n/* line 125, src/styles/components/icons/_helper.scss */\n.fi-rotate-180 {\n  /* stylelint-disable-next-line */\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n  transform: rotate(180deg); }\n\n/* line 131, src/styles/components/icons/_helper.scss */\n.fi-rotate-270 {\n  /* stylelint-disable-next-line */\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n  transform: rotate(270deg); }\n\n/* line 137, src/styles/components/icons/_helper.scss */\n.fi-flip-horizontal {\n  /* stylelint-disable-next-line */\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n  transform: scale(-1, 1); }\n\n/* line 143, src/styles/components/icons/_helper.scss */\n.fi-flip-vertical {\n  /* stylelint-disable-next-line */\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n  transform: scale(1, -1); }\n\n/* line 149, src/styles/components/icons/_helper.scss */\n.fi-stack {\n  position: relative;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  line-height: 2em;\n  vertical-align: middle; }\n\n/* line 159, src/styles/components/icons/_helper.scss */\n.fi-stack-1x,\n.fi-stack-2x {\n  position: absolute;\n  left: 0;\n  width: 100%;\n  text-align: center; }\n\n/* line 168, src/styles/components/icons/_helper.scss */\n.fi-stack-1x {\n  line-height: inherit; }\n\n/* line 173, src/styles/components/icons/_helper.scss */\n.fi-stack-2x {\n  font-size: 2em; }\n\n/* line 178, src/styles/components/icons/_helper.scss */\n.fi-inverse {\n  color: #fff; }\n\n/* Custom classes / mods - PIXEDEN */\n/* line 184, src/styles/components/icons/_helper.scss */\n.fi-va {\n  vertical-align: middle; }\n\n/* stylelint-disable */\n/* line 3, src/styles/components/icons/_icons.scss */\n.fi-add-user:before {\n  content: \"\"; }\n\n/* line 8, src/styles/components/icons/_icons.scss */\n.fi-airplay:before {\n  content: \"\"; }\n\n/* line 13, src/styles/components/icons/_icons.scss */\n.fi-alarm:before {\n  content: \"\"; }\n\n/* line 18, src/styles/components/icons/_icons.scss */\n.fi-album:before {\n  content: \"\"; }\n\n/* line 23, src/styles/components/icons/_icons.scss */\n.fi-albums:before {\n  content: \"\"; }\n\n/* line 28, src/styles/components/icons/_icons.scss */\n.fi-amazon:before {\n  content: \"\"; }\n\n/* line 33, src/styles/components/icons/_icons.scss */\n.fi-anchor:before {\n  content: \"\"; }\n\n/* line 38, src/styles/components/icons/_icons.scss */\n.fi-angle-down:before {\n  content: \"\"; }\n\n/* line 43, src/styles/components/icons/_icons.scss */\n.fi-angle-down-circle:before {\n  content: \"\"; }\n\n/* line 48, src/styles/components/icons/_icons.scss */\n.fi-angle-left:before {\n  content: \"\"; }\n\n/* line 53, src/styles/components/icons/_icons.scss */\n.fi-angle-left-circle:before {\n  content: \"\"; }\n\n/* line 58, src/styles/components/icons/_icons.scss */\n.fi-angle-right:before {\n  content: \"\"; }\n\n/* line 63, src/styles/components/icons/_icons.scss */\n.fi-angle-right-circle:before {\n  content: \"\"; }\n\n/* line 68, src/styles/components/icons/_icons.scss */\n.fi-angle-up:before {\n  content: \"\"; }\n\n/* line 73, src/styles/components/icons/_icons.scss */\n.fi-angle-up-circle:before {\n  content: \"\"; }\n\n/* line 78, src/styles/components/icons/_icons.scss */\n.fi-arc:before {\n  content: \"\"; }\n\n/* line 83, src/styles/components/icons/_icons.scss */\n.fi-attention:before {\n  content: \"\"; }\n\n/* line 88, src/styles/components/icons/_icons.scss */\n.fi-back:before {\n  content: \"\"; }\n\n/* line 93, src/styles/components/icons/_icons.scss */\n.fi-back-2:before {\n  content: \"\"; }\n\n/* line 98, src/styles/components/icons/_icons.scss */\n.fi-ball:before {\n  content: \"\"; }\n\n/* line 103, src/styles/components/icons/_icons.scss */\n.fi-ban:before {\n  content: \"\"; }\n\n/* line 108, src/styles/components/icons/_icons.scss */\n.fi-bandaid:before {\n  content: \"\"; }\n\n/* line 113, src/styles/components/icons/_icons.scss */\n.fi-battery:before {\n  content: \"\"; }\n\n/* line 118, src/styles/components/icons/_icons.scss */\n.fi-bell:before {\n  content: \"\"; }\n\n/* line 123, src/styles/components/icons/_icons.scss */\n.fi-bicycle:before {\n  content: \"\"; }\n\n/* line 128, src/styles/components/icons/_icons.scss */\n.fi-bluetooth:before {\n  content: \"\"; }\n\n/* line 133, src/styles/components/icons/_icons.scss */\n.fi-bookmarks:before {\n  content: \"\"; }\n\n/* line 138, src/styles/components/icons/_icons.scss */\n.fi-bottom-arrow:before {\n  content: \"\"; }\n\n/* line 143, src/styles/components/icons/_icons.scss */\n.fi-box1:before {\n  content: \"\"; }\n\n/* line 148, src/styles/components/icons/_icons.scss */\n.fi-box2:before {\n  content: \"\"; }\n\n/* line 153, src/styles/components/icons/_icons.scss */\n.fi-browser:before {\n  content: \"\"; }\n\n/* line 158, src/styles/components/icons/_icons.scss */\n.fi-calculator:before {\n  content: \"\"; }\n\n/* line 163, src/styles/components/icons/_icons.scss */\n.fi-call:before {\n  content: \"\"; }\n\n/* line 168, src/styles/components/icons/_icons.scss */\n.fi-camera:before {\n  content: \"\"; }\n\n/* line 173, src/styles/components/icons/_icons.scss */\n.fi-car:before {\n  content: \"\"; }\n\n/* line 178, src/styles/components/icons/_icons.scss */\n.fi-cart:before {\n  content: \"\"; }\n\n/* line 183, src/styles/components/icons/_icons.scss */\n.fi-cart-add:before {\n  content: \"\"; }\n\n/* line 188, src/styles/components/icons/_icons.scss */\n.fi-cart-empty:before {\n  content: \"\"; }\n\n/* line 193, src/styles/components/icons/_icons.scss */\n.fi-cart-fast:before {\n  content: \"\"; }\n\n/* line 198, src/styles/components/icons/_icons.scss */\n.fi-cart-hand:before {\n  content: \"\"; }\n\n/* line 203, src/styles/components/icons/_icons.scss */\n.fi-cart-move:before {\n  content: \"\"; }\n\n/* line 208, src/styles/components/icons/_icons.scss */\n.fi-cart-new:before {\n  content: \"\"; }\n\n/* line 213, src/styles/components/icons/_icons.scss */\n.fi-cash:before {\n  content: \"\"; }\n\n/* line 218, src/styles/components/icons/_icons.scss */\n.fi-chat:before {\n  content: \"\"; }\n\n/* line 223, src/styles/components/icons/_icons.scss */\n.fi-check:before {\n  content: \"\"; }\n\n/* line 228, src/styles/components/icons/_icons.scss */\n.fi-check-2:before {\n  content: \"\"; }\n\n/* line 233, src/styles/components/icons/_icons.scss */\n.fi-checkout:before {\n  content: \"\"; }\n\n/* line 238, src/styles/components/icons/_icons.scss */\n.fi-check-strong:before {\n  content: \"\"; }\n\n/* line 243, src/styles/components/icons/_icons.scss */\n.fi-clock:before {\n  content: \"\"; }\n\n/* line 248, src/styles/components/icons/_icons.scss */\n.fi-close:before {\n  content: \"\"; }\n\n/* line 253, src/styles/components/icons/_icons.scss */\n.fi-close-circle:before {\n  content: \"\"; }\n\n/* line 258, src/styles/components/icons/_icons.scss */\n.fi-cloud:before {\n  content: \"\"; }\n\n/* line 263, src/styles/components/icons/_icons.scss */\n.fi-cloud-download:before {\n  content: \"\"; }\n\n/* line 268, src/styles/components/icons/_icons.scss */\n.fi-cloud-upload:before {\n  content: \"\"; }\n\n/* line 273, src/styles/components/icons/_icons.scss */\n.fi-coffee:before {\n  content: \"\"; }\n\n/* line 278, src/styles/components/icons/_icons.scss */\n.fi-comment:before {\n  content: \"\"; }\n\n/* line 283, src/styles/components/icons/_icons.scss */\n.fi-compass:before {\n  content: \"\"; }\n\n/* line 288, src/styles/components/icons/_icons.scss */\n.fi-config:before {\n  content: \"\"; }\n\n/* line 293, src/styles/components/icons/_icons.scss */\n.fi-copy-file:before {\n  content: \"\"; }\n\n/* line 298, src/styles/components/icons/_icons.scss */\n.fi-credit:before {\n  content: \"\"; }\n\n/* line 303, src/styles/components/icons/_icons.scss */\n.fi-crop:before {\n  content: \"\"; }\n\n/* line 308, src/styles/components/icons/_icons.scss */\n.fi-culture:before {\n  content: \"\"; }\n\n/* line 313, src/styles/components/icons/_icons.scss */\n.fi-cup:before {\n  content: \"\"; }\n\n/* line 318, src/styles/components/icons/_icons.scss */\n.fi-custom-product:before {\n  content: \"\"; }\n\n/* line 323, src/styles/components/icons/_icons.scss */\n.fi-date:before {\n  content: \"\"; }\n\n/* line 328, src/styles/components/icons/_icons.scss */\n.fi-delete-user:before {\n  content: \"\"; }\n\n/* line 333, src/styles/components/icons/_icons.scss */\n.fi-diamond:before {\n  content: \"\"; }\n\n/* line 338, src/styles/components/icons/_icons.scss */\n.fi-disk:before {\n  content: \"\"; }\n\n/* line 343, src/styles/components/icons/_icons.scss */\n.fi-diskette:before {\n  content: \"\"; }\n\n/* line 348, src/styles/components/icons/_icons.scss */\n.fi-display1:before {\n  content: \"\"; }\n\n/* line 353, src/styles/components/icons/_icons.scss */\n.fi-display2:before {\n  content: \"\"; }\n\n/* line 358, src/styles/components/icons/_icons.scss */\n.fi-door-lock:before {\n  content: \"\"; }\n\n/* line 363, src/styles/components/icons/_icons.scss */\n.fi-down-arrow-2:before {\n  content: \"\"; }\n\n/* line 368, src/styles/components/icons/_icons.scss */\n.fi-down-arrow-3:before {\n  content: \"\"; }\n\n/* line 373, src/styles/components/icons/_icons.scss */\n.fi-download:before {\n  content: \"\"; }\n\n/* line 378, src/styles/components/icons/_icons.scss */\n.fi-drawer:before {\n  content: \"\"; }\n\n/* line 383, src/styles/components/icons/_icons.scss */\n.fi-drop:before {\n  content: \"\"; }\n\n/* line 388, src/styles/components/icons/_icons.scss */\n.fi-edit:before {\n  content: \"\"; }\n\n/* line 393, src/styles/components/icons/_icons.scss */\n.fi-email:before {\n  content: \"\"; }\n\n/* line 398, src/styles/components/icons/_icons.scss */\n.fi-envelope:before {\n  content: \"\"; }\n\n/* line 403, src/styles/components/icons/_icons.scss */\n.fi-etsy:before {\n  content: \"\"; }\n\n/* line 408, src/styles/components/icons/_icons.scss */\n.fi-exapnd2:before {\n  content: \"\"; }\n\n/* line 413, src/styles/components/icons/_icons.scss */\n.fi-expand1:before {\n  content: \"\"; }\n\n/* line 418, src/styles/components/icons/_icons.scss */\n.fi-eyedropper:before {\n  content: \"\"; }\n\n/* line 423, src/styles/components/icons/_icons.scss */\n.fi-facebook:before {\n  content: \"\"; }\n\n/* line 428, src/styles/components/icons/_icons.scss */\n.fi-facebook-2:before {\n  content: \"\"; }\n\n/* line 433, src/styles/components/icons/_icons.scss */\n.fi-favorites:before {\n  content: \"\"; }\n\n/* line 438, src/styles/components/icons/_icons.scss */\n.fi-favorites-added:before {\n  content: \"\"; }\n\n/* line 443, src/styles/components/icons/_icons.scss */\n.fi-favorites-list:before {\n  content: \"\"; }\n\n/* line 448, src/styles/components/icons/_icons.scss */\n.fi-female:before {\n  content: \"\"; }\n\n/* line 453, src/styles/components/icons/_icons.scss */\n.fi-file:before {\n  content: \"\"; }\n\n/* line 458, src/styles/components/icons/_icons.scss */\n.fi-film:before {\n  content: \"\"; }\n\n/* line 463, src/styles/components/icons/_icons.scss */\n.fi-filter:before {\n  content: \"\"; }\n\n/* line 468, src/styles/components/icons/_icons.scss */\n.fi-flag:before {\n  content: \"\"; }\n\n/* line 473, src/styles/components/icons/_icons.scss */\n.fi-folder:before {\n  content: \"\"; }\n\n/* line 478, src/styles/components/icons/_icons.scss */\n.fi-gift:before {\n  content: \"\"; }\n\n/* line 483, src/styles/components/icons/_icons.scss */\n.fi-glasses:before {\n  content: \"\"; }\n\n/* line 488, src/styles/components/icons/_icons.scss */\n.fi-gleam:before {\n  content: \"\"; }\n\n/* line 493, src/styles/components/icons/_icons.scss */\n.fi-global:before {\n  content: \"\"; }\n\n/* line 498, src/styles/components/icons/_icons.scss */\n.fi-graph:before {\n  content: \"\"; }\n\n/* line 503, src/styles/components/icons/_icons.scss */\n.fi-graph1:before {\n  content: \"\"; }\n\n/* line 508, src/styles/components/icons/_icons.scss */\n.fi-graph2:before {\n  content: \"\"; }\n\n/* line 513, src/styles/components/icons/_icons.scss */\n.fi-graph3:before {\n  content: \"\"; }\n\n/* line 518, src/styles/components/icons/_icons.scss */\n.fi-gym:before {\n  content: \"\"; }\n\n/* line 523, src/styles/components/icons/_icons.scss */\n.fi-hammer:before {\n  content: \"\"; }\n\n/* line 528, src/styles/components/icons/_icons.scss */\n.fi-headphones:before {\n  content: \"\"; }\n\n/* line 533, src/styles/components/icons/_icons.scss */\n.fi-helm:before {\n  content: \"\"; }\n\n/* line 538, src/styles/components/icons/_icons.scss */\n.fi-help1:before {\n  content: \"\"; }\n\n/* line 543, src/styles/components/icons/_icons.scss */\n.fi-help2:before {\n  content: \"\"; }\n\n/* line 548, src/styles/components/icons/_icons.scss */\n.fi-home:before {\n  content: \"\"; }\n\n/* line 553, src/styles/components/icons/_icons.scss */\n.fi-home-new:before {\n  content: \"\"; }\n\n/* line 558, src/styles/components/icons/_icons.scss */\n.fi-hourglass:before {\n  content: \"\"; }\n\n/* line 563, src/styles/components/icons/_icons.scss */\n.fi-id:before {\n  content: \"\"; }\n\n/* line 568, src/styles/components/icons/_icons.scss */\n.fi-idea:before {\n  content: \"\"; }\n\n/* line 573, src/styles/components/icons/_icons.scss */\n.fi-idea-diy:before {\n  content: \"\"; }\n\n/* line 578, src/styles/components/icons/_icons.scss */\n.fi-info:before {\n  content: \"\"; }\n\n/* line 583, src/styles/components/icons/_icons.scss */\n.fi-instagram:before {\n  content: \"\"; }\n\n/* line 588, src/styles/components/icons/_icons.scss */\n.fi-joy:before {\n  content: \"\"; }\n\n/* line 593, src/styles/components/icons/_icons.scss */\n.fi-junk:before {\n  content: \"\"; }\n\n/* line 598, src/styles/components/icons/_icons.scss */\n.fi-key:before {\n  content: \"\"; }\n\n/* line 603, src/styles/components/icons/_icons.scss */\n.fi-keypad:before {\n  content: \"\"; }\n\n/* line 608, src/styles/components/icons/_icons.scss */\n.fi-leaf:before {\n  content: \"\"; }\n\n/* line 613, src/styles/components/icons/_icons.scss */\n.fi-left-arrow:before {\n  content: \"\"; }\n\n/* line 618, src/styles/components/icons/_icons.scss */\n.fi-left-arrow-2:before {\n  content: \"\"; }\n\n/* line 623, src/styles/components/icons/_icons.scss */\n.fi-left-arrow-3:before {\n  content: \"\"; }\n\n/* line 628, src/styles/components/icons/_icons.scss */\n.fi-less:before {\n  content: \"\"; }\n\n/* line 633, src/styles/components/icons/_icons.scss */\n.fi-less-2:before {\n  content: \"\"; }\n\n/* line 638, src/styles/components/icons/_icons.scss */\n.fi-light:before {\n  content: \"\"; }\n\n/* line 643, src/styles/components/icons/_icons.scss */\n.fi-like:before {\n  content: \"\"; }\n\n/* line 648, src/styles/components/icons/_icons.scss */\n.fi-like2:before {\n  content: \"\"; }\n\n/* line 653, src/styles/components/icons/_icons.scss */\n.fi-like-solid:before {\n  content: \"\"; }\n\n/* line 658, src/styles/components/icons/_icons.scss */\n.fi-link:before {\n  content: \"\"; }\n\n/* line 663, src/styles/components/icons/_icons.scss */\n.fi-linkedin:before {\n  content: \"\"; }\n\n/* line 668, src/styles/components/icons/_icons.scss */\n.fi-linkedin-2:before {\n  content: \"\"; }\n\n/* line 673, src/styles/components/icons/_icons.scss */\n.fi-lintern:before {\n  content: \"\"; }\n\n/* line 678, src/styles/components/icons/_icons.scss */\n.fi-loading:before {\n  content: \"\"; }\n\n/* line 683, src/styles/components/icons/_icons.scss */\n.fi-loading2:before {\n  content: \"\"; }\n\n/* line 688, src/styles/components/icons/_icons.scss */\n.fi-loading3:before {\n  content: \"\"; }\n\n/* line 693, src/styles/components/icons/_icons.scss */\n.fi-loading4:before {\n  content: \"\"; }\n\n/* line 698, src/styles/components/icons/_icons.scss */\n.fi-lock:before {\n  content: \"\"; }\n\n/* line 703, src/styles/components/icons/_icons.scss */\n.fi-log-out:before {\n  content: \"\"; }\n\n/* line 708, src/styles/components/icons/_icons.scss */\n.fi-look:before {\n  content: \"\"; }\n\n/* line 713, src/styles/components/icons/_icons.scss */\n.fi-loop:before {\n  content: \"\"; }\n\n/* line 718, src/styles/components/icons/_icons.scss */\n.fi-magic-wand:before {\n  content: \"\"; }\n\n/* line 723, src/styles/components/icons/_icons.scss */\n.fi-magnet:before {\n  content: \"\"; }\n\n/* line 728, src/styles/components/icons/_icons.scss */\n.fi-mail:before {\n  content: \"\"; }\n\n/* line 733, src/styles/components/icons/_icons.scss */\n.fi-mail-open:before {\n  content: \"\"; }\n\n/* line 738, src/styles/components/icons/_icons.scss */\n.fi-mail-open-file:before {\n  content: \"\"; }\n\n/* line 743, src/styles/components/icons/_icons.scss */\n.fi-male:before {\n  content: \"\"; }\n\n/* line 748, src/styles/components/icons/_icons.scss */\n.fi-map:before {\n  content: \"\"; }\n\n/* line 753, src/styles/components/icons/_icons.scss */\n.fi-map-2:before {\n  content: \"\"; }\n\n/* line 758, src/styles/components/icons/_icons.scss */\n.fi-map-marker:before {\n  content: \"\"; }\n\n/* line 763, src/styles/components/icons/_icons.scss */\n.fi-map-marker-2:before {\n  content: \"\"; }\n\n/* line 768, src/styles/components/icons/_icons.scss */\n.fi-medal:before {\n  content: \"\"; }\n\n/* line 773, src/styles/components/icons/_icons.scss */\n.fi-menu:before {\n  content: \"\"; }\n\n/* line 778, src/styles/components/icons/_icons.scss */\n.fi-micro:before {\n  content: \"\"; }\n\n/* line 783, src/styles/components/icons/_icons.scss */\n.fi-monitor:before {\n  content: \"\"; }\n\n/* line 788, src/styles/components/icons/_icons.scss */\n.fi-moon:before {\n  content: \"\"; }\n\n/* line 793, src/styles/components/icons/_icons.scss */\n.fi-more:before {\n  content: \"\"; }\n\n/* line 798, src/styles/components/icons/_icons.scss */\n.fi-mouse:before {\n  content: \"\"; }\n\n/* line 803, src/styles/components/icons/_icons.scss */\n.fi-music:before {\n  content: \"\"; }\n\n/* line 808, src/styles/components/icons/_icons.scss */\n.fi-musiclist:before {\n  content: \"\"; }\n\n/* line 813, src/styles/components/icons/_icons.scss */\n.fi-mute:before {\n  content: \"\"; }\n\n/* line 818, src/styles/components/icons/_icons.scss */\n.fi-network:before {\n  content: \"\"; }\n\n/* line 823, src/styles/components/icons/_icons.scss */\n.fi-news-paper:before {\n  content: \"\"; }\n\n/* line 828, src/styles/components/icons/_icons.scss */\n.fi-next:before {\n  content: \"\"; }\n\n/* line 833, src/styles/components/icons/_icons.scss */\n.fi-next-2:before {\n  content: \"\"; }\n\n/* line 838, src/styles/components/icons/_icons.scss */\n.fi-note:before {\n  content: \"\"; }\n\n/* line 843, src/styles/components/icons/_icons.scss */\n.fi-note2:before {\n  content: \"\"; }\n\n/* line 848, src/styles/components/icons/_icons.scss */\n.fi-notebook:before {\n  content: \"\"; }\n\n/* line 853, src/styles/components/icons/_icons.scss */\n.fi-paint:before {\n  content: \"\"; }\n\n/* line 858, src/styles/components/icons/_icons.scss */\n.fi-paint-bucket:before {\n  content: \"\"; }\n\n/* line 863, src/styles/components/icons/_icons.scss */\n.fi-paperclip:before {\n  content: \"\"; }\n\n/* line 868, src/styles/components/icons/_icons.scss */\n.fi-paper-plane:before {\n  content: \"\"; }\n\n/* line 873, src/styles/components/icons/_icons.scss */\n.fi-pen:before {\n  content: \"\"; }\n\n/* line 878, src/styles/components/icons/_icons.scss */\n.fi-pendrive:before {\n  content: \"\"; }\n\n/* line 883, src/styles/components/icons/_icons.scss */\n.fi-phone:before {\n  content: \"\"; }\n\n/* line 888, src/styles/components/icons/_icons.scss */\n.fi-phone-new:before {\n  content: \"\"; }\n\n/* line 893, src/styles/components/icons/_icons.scss */\n.fi-photo:before {\n  content: \"\"; }\n\n/* line 898, src/styles/components/icons/_icons.scss */\n.fi-photo-gallery:before {\n  content: \"\"; }\n\n/* line 903, src/styles/components/icons/_icons.scss */\n.fi-piggy:before {\n  content: \"\"; }\n\n/* line 908, src/styles/components/icons/_icons.scss */\n.fi-pin:before {\n  content: \"\"; }\n\n/* line 913, src/styles/components/icons/_icons.scss */\n.fi-pinterest:before {\n  content: \"\"; }\n\n/* line 918, src/styles/components/icons/_icons.scss */\n.fi-pinterest-2:before {\n  content: \"\"; }\n\n/* line 923, src/styles/components/icons/_icons.scss */\n.fi-plane:before {\n  content: \"\"; }\n\n/* line 928, src/styles/components/icons/_icons.scss */\n.fi-play:before {\n  content: \"\"; }\n\n/* line 933, src/styles/components/icons/_icons.scss */\n.fi-play-2:before {\n  content: \"\"; }\n\n/* line 938, src/styles/components/icons/_icons.scss */\n.fi-plug:before {\n  content: \"\"; }\n\n/* line 943, src/styles/components/icons/_icons.scss */\n.fi-plugin:before {\n  content: \"\"; }\n\n/* line 948, src/styles/components/icons/_icons.scss */\n.fi-plus:before {\n  content: \"\"; }\n\n/* line 953, src/styles/components/icons/_icons.scss */\n.fi-plus-2:before {\n  content: \"\"; }\n\n/* line 958, src/styles/components/icons/_icons.scss */\n.fi-portfolio:before {\n  content: \"\"; }\n\n/* line 963, src/styles/components/icons/_icons.scss */\n.fi-post:before {\n  content: \"\"; }\n\n/* line 968, src/styles/components/icons/_icons.scss */\n.fi-power:before {\n  content: \"\"; }\n\n/* line 973, src/styles/components/icons/_icons.scss */\n.fi-prev:before {\n  content: \"\"; }\n\n/* line 978, src/styles/components/icons/_icons.scss */\n.fi-print:before {\n  content: \"\"; }\n\n/* line 983, src/styles/components/icons/_icons.scss */\n.fi-product-empty:before {\n  content: \"\"; }\n\n/* line 988, src/styles/components/icons/_icons.scss */\n.fi-radio:before {\n  content: \"\"; }\n\n/* line 993, src/styles/components/icons/_icons.scss */\n.fi-refresh:before {\n  content: \"\"; }\n\n/* line 998, src/styles/components/icons/_icons.scss */\n.fi-refresh-2:before {\n  content: \"\"; }\n\n/* line 1003, src/styles/components/icons/_icons.scss */\n.fi-refresh-cloud:before {\n  content: \"\"; }\n\n/* line 1008, src/styles/components/icons/_icons.scss */\n.fi-repeat:before {\n  content: \"\"; }\n\n/* line 1013, src/styles/components/icons/_icons.scss */\n.fi-ribbon:before {\n  content: \"\"; }\n\n/* line 1018, src/styles/components/icons/_icons.scss */\n.fi-right-arrow:before {\n  content: \"\"; }\n\n/* line 1023, src/styles/components/icons/_icons.scss */\n.fi-right-arrow-2:before {\n  content: \"\"; }\n\n/* line 1028, src/styles/components/icons/_icons.scss */\n.fi-right-arrow-3:before {\n  content: \"\"; }\n\n/* line 1033, src/styles/components/icons/_icons.scss */\n.fi-rocket:before {\n  content: \"\"; }\n\n/* line 1038, src/styles/components/icons/_icons.scss */\n.fi-safe:before {\n  content: \"\"; }\n\n/* line 1043, src/styles/components/icons/_icons.scss */\n.fi-science:before {\n  content: \"\"; }\n\n/* line 1048, src/styles/components/icons/_icons.scss */\n.fi-scissors:before {\n  content: \"\"; }\n\n/* line 1053, src/styles/components/icons/_icons.scss */\n.fi-search:before {\n  content: \"\"; }\n\n/* line 1058, src/styles/components/icons/_icons.scss */\n.fi-search-new:before {\n  content: \"\"; }\n\n/* line 1063, src/styles/components/icons/_icons.scss */\n.fi-send:before {\n  content: \"\"; }\n\n/* line 1068, src/styles/components/icons/_icons.scss */\n.fi-server:before {\n  content: \"\"; }\n\n/* line 1073, src/styles/components/icons/_icons.scss */\n.fi-settings:before {\n  content: \"\"; }\n\n/* line 1078, src/styles/components/icons/_icons.scss */\n.fi-share:before {\n  content: \"\"; }\n\n/* line 1083, src/styles/components/icons/_icons.scss */\n.fi-shield:before {\n  content: \"\"; }\n\n/* line 1088, src/styles/components/icons/_icons.scss */\n.fi-shipping:before {\n  content: \"\"; }\n\n/* line 1093, src/styles/components/icons/_icons.scss */\n.fi-shipping-free:before {\n  content: \"\"; }\n\n/* line 1098, src/styles/components/icons/_icons.scss */\n.fi-shopbag:before {\n  content: \"\"; }\n\n/* line 1103, src/styles/components/icons/_icons.scss */\n.fi-shuffle:before {\n  content: \"\"; }\n\n/* line 1108, src/styles/components/icons/_icons.scss */\n.fi-signal:before {\n  content: \"\"; }\n\n/* line 1113, src/styles/components/icons/_icons.scss */\n.fi-signout:before {\n  content: \"\"; }\n\n/* line 1118, src/styles/components/icons/_icons.scss */\n.fi-smile:before {\n  content: \"\"; }\n\n/* line 1123, src/styles/components/icons/_icons.scss */\n.fi-speaker:before {\n  content: \"\"; }\n\n/* line 1128, src/styles/components/icons/_icons.scss */\n.fi-star:before {\n  content: \"\"; }\n\n/* line 1133, src/styles/components/icons/_icons.scss */\n.fi-stopwatch:before {\n  content: \"\"; }\n\n/* line 1138, src/styles/components/icons/_icons.scss */\n.fi-study:before {\n  content: \"\"; }\n\n/* line 1143, src/styles/components/icons/_icons.scss */\n.fi-sun:before {\n  content: \"\"; }\n\n/* line 1148, src/styles/components/icons/_icons.scss */\n.fi-switch:before {\n  content: \"\"; }\n\n/* line 1153, src/styles/components/icons/_icons.scss */\n.fi-tag:before {\n  content: \"\"; }\n\n/* line 1158, src/styles/components/icons/_icons.scss */\n.fi-tags:before {\n  content: \"\"; }\n\n/* line 1163, src/styles/components/icons/_icons.scss */\n.fi-target:before {\n  content: \"\"; }\n\n/* line 1168, src/styles/components/icons/_icons.scss */\n.fi-ticket:before {\n  content: \"\"; }\n\n/* line 1173, src/styles/components/icons/_icons.scss */\n.fi-timer:before {\n  content: \"\"; }\n\n/* line 1178, src/styles/components/icons/_icons.scss */\n.fi-tools:before {\n  content: \"\"; }\n\n/* line 1183, src/styles/components/icons/_icons.scss */\n.fi-track-order:before {\n  content: \"\"; }\n\n/* line 1188, src/styles/components/icons/_icons.scss */\n.fi-trash:before {\n  content: \"\"; }\n\n/* line 1193, src/styles/components/icons/_icons.scss */\n.fi-trolley:before {\n  content: \"\"; }\n\n/* line 1198, src/styles/components/icons/_icons.scss */\n.fi-twitter:before {\n  content: \"\"; }\n\n/* line 1203, src/styles/components/icons/_icons.scss */\n.fi-umbrella:before {\n  content: \"\"; }\n\n/* line 1208, src/styles/components/icons/_icons.scss */\n.fi-unlock:before {\n  content: \"\"; }\n\n/* line 1213, src/styles/components/icons/_icons.scss */\n.fi-up-arrow:before {\n  content: \"\"; }\n\n/* line 1218, src/styles/components/icons/_icons.scss */\n.fi-up-arrow-2:before {\n  content: \"\"; }\n\n/* line 1223, src/styles/components/icons/_icons.scss */\n.fi-up-arrow-3:before {\n  content: \"\"; }\n\n/* line 1228, src/styles/components/icons/_icons.scss */\n.fi-upload:before {\n  content: \"\"; }\n\n/* line 1233, src/styles/components/icons/_icons.scss */\n.fi-usb:before {\n  content: \"\"; }\n\n/* line 1238, src/styles/components/icons/_icons.scss */\n.fi-user:before {\n  content: \"\"; }\n\n/* line 1243, src/styles/components/icons/_icons.scss */\n.fi-user-edit-new:before {\n  content: \"\"; }\n\n/* line 1248, src/styles/components/icons/_icons.scss */\n.fi-user-female:before {\n  content: \"\"; }\n\n/* line 1253, src/styles/components/icons/_icons.scss */\n.fi-user-new:before {\n  content: \"\"; }\n\n/* line 1258, src/styles/components/icons/_icons.scss */\n.fi-users:before {\n  content: \"\"; }\n\n/* line 1263, src/styles/components/icons/_icons.scss */\n.fi-vector:before {\n  content: \"\"; }\n\n/* line 1268, src/styles/components/icons/_icons.scss */\n.fi-video:before {\n  content: \"\"; }\n\n/* line 1273, src/styles/components/icons/_icons.scss */\n.fi-voicemail:before {\n  content: \"\"; }\n\n/* line 1278, src/styles/components/icons/_icons.scss */\n.fi-volume:before {\n  content: \"\"; }\n\n/* line 1283, src/styles/components/icons/_icons.scss */\n.fi-volume1:before {\n  content: \"\"; }\n\n/* line 1288, src/styles/components/icons/_icons.scss */\n.fi-volume2:before {\n  content: \"\"; }\n\n/* line 1293, src/styles/components/icons/_icons.scss */\n.fi-wallet:before {\n  content: \"\"; }\n\n/* line 1298, src/styles/components/icons/_icons.scss */\n.fi-way:before {\n  content: \"\"; }\n\n/* line 1303, src/styles/components/icons/_icons.scss */\n.fi-wine:before {\n  content: \"\"; }\n\n/* line 1308, src/styles/components/icons/_icons.scss */\n.fi-world:before {\n  content: \"\"; }\n\n/* line 1313, src/styles/components/icons/_icons.scss */\n.fi-wristwatch:before {\n  content: \"\"; }\n\n/* line 1318, src/styles/components/icons/_icons.scss */\n.fi-youtube:before {\n  content: \"\"; }\n\n/* line 1325, src/styles/components/icons/_icons.scss */\n.fi-credit-card:before {\n  content: \"\"; }\n\n/* line 1330, src/styles/components/icons/_icons.scss */\n.fi-eye:before {\n  content: \"\"; }\n\n/* stylelint-enable */\n/* line 6, src/styles/components/_buttons.scss */\n.button-link {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  border: 1px solid #1779ba;\n  color: #1779ba;\n  margin: 0;\n  padding: 0; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .button-link {\n    outline: 0; }\n  /* line 161, node_modules/foundation-sites/scss/components/_button.scss */\n  .button-link, .button-link:hover, .button-link:focus {\n    background-color: transparent; }\n  /* line 169, node_modules/foundation-sites/scss/components/_button.scss */\n  .button-link.disabled, .button-link.disabled:hover, .button-link.disabled:focus, .button-link[disabled], .button-link[disabled]:hover, .button-link[disabled]:focus {\n    background-color: transparent; }\n  /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n  .button-link:hover, .button-link:focus {\n    border-color: #0c3d5d;\n    color: #0c3d5d; }\n    /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-link:hover.disabled, .button-link:hover[disabled], .button-link:focus.disabled, .button-link:focus[disabled] {\n      border: 1px solid #1779ba;\n      color: #1779ba; }\n  /* line 11, src/styles/components/_buttons.scss */\n  .button-link.tiny {\n    font-size: 0.6rem; }\n  /* line 11, src/styles/components/_buttons.scss */\n  .button-link.small {\n    font-size: 0.75rem; }\n  /* line 11, src/styles/components/_buttons.scss */\n  .button-link.large {\n    font-size: 1.25rem; }\n  /* line 18, src/styles/components/_buttons.scss */\n  .button-link.primary {\n    border: 1px solid #1779ba;\n    color: #1779ba; }\n    /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-link.primary:hover, .button-link.primary:focus {\n      border-color: #0c3d5d;\n      color: #0c3d5d; }\n      /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n      .button-link.primary:hover.disabled, .button-link.primary:hover[disabled], .button-link.primary:focus.disabled, .button-link.primary:focus[disabled] {\n        border: 1px solid #1779ba;\n        color: #1779ba; }\n  /* line 18, src/styles/components/_buttons.scss */\n  .button-link.secondary {\n    border: 1px solid #767676;\n    color: #767676; }\n    /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-link.secondary:hover, .button-link.secondary:focus {\n      border-color: #3b3b3b;\n      color: #3b3b3b; }\n      /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n      .button-link.secondary:hover.disabled, .button-link.secondary:hover[disabled], .button-link.secondary:focus.disabled, .button-link.secondary:focus[disabled] {\n        border: 1px solid #767676;\n        color: #767676; }\n  /* line 18, src/styles/components/_buttons.scss */\n  .button-link.success {\n    border: 1px solid #18a733;\n    color: #18a733; }\n    /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-link.success:hover, .button-link.success:focus {\n      border-color: #0c541a;\n      color: #0c541a; }\n      /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n      .button-link.success:hover.disabled, .button-link.success:hover[disabled], .button-link.success:focus.disabled, .button-link.success:focus[disabled] {\n        border: 1px solid #18a733;\n        color: #18a733; }\n  /* line 18, src/styles/components/_buttons.scss */\n  .button-link.warning {\n    border: 1px solid #ffae00;\n    color: #ffae00; }\n    /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-link.warning:hover, .button-link.warning:focus {\n      border-color: #805700;\n      color: #805700; }\n      /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n      .button-link.warning:hover.disabled, .button-link.warning:hover[disabled], .button-link.warning:focus.disabled, .button-link.warning:focus[disabled] {\n        border: 1px solid #ffae00;\n        color: #ffae00; }\n  /* line 18, src/styles/components/_buttons.scss */\n  .button-link.alert {\n    border: 1px solid #cc4b37;\n    color: #cc4b37; }\n    /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n    .button-link.alert:hover, .button-link.alert:focus {\n      border-color: #67251a;\n      color: #67251a; }\n      /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n      .button-link.alert:hover.disabled, .button-link.alert:hover[disabled], .button-link.alert:focus.disabled, .button-link.alert:focus[disabled] {\n        border: 1px solid #cc4b37;\n        color: #cc4b37; }\n  /* line 26, src/styles/components/_buttons.scss */\n  .button-link, .button-link:hover, .button-link:focus {\n    border-color: transparent;\n    outline: none; }\n    /* line 32, src/styles/components/_buttons.scss */\n    .button-link.disabled, .button-link[disabled], .button-link:hover.disabled, .button-link:hover[disabled], .button-link:focus.disabled, .button-link:focus[disabled] {\n      border-color: transparent;\n      outline: none; }\n\n/** Search form */\n/* line 10, src/styles/components/_form.scss */\n.search-form label {\n  font-weight: normal; }\n\n/* line 18, src/styles/components/_form.scss */\n.search-form .search-submit {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #767676;\n  color: #fefefe; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .search-form .search-submit {\n    outline: 0; }\n  /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n  .search-form .search-submit:hover, .search-form .search-submit:focus {\n    background-color: #5e5e5e;\n    color: #fefefe; }\n\n/* line 10, src/styles/components/_ng-form.scss */\n.radio label,\n.checkbox label {\n  line-height: 1.2; }\n  /* line 13, src/styles/components/_ng-form.scss */\n  .radio label::after,\n  .checkbox label::after {\n    line-height: 1.8; }\n\n/* stylelint-disable */\n/* line 24, src/styles/components/_ng-form.scss */\nform select.ng-touched.ng-invalid,\nform textarea.ng-touched.ng-invalid,\nform input.ng-touched.ng-invalid:not(.input-qty),\nng-form select.ng-touched.ng-invalid,\nng-form textarea.ng-touched.ng-invalid,\nng-form input.ng-touched.ng-invalid:not(.input-qty),\n.form select.ng-touched.ng-invalid,\n.form textarea.ng-touched.ng-invalid,\n.form input.ng-touched.ng-invalid:not(.input-qty),\n.ng-form select.ng-touched.ng-invalid,\n.ng-form textarea.ng-touched.ng-invalid,\n.ng-form input.ng-touched.ng-invalid:not(.input-qty) {\n  border-color: #cc4b37;\n  background-color: #fcf3f2; }\n\n/* line 33, src/styles/components/_ng-form.scss */\nform .ui-select-container.ng-touched.ng-invalid .ui-select-toggle,\nng-form .ui-select-container.ng-touched.ng-invalid .ui-select-toggle,\n.form .ui-select-container.ng-touched.ng-invalid .ui-select-toggle,\n.ng-form .ui-select-container.ng-touched.ng-invalid .ui-select-toggle {\n  border-color: #cc4b37;\n  background-color: #fcf3f2; }\n\n/* line 39, src/styles/components/_ng-form.scss */\nform select.ng-touched.ng-valid,\nform textarea.ng-touched.ng-valid,\nform input.ng-touched.ng-valid:not(.input-qty),\nng-form select.ng-touched.ng-valid,\nng-form textarea.ng-touched.ng-valid,\nng-form input.ng-touched.ng-valid:not(.input-qty),\n.form select.ng-touched.ng-valid,\n.form textarea.ng-touched.ng-valid,\n.form input.ng-touched.ng-valid:not(.input-qty),\n.ng-form select.ng-touched.ng-valid,\n.ng-form textarea.ng-touched.ng-valid,\n.ng-form input.ng-touched.ng-valid:not(.input-qty) {\n  border-color: #18a733; }\n  /* line 44, src/styles/components/_ng-form.scss */\n  form select.ng-touched.ng-valid.ng-empty,\n  form textarea.ng-touched.ng-valid.ng-empty,\n  form input.ng-touched.ng-valid:not(.input-qty).ng-empty,\n  ng-form select.ng-touched.ng-valid.ng-empty,\n  ng-form textarea.ng-touched.ng-valid.ng-empty,\n  ng-form input.ng-touched.ng-valid:not(.input-qty).ng-empty,\n  .form select.ng-touched.ng-valid.ng-empty,\n  .form textarea.ng-touched.ng-valid.ng-empty,\n  .form input.ng-touched.ng-valid:not(.input-qty).ng-empty,\n  .ng-form select.ng-touched.ng-valid.ng-empty,\n  .ng-form textarea.ng-touched.ng-valid.ng-empty,\n  .ng-form input.ng-touched.ng-valid:not(.input-qty).ng-empty {\n    border-color: inherit; }\n\n/* line 51, src/styles/components/_ng-form.scss */\nform .ui-select-container.ng-touched.ng-valid .ui-select-toggle,\nng-form .ui-select-container.ng-touched.ng-valid .ui-select-toggle,\n.form .ui-select-container.ng-touched.ng-valid .ui-select-toggle,\n.ng-form .ui-select-container.ng-touched.ng-valid .ui-select-toggle {\n  border-color: #18a733; }\n\n/* line 56, src/styles/components/_ng-form.scss */\nform .ui-select-container.ng-touched.ng-valid.ng-empty .ui-select-toggle,\nng-form .ui-select-container.ng-touched.ng-valid.ng-empty .ui-select-toggle,\n.form .ui-select-container.ng-touched.ng-valid.ng-empty .ui-select-toggle,\n.ng-form .ui-select-container.ng-touched.ng-valid.ng-empty .ui-select-toggle {\n  border-color: inherit; }\n\n/* line 65, src/styles/components/_ng-form.scss */\nform .radio input.ng-touched.ng-invalid-required ~ label::before,\nform .checkbox input.ng-touched.ng-invalid-required ~ label::before,\nng-form .radio input.ng-touched.ng-invalid-required ~ label::before,\nng-form .checkbox input.ng-touched.ng-invalid-required ~ label::before,\n.form .radio input.ng-touched.ng-invalid-required ~ label::before,\n.form .checkbox input.ng-touched.ng-invalid-required ~ label::before,\n.ng-form .radio input.ng-touched.ng-invalid-required ~ label::before,\n.ng-form .checkbox input.ng-touched.ng-invalid-required ~ label::before {\n  border-color: #cc4b37; }\n\n/* line 71, src/styles/components/_ng-form.scss */\nform .radio input.ng-touched.ng-valid-required ~ label::before,\nform .checkbox input.ng-touched.ng-valid-required ~ label::before,\nng-form .radio input.ng-touched.ng-valid-required ~ label::before,\nng-form .checkbox input.ng-touched.ng-valid-required ~ label::before,\n.form .radio input.ng-touched.ng-valid-required ~ label::before,\n.form .checkbox input.ng-touched.ng-valid-required ~ label::before,\n.ng-form .radio input.ng-touched.ng-valid-required ~ label::before,\n.ng-form .checkbox input.ng-touched.ng-valid-required ~ label::before {\n  border-color: #18a733; }\n\n/* line 79, src/styles/components/_ng-form.scss */\nform .input-group-field.ng-touched.ng-valid ~ .input-group-button .button, form .search-form .ng-touched.ng-valid.search-field ~ .input-group-button .button, .search-form form .ng-touched.ng-valid.search-field ~ .input-group-button .button,\nng-form .input-group-field.ng-touched.ng-valid ~ .input-group-button .button,\nng-form .search-form .ng-touched.ng-valid.search-field ~ .input-group-button .button,\n.search-form ng-form .ng-touched.ng-valid.search-field ~ .input-group-button .button,\n.form .input-group-field.ng-touched.ng-valid ~ .input-group-button .button,\n.form .search-form .ng-touched.ng-valid.search-field ~ .input-group-button .button,\n.search-form .form .ng-touched.ng-valid.search-field ~ .input-group-button .button,\n.ng-form .input-group-field.ng-touched.ng-valid ~ .input-group-button .button,\n.ng-form .search-form .ng-touched.ng-valid.search-field ~ .input-group-button .button,\n.search-form .ng-form .ng-touched.ng-valid.search-field ~ .input-group-button .button {\n  border-color: #18a733; }\n\n/* line 85, src/styles/components/_ng-form.scss */\nform .input-group-field.ng-touched.ng-invalid ~ .input-group-button .button, form .search-form .ng-touched.ng-invalid.search-field ~ .input-group-button .button, .search-form form .ng-touched.ng-invalid.search-field ~ .input-group-button .button,\nng-form .input-group-field.ng-touched.ng-invalid ~ .input-group-button .button,\nng-form .search-form .ng-touched.ng-invalid.search-field ~ .input-group-button .button,\n.search-form ng-form .ng-touched.ng-invalid.search-field ~ .input-group-button .button,\n.form .input-group-field.ng-touched.ng-invalid ~ .input-group-button .button,\n.form .search-form .ng-touched.ng-invalid.search-field ~ .input-group-button .button,\n.search-form .form .ng-touched.ng-invalid.search-field ~ .input-group-button .button,\n.ng-form .input-group-field.ng-touched.ng-invalid ~ .input-group-button .button,\n.ng-form .search-form .ng-touched.ng-invalid.search-field ~ .input-group-button .button,\n.search-form .ng-form .ng-touched.ng-invalid.search-field ~ .input-group-button .button {\n  border-color: #cc4b37; }\n\n/* line 91, src/styles/components/_ng-form.scss */\nform .input-group-field.ng-touched.ng-empty ~ .input-group-button .button, form .search-form .ng-touched.ng-empty.search-field ~ .input-group-button .button, .search-form form .ng-touched.ng-empty.search-field ~ .input-group-button .button,\nng-form .input-group-field.ng-touched.ng-empty ~ .input-group-button .button,\nng-form .search-form .ng-touched.ng-empty.search-field ~ .input-group-button .button,\n.search-form ng-form .ng-touched.ng-empty.search-field ~ .input-group-button .button,\n.form .input-group-field.ng-touched.ng-empty ~ .input-group-button .button,\n.form .search-form .ng-touched.ng-empty.search-field ~ .input-group-button .button,\n.search-form .form .ng-touched.ng-empty.search-field ~ .input-group-button .button,\n.ng-form .input-group-field.ng-touched.ng-empty ~ .input-group-button .button,\n.ng-form .search-form .ng-touched.ng-empty.search-field ~ .input-group-button .button,\n.search-form .ng-form .ng-touched.ng-empty.search-field ~ .input-group-button .button {\n  border-color: transparent; }\n\n/* stylelint-enable */\n/* line 8, src/styles/components/_comments.scss */\n.comment-list ol {\n  list-style: none; }\n\n/* line 12, src/styles/components/_comments.scss */\n.comment-form input[type=\"submit\"] {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #767676;\n  color: #fefefe; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .comment-form input[type=\"submit\"] {\n    outline: 0; }\n  /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n  .comment-form input[type=\"submit\"]:hover, .comment-form input[type=\"submit\"]:focus {\n    background-color: #5e5e5e;\n    color: #fefefe; }\n\n/* line 9, src/styles/components/_dropdown-menu.scss */\n.dropdown.menu > li.is-dropdown-submenu-parent > a::after {\n  content: \"\";\n  font-family: \"rc-base-icons\";\n  font-size: 1.5rem;\n  border: none;\n  right: 24px;\n  top: 0.5rem;\n  margin-top: 0; }\n\n/* line 23, src/styles/components/_dropdown-menu.scss */\n.dropdown.menu li.is-active, .dropdown.menu li:hover {\n  background-color: #1779ba;\n  transition: all linear 0.3s; }\n  /* line 29, src/styles/components/_dropdown-menu.scss */\n  .dropdown.menu li.is-active > a, .dropdown.menu li:hover > a {\n    color: #fefefe; }\n\n/* line 35, src/styles/components/_dropdown-menu.scss */\n.dropdown.menu .is-dropdown-submenu {\n  border: none;\n  box-shadow: 0 0 15px rgba(0, 0, 0, 0.25); }\n\n/* line 23, src/styles/components/_grid.scss */\n.main-header {\n  padding-right: 0;\n  padding-left: 0;\n  max-width: 100%;\n  margin-left: auto;\n  margin-right: auto; }\n\n/* line 39, src/styles/components/_grid.scss */\n.main-container {\n  padding-right: 0;\n  padding-left: 0;\n  max-width: 100%;\n  margin-left: auto;\n  margin-right: auto; }\n\n/* line 55, src/styles/components/_grid.scss */\n.main-grid {\n  display: flex;\n  flex-flow: row wrap;\n  margin-right: 0;\n  margin-left: 0;\n  margin-right: 0;\n  margin-left: 0; }\n  /* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .main-grid > main.collapse {\n    padding-right: 0;\n    padding-left: 0; }\n  /* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n  .main-grid > .sidebar.collapse {\n    padding-right: 0;\n    padding-left: 0; }\n\n/* line 61, src/styles/components/_grid.scss */\nmain,\n.sidebar {\n  width: 100%;\n  padding-right: 0.625rem;\n  padding-left: 0.625rem; }\n\n/* line 67, src/styles/components/_grid.scss */\n.sidebar-primary main {\n  width: 66.66667%;\n  padding-right: 0.625rem;\n  padding-left: 0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 67, src/styles/components/_grid.scss */\n    .sidebar-primary main {\n      flex: 1 1 0px;\n      width: auto;\n      padding-right: 0.9375rem;\n      padding-left: 0.9375rem; } }\n  @media print, screen and (min-width: 64em) {\n    /* line 67, src/styles/components/_grid.scss */\n    .sidebar-primary main {\n      flex: 1 1 0px;\n      width: auto;\n      padding-right: 0.9375rem;\n      padding-left: 0.9375rem; } }\n\n/* line 101, src/styles/components/_grid.scss */\n.sidebar-primary .sidebar {\n  width: 33.33333%;\n  padding-right: 0.625rem;\n  padding-left: 0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 101, src/styles/components/_grid.scss */\n    .sidebar-primary .sidebar {\n      flex: 0 0 auto;\n      width: auto;\n      padding-right: 0.9375rem;\n      padding-left: 0.9375rem; } }\n  @media print, screen and (min-width: 64em) {\n    /* line 101, src/styles/components/_grid.scss */\n    .sidebar-primary .sidebar {\n      flex: 0 0 auto;\n      width: auto;\n      padding-right: 0.9375rem;\n      padding-left: 0.9375rem; } }\n\n/* line 7, src/styles/components/_grid.scss */\n.grid-container.small-collapse {\n  padding-right: 0;\n  padding-left: 0; }\n\n/* line 11, src/styles/components/_grid.scss */\n.grid-container.small-uncollapse {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 7, src/styles/components/_grid.scss */\n  .grid-container.medium-collapse {\n    padding-right: 0;\n    padding-left: 0; }\n  /* line 11, src/styles/components/_grid.scss */\n  .grid-container.medium-uncollapse {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 7, src/styles/components/_grid.scss */\n  .grid-container.large-collapse {\n    padding-right: 0;\n    padding-left: 0; }\n  /* line 11, src/styles/components/_grid.scss */\n  .grid-container.large-uncollapse {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem; } }\n\n/* line 133, src/styles/components/_grid.scss */\n.grid-full-height {\n  height: 100%; }\n\n/* line 138, src/styles/components/_grid.scss */\n.main-grid-single,\n.main-grid-archive {\n  margin-top: 1.25rem; }\n\n/* line 148, src/styles/components/_grid.scss */\n.grid-margin-y > .cell.collapse-self-margin,\n.grid-margin-x > .cell.collapse-self-margin {\n  margin-left: 0;\n  margin-right: 0; }\n\n/* line 154, src/styles/components/_grid.scss */\n.grid-margin-y > .cell.small-collapse-self-margin,\n.grid-margin-x > .cell.small-collapse-self-margin {\n  margin-left: 0;\n  margin-right: 0; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 154, src/styles/components/_grid.scss */\n  .grid-margin-y > .cell.medium-collapse-self-margin,\n  .grid-margin-x > .cell.medium-collapse-self-margin {\n    margin-left: 0;\n    margin-right: 0; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 154, src/styles/components/_grid.scss */\n  .grid-margin-y > .cell.large-collapse-self-margin,\n  .grid-margin-x > .cell.large-collapse-self-margin {\n    margin-left: 0;\n    margin-right: 0; } }\n\n/* line 165, src/styles/components/_grid.scss */\n.grid-padding-y > .cell.collapse-self-padding,\n.grid-padding-x > .cell.collapse-self-padding {\n  padding-left: 0;\n  padding-right: 0; }\n\n/* line 171, src/styles/components/_grid.scss */\n.grid-padding-y > .cell.small-collapse-self-padding,\n.grid-padding-x > .cell.small-collapse-self-padding {\n  padding-left: 0;\n  padding-right: 0; }\n\n@media print, screen and (min-width: 40em) {\n  /* line 171, src/styles/components/_grid.scss */\n  .grid-padding-y > .cell.medium-collapse-self-padding,\n  .grid-padding-x > .cell.medium-collapse-self-padding {\n    padding-left: 0;\n    padding-right: 0; } }\n\n@media print, screen and (min-width: 64em) {\n  /* line 171, src/styles/components/_grid.scss */\n  .grid-padding-y > .cell.large-collapse-self-padding,\n  .grid-padding-x > .cell.large-collapse-self-padding {\n    padding-left: 0;\n    padding-right: 0; } }\n\n/* line 4, src/styles/components/_social.scss */\n.social-group {\n  padding: 0;\n  margin: 0;\n  list-style: none;\n  position: relative;\n  display: flex;\n  flex-wrap: wrap; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .social-group li {\n    outline: 0; }\n  /* line 68, node_modules/foundation-sites/scss/components/_menu.scss */\n  .social-group a,\n  .social-group .button {\n    line-height: 1;\n    text-decoration: none;\n    display: block;\n    padding: 0.7rem 1rem; }\n  /* line 77, node_modules/foundation-sites/scss/components/_menu.scss */\n  .social-group input,\n  .social-group select,\n  .social-group a,\n  .social-group button {\n    margin-bottom: 0; }\n  /* line 84, node_modules/foundation-sites/scss/components/_menu.scss */\n  .social-group input {\n    display: inline-block; }\n\n/* line 9, src/styles/components/_badge.scss */\n.badge.square {\n  border-radius: 0; }\n\n/* line 13, src/styles/components/_badge.scss */\n.badge.hollow {\n  background: transparent;\n  border: solid 1px #1779ba;\n  color: #1779ba; }\n  /* line 19, src/styles/components/_badge.scss */\n  .badge.hollow.primary {\n    border-color: #1779ba;\n    color: #1779ba; }\n  /* line 19, src/styles/components/_badge.scss */\n  .badge.hollow.secondary {\n    border-color: #767676;\n    color: #767676; }\n  /* line 19, src/styles/components/_badge.scss */\n  .badge.hollow.success {\n    border-color: #18a733;\n    color: #18a733; }\n  /* line 19, src/styles/components/_badge.scss */\n  .badge.hollow.warning {\n    border-color: #ffae00;\n    color: #ffae00; }\n  /* line 19, src/styles/components/_badge.scss */\n  .badge.hollow.alert {\n    border-color: #cc4b37;\n    color: #cc4b37; }\n\n/* line 26, src/styles/components/_badge.scss */\n.badge.disable {\n  opacity: 0.35; }\n\n/* line 9, src/styles/components/_table.scss */\n.table .table-header {\n  background-color: #f8f8f8;\n  color: #000;\n  padding: 0.5rem 0;\n  margin-bottom: 0.5rem; }\n\n/* line 16, src/styles/components/_table.scss */\n.table .table-header,\n.table .table-row {\n  display: flex;\n  flex-flow: row wrap;\n  margin-right: -0.625rem;\n  margin-left: -0.625rem; }\n  @media print, screen and (min-width: 40em) {\n    /* line 16, src/styles/components/_table.scss */\n    .table .table-header,\n    .table .table-row {\n      margin-right: -0.9375rem;\n      margin-left: -0.9375rem; } }\n  /* line 21, src/styles/components/_table.scss */\n  .table .table-header > .table-cell,\n  .table .table-row > .table-cell {\n    padding-right: 0.625rem;\n    padding-left: 0.625rem; }\n    @media print, screen and (min-width: 40em) {\n      /* line 21, src/styles/components/_table.scss */\n      .table .table-header > .table-cell,\n      .table .table-row > .table-cell {\n        padding-right: 0.9375rem;\n        padding-left: 0.9375rem; } }\n  /* line 25, src/styles/components/_table.scss */\n  .table .table-header .table-cell,\n  .table .table-row .table-cell {\n    flex: 1 1 0px;\n    width: auto; }\n    /* line 28, src/styles/components/_table.scss */\n    .table .table-header .table-cell.shrink,\n    .table .table-row .table-cell.shrink {\n      flex: 0 0 auto; }\n  /* line 34, src/styles/components/_table.scss */\n  .table .table-header.shrink > .table-cell,\n  .table .table-row.shrink > .table-cell {\n    flex: 0 0 auto; }\n\n/* line 67, src/styles/components/_hr.scss */\n.hr,\n.hr-bottom {\n  clear: both;\n  border-left: 0;\n  border-right: 0;\n  margin-bottom: 1.25rem;\n  border-bottom: 1px solid #777777; }\n  /* line 27, src/styles/components/_hr.scss */\n  .cell .hr, .cell\n  .hr-bottom {\n    margin-left: 0;\n    margin-right: 0; }\n\n/* line 72, src/styles/components/_hr.scss */\n.hr-top {\n  clear: both;\n  border-left: 0;\n  border-right: 0;\n  padding-top: 1.25rem;\n  border-top: 1px solid #777777; }\n  /* line 27, src/styles/components/_hr.scss */\n  .cell .hr-top {\n    margin-left: 0;\n    margin-right: 0; }\n\n/* line 76, src/styles/components/_hr.scss */\n.no-hr {\n  border-top: 0 !important;\n  border-bottom: 0 !important; }\n\n/* line 81, src/styles/components/_hr.scss */\n.hr-vertical {\n  width: 1px;\n  height: auto;\n  margin: auto;\n  margin-top: 1.25rem;\n  margin-bottom: 1.25rem;\n  border: 0;\n  border-left: 1px solid #777777; }\n  /* line 42, src/styles/components/_hr.scss */\n  .cell .hr-vertical {\n    height: calc(100% - 1.25rem); }\n\n/* line 85, src/styles/components/_hr.scss */\n.hr-vertical-left {\n  border: 0;\n  border-left: 1px solid #777777; }\n  /* line 89, src/styles/components/_hr.scss */\n  .hr-vertical-left:not(.cell) {\n    padding-left: 0.625rem; }\n\n/* line 94, src/styles/components/_hr.scss */\n.hr-vertical-right {\n  border: 0;\n  border-right: 1px solid #777777; }\n  /* line 98, src/styles/components/_hr.scss */\n  .hr-vertical-right:not(.cell) {\n    padding-right: 0.625rem; }\n\n/* line 103, src/styles/components/_hr.scss */\n.hr-margin {\n  margin-bottom: 1.25rem !important; }\n  /* line 107, src/styles/components/_hr.scss */\n  .hr-margin.hr-2x {\n    margin-bottom: 2.5rem !important; }\n  /* line 107, src/styles/components/_hr.scss */\n  .hr-margin.hr-3x {\n    margin-bottom: 3.75rem !important; }\n  /* line 107, src/styles/components/_hr.scss */\n  .hr-margin.hr-4x {\n    margin-bottom: 5rem !important; }\n  /* line 113, src/styles/components/_hr.scss */\n  .hr-margin.hr-margin-2x {\n    margin-bottom: 2.5rem !important; }\n  /* line 113, src/styles/components/_hr.scss */\n  .hr-margin.hr-margin-3x {\n    margin-bottom: 3.75rem !important; }\n  /* line 113, src/styles/components/_hr.scss */\n  .hr-margin.hr-margin-4x {\n    margin-bottom: 5rem !important; }\n\n/* line 119, src/styles/components/_hr.scss */\n.hr-padding {\n  padding-top: 1.25rem !important; }\n  /* line 123, src/styles/components/_hr.scss */\n  .hr-padding.hr-2x {\n    padding-top: 2.5rem !important; }\n  /* line 123, src/styles/components/_hr.scss */\n  .hr-padding.hr-3x {\n    padding-top: 3.75rem !important; }\n  /* line 123, src/styles/components/_hr.scss */\n  .hr-padding.hr-4x {\n    padding-top: 5rem !important; }\n  /* line 129, src/styles/components/_hr.scss */\n  .hr-padding.hr-padding-2x {\n    padding-top: 2.5rem !important; }\n  /* line 129, src/styles/components/_hr.scss */\n  .hr-padding.hr-padding-3x {\n    padding-top: 3.75rem !important; }\n  /* line 129, src/styles/components/_hr.scss */\n  .hr-padding.hr-padding-4x {\n    padding-top: 5rem !important; }\n\n/* line 50, src/styles/components/_underline.scss */\n.underline {\n  position: relative; }\n  /* line 20, src/styles/components/_underline.scss */\n  .underline::after {\n    content: \"\";\n    position: absolute;\n    width: 5rem;\n    height: 3px;\n    background-color: #1779ba;\n    bottom: -2px;\n    left: 0; }\n  /* line 32, src/styles/components/_underline.scss */\n  .underline.underline-primary::after {\n    background-color: #1779ba; }\n  /* line 32, src/styles/components/_underline.scss */\n  .underline.underline-secondary::after {\n    background-color: #767676; }\n  /* line 32, src/styles/components/_underline.scss */\n  .underline.underline-success::after {\n    background-color: #18a733; }\n  /* line 32, src/styles/components/_underline.scss */\n  .underline.underline-warning::after {\n    background-color: #ffae00; }\n  /* line 32, src/styles/components/_underline.scss */\n  .underline.underline-alert::after {\n    background-color: #cc4b37; }\n  /* line 45, src/styles/components/_underline.scss */\n  .underline.underline-tiny::after {\n    height: 1px; }\n  /* line 45, src/styles/components/_underline.scss */\n  .underline.underline-small::after {\n    height: 2px; }\n  /* line 38, src/styles/components/_underline.scss */\n  .underline.underline-center::after {\n    left: 50%;\n    transform: translateX(-50%); }\n\n/* line 16, src/styles/components/_webicon.scss */\n.webicon.tiny {\n  height: 0.8rem;\n  width: 0.8rem; }\n\n/* line 16, src/styles/components/_webicon.scss */\n.webicon.small {\n  height: 0.9rem;\n  width: 0.9rem; }\n\n/* line 16, src/styles/components/_webicon.scss */\n.webicon.large {\n  height: 1.25rem;\n  width: 1.25rem; }\n\n/* line 24, src/styles/components/_webicon.scss */\n.webicon.primary {\n  color: #1779ba; }\n\n/* line 24, src/styles/components/_webicon.scss */\n.webicon.secondary {\n  color: #767676; }\n\n/* line 24, src/styles/components/_webicon.scss */\n.webicon.success {\n  color: #18a733; }\n\n/* line 24, src/styles/components/_webicon.scss */\n.webicon.warning {\n  color: #ffae00; }\n\n/* line 24, src/styles/components/_webicon.scss */\n.webicon.alert {\n  color: #cc4b37; }\n\n/* line 6, src/styles/components/_fix.scss */\nimg[src=\"\"],\nimg:not([src]) {\n  opacity: 0 !important; }\n\n/* line 4, src/styles/components/_vars.scss */\n:root {\n  --primary-color: #1779ba;\n  --secondary-color: #767676;\n  --success-color: #18a733;\n  --warning-color: #ffae00;\n  --alert-color: #cc4b37;\n  --white-color: #fefefe;\n  --black-color: #000;\n  --medium-gray-color: #777777;\n  --light-gray-color: #eeeeee;\n  --gray-color: #4d4d4d;\n  --dark-gray-color: #333333;\n  --body-font: Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;\n  --title-font: Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;\n  --hr-margin: 1.25rem auto;\n  --hr-padding: 1.25rem;\n  --breakpoint-small: 0;\n  --breakpoint-medium: 640px;\n  --breakpoint-large: 1024px;\n  --breakpoint-xlarge: 1200px;\n  --breakpoint-xxlarge: 1440px; }\n\n/** Import wordpress components */\n/**\r\n * WordPress Generated Classes\r\n * @see http://codex.wordpress.org/CSS#WordPress_Generated_Classes\r\n */\n/* line 11, src/styles/components/wp/_global.scss */\n.page-title {\n  text-align: center; }\n\n/* line 16, src/styles/components/wp/_global.scss */\n.post-password-form input[type=\"submit\"] {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #767676;\n  color: #fefefe; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .post-password-form input[type=\"submit\"] {\n    outline: 0; }\n  /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n  .post-password-form input[type=\"submit\"]:hover, .post-password-form input[type=\"submit\"]:focus {\n    background-color: #5e5e5e;\n    color: #fefefe; }\n\n/** Captions */\n/** Text meant only for screen readers */\n/* line 103, node_modules/foundation-sites/scss/components/_table.scss */\n.wp-block-table table thead tr,\n.wp-block-table table tbody tr,\n.wp-block-table table tfoot tr {\n  border-bottom: 0;\n  border-bottom: 1px solid #f1f1f1;\n  background-color: #fefefe; }\n\n/* line 15, src/styles/components/wp/blocks/_table.scss */\n.wp-block-table table thead th:not(.has-text-align-left):not(.has-text-align-right) {\n  text-align: center; }\n\n/* line 21, src/styles/components/wp/blocks/_table.scss */\n.wp-block-table table tfoot td {\n  font-weight: normal; }\n\n/* line 27, src/styles/components/wp/blocks/_table.scss */\n.wp-block-table table.has-background thead,\n.wp-block-table table.has-background tbody,\n.wp-block-table table.has-background tfoot {\n  background-color: transparent; }\n  /* line 32, src/styles/components/wp/blocks/_table.scss */\n  .wp-block-table table.has-background thead tr,\n  .wp-block-table table.has-background tbody tr,\n  .wp-block-table table.has-background tfoot tr {\n    background-color: transparent; }\n\n/* line 5, src/styles/components/wp/blocks/_separator.scss */\nhr.wp-block-separator:not(.is-style-dots) {\n  border: none;\n  height: 1px;\n  overflow: visible;\n  position: relative; }\n\n/* line 6, src/styles/components/wp/blocks/_button.scss */\n[class*=\"wp-block-button__\"] {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #1779ba;\n  color: #fefefe; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] [class*=\"wp-block-button__\"] {\n    outline: 0; }\n  /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n  [class*=\"wp-block-button__\"]:hover, [class*=\"wp-block-button__\"]:focus {\n    background-color: #14679e;\n    color: #fefefe; }\n\n/** Import elementor components */\n/* line 6, src/styles/components/elementor/_buttons.scss */\n.elementor-button {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #1779ba;\n  color: #fefefe; }\n  /* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n  [data-whatinput='mouse'] .elementor-button {\n    outline: 0; }\n  /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n  .elementor-button:hover, .elementor-button:focus {\n    background-color: #14679e;\n    color: #fefefe; }\n  /* line 9, src/styles/components/elementor/_buttons.scss */\n  .elementor-button.elementor-size-xs, .elementor-button.elementor-size-sm, .elementor-button.elementor-size-md, .elementor-button.elementor-size-lg, .elementor-button.elementor-size-xl {\n    border-radius: 0; }\n\n/* line 19, src/styles/components/elementor/_buttons.scss */\n.elementor-button-hollow .elementor-button {\n  border: 1px solid #1779ba;\n  color: #1779ba; }\n  /* line 161, node_modules/foundation-sites/scss/components/_button.scss */\n  .elementor-button-hollow .elementor-button, .elementor-button-hollow .elementor-button:hover, .elementor-button-hollow .elementor-button:focus {\n    background-color: transparent; }\n  /* line 169, node_modules/foundation-sites/scss/components/_button.scss */\n  .elementor-button-hollow .elementor-button.disabled, .elementor-button-hollow .elementor-button.disabled:hover, .elementor-button-hollow .elementor-button.disabled:focus, .elementor-button-hollow .elementor-button[disabled], .elementor-button-hollow .elementor-button[disabled]:hover, .elementor-button-hollow .elementor-button[disabled]:focus {\n    background-color: transparent; }\n  /* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n  .elementor-button-hollow .elementor-button:hover, .elementor-button-hollow .elementor-button:focus {\n    border-color: #0c3d5d;\n    color: #0c3d5d; }\n    /* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n    .elementor-button-hollow .elementor-button:hover.disabled, .elementor-button-hollow .elementor-button:hover[disabled], .elementor-button-hollow .elementor-button:focus.disabled, .elementor-button-hollow .elementor-button:focus[disabled] {\n      border: 1px solid #1779ba;\n      color: #1779ba; }\n\n/* line 27, src/styles/components/elementor/_buttons.scss */\n.elementor-element.elementor-button-info .elementor-button {\n  background-color: #767676;\n  color: #fefefe; }\n  /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n  .elementor-element.elementor-button-info .elementor-button:hover, .elementor-element.elementor-button-info .elementor-button:focus {\n    background-color: #5e5e5e;\n    color: #fefefe; }\n\n/* line 33, src/styles/components/elementor/_buttons.scss */\n.elementor-element.elementor-button-success .elementor-button {\n  background-color: #18a733;\n  color: #fefefe; }\n  /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n  .elementor-element.elementor-button-success .elementor-button:hover, .elementor-element.elementor-button-success .elementor-button:focus {\n    background-color: #138629;\n    color: #fefefe; }\n\n/* line 39, src/styles/components/elementor/_buttons.scss */\n.elementor-element.elementor-button-warning .elementor-button {\n  background-color: #ffae00;\n  color: #fefefe; }\n  /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n  .elementor-element.elementor-button-warning .elementor-button:hover, .elementor-element.elementor-button-warning .elementor-button:focus {\n    background-color: #cc8b00;\n    color: #fefefe; }\n\n/* line 45, src/styles/components/elementor/_buttons.scss */\n.elementor-element.elementor-button-danger .elementor-button {\n  background-color: #cc4b37;\n  color: #fefefe; }\n  /* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n  .elementor-element.elementor-button-danger .elementor-button:hover, .elementor-element.elementor-button-danger .elementor-button:focus {\n    background-color: #a53b2a;\n    color: #fefefe; }\n\n/* line 236, src/styles/components/_styles.scss */\nh3.text-body, .h3.text-body {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important; }\n\n/* line 240, src/styles/components/_styles.scss */\nh3.text-header, .h3.text-header {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important; }\n\n/* line 244, src/styles/components/_styles.scss */\nh3.text-title, .h3.text-title {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important; }\n\n/* line 249, src/styles/components/_styles.scss */\nh3.text-uppercase, .h3.text-uppercase {\n  text-transform: uppercase !important; }\n\n/* line 249, src/styles/components/_styles.scss */\nh3.text-inherit, .h3.text-inherit {\n  text-transform: inherit !important; }\n\n/* line 249, src/styles/components/_styles.scss */\nh3.text-none, .h3.text-none {\n  text-transform: none !important; }\n\n/* line 249, src/styles/components/_styles.scss */\nh3.text-capitalize, .h3.text-capitalize {\n  text-transform: capitalize !important; }\n\n/* line 249, src/styles/components/_styles.scss */\nh3.text-lowercase, .h3.text-lowercase {\n  text-transform: lowercase !important; }\n\n/* line 265, src/styles/components/_styles.scss */\n.text-body--h3 h3, .text-body--h3 .h3 {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important; }\n\n/* line 282, src/styles/components/_styles.scss */\n.text-title--h3 h3, .text-title--h3 .h3 {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important; }\n\n/* line 301, src/styles/components/_styles.scss */\n.text-underline--h3 h3, .text-underline--h3 .h3 {\n  position: relative; }\n  /* line 20, src/styles/components/_underline.scss */\n  .text-underline--h3 h3::after, .text-underline--h3 .h3::after {\n    content: \"\";\n    position: absolute;\n    width: 5rem;\n    height: 3px;\n    background-color: #1779ba;\n    bottom: -2px;\n    left: 0; }\n\n/* line 38, src/styles/components/_underline.scss */\n.text-underline--h3.text-underline-center--h3 h3::after, .text-underline--h3.text-underline-center--h3 .h3::after {\n  left: 50%;\n  transform: translateX(-50%); }\n\n/* line 32, src/styles/components/_underline.scss */\n.text-underline--h3.text-underline-primary--h3 h3::after, .text-underline--h3.text-underline-primary--h3 .h3::after {\n  background-color: #1779ba; }\n\n/* line 32, src/styles/components/_underline.scss */\n.text-underline--h3.text-underline-secondary--h3 h3::after, .text-underline--h3.text-underline-secondary--h3 .h3::after {\n  background-color: #767676; }\n\n/* line 32, src/styles/components/_underline.scss */\n.text-underline--h3.text-underline-success--h3 h3::after, .text-underline--h3.text-underline-success--h3 .h3::after {\n  background-color: #18a733; }\n\n/* line 32, src/styles/components/_underline.scss */\n.text-underline--h3.text-underline-warning--h3 h3::after, .text-underline--h3.text-underline-warning--h3 .h3::after {\n  background-color: #ffae00; }\n\n/* line 32, src/styles/components/_underline.scss */\n.text-underline--h3.text-underline-alert--h3 h3::after, .text-underline--h3.text-underline-alert--h3 .h3::after {\n  background-color: #cc4b37; }\n\n/* line 45, src/styles/components/_underline.scss */\n.text-underline--h3.text-underline-tiny--h3 h3::after, .text-underline--h3.text-underline-tiny--h3 .h3::after {\n  height: 1px; }\n\n/* line 45, src/styles/components/_underline.scss */\n.text-underline--h3.text-underline-small--h3 h3::after, .text-underline--h3.text-underline-small--h3 .h3::after {\n  height: 2px; }\n\n/* line 347, src/styles/components/_styles.scss */\n.text-fit-center--h3 h3, .text-fit-center--h3 .h3 {\n  width: fit-content !important;\n  margin-left: auto !important;\n  margin-right: auto !important; }\n\n/* line 359, src/styles/components/_styles.scss */\n.text-hr--h3 h3, .text-hr--h3 .h3 {\n  clear: both;\n  border-left: 0;\n  border-right: 0;\n  margin-bottom: 1.25rem;\n  border-bottom: 1px solid #777777; }\n  /* line 27, src/styles/components/_hr.scss */\n  .cell .text-hr--h3 h3, .cell .text-hr--h3 .h3 {\n    margin-left: 0;\n    margin-right: 0; }\n\n/* line 371, src/styles/components/_styles.scss */\n.text-hr-margin--h3 h3, .text-hr-margin--h3 .h3 {\n  margin-bottom: 1.25rem; }\n\n/* line 377, src/styles/components/_styles.scss */\n.text-hr-margin--h3.text-hr-margin-2x--h3 h3, .text-hr-margin--h3.text-hr-margin-2x--h3 .h3 {\n  margin-bottom: 2.5rem; }\n\n/* line 377, src/styles/components/_styles.scss */\n.text-hr-margin--h3.text-hr-margin-3x--h3 h3, .text-hr-margin--h3.text-hr-margin-3x--h3 .h3 {\n  margin-bottom: 3.75rem; }\n\n/* line 377, src/styles/components/_styles.scss */\n.text-hr-margin--h3.text-hr-margin-4x--h3 h3, .text-hr-margin--h3.text-hr-margin-4x--h3 .h3 {\n  margin-bottom: 5rem; }\n\n/* line 391, src/styles/components/_styles.scss */\n.text-hr-padding--h3 h3, .text-hr-padding--h3 .h3 {\n  padding-top: 1.25rem; }\n\n/* line 397, src/styles/components/_styles.scss */\n.text-hr-padding--h3.text-hr-padding-2x--h3 h3, .text-hr-padding--h3.text-hr-padding-2x--h3 .h3 {\n  padding-top: 2.5rem; }\n\n/* line 397, src/styles/components/_styles.scss */\n.text-hr-padding--h3.text-hr-padding-3x--h3 h3, .text-hr-padding--h3.text-hr-padding-3x--h3 .h3 {\n  padding-top: 3.75rem; }\n\n/* line 397, src/styles/components/_styles.scss */\n.text-hr-padding--h3.text-hr-padding-4x--h3 h3, .text-hr-padding--h3.text-hr-padding-4x--h3 .h3 {\n  padding-top: 5rem; }\n\n/* line 412, src/styles/components/_styles.scss */\n.text-uppercase--h3 h3, .text-uppercase--h3 .h3 {\n  text-transform: uppercase !important; }\n\n/* line 412, src/styles/components/_styles.scss */\n.text-inherit--h3 h3, .text-inherit--h3 .h3 {\n  text-transform: inherit !important; }\n\n/* line 412, src/styles/components/_styles.scss */\n.text-none--h3 h3, .text-none--h3 .h3 {\n  text-transform: none !important; }\n\n/* line 412, src/styles/components/_styles.scss */\n.text-capitalize--h3 h3, .text-capitalize--h3 .h3 {\n  text-transform: capitalize !important; }\n\n/* line 412, src/styles/components/_styles.scss */\n.text-lowercase--h3 h3, .text-lowercase--h3 .h3 {\n  text-transform: lowercase !important; }\n\n/* line 450, src/styles/components/_styles.scss */\n.text-body-regular--h3 h3, .text-body-regular--h3 .h3 {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n  font-weight: normal !important; }\n\n/* line 450, src/styles/components/_styles.scss */\n.text-title-regular--h3 h3, .text-title-regular--h3 .h3 {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n  font-weight: normal !important; }\n\n@media print, screen and (min-width: 40em) and (min-width: 40em) {\n  /* line 236, src/styles/components/_styles.scss */\n  h3.text-body, .h3.text-body {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important; }\n  /* line 240, src/styles/components/_styles.scss */\n  h3.text-header, .h3.text-header {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important; }\n  /* line 244, src/styles/components/_styles.scss */\n  h3.text-title, .h3.text-title {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important; }\n  /* line 249, src/styles/components/_styles.scss */\n  h3.text-uppercase, .h3.text-uppercase {\n    text-transform: uppercase !important; }\n  /* line 249, src/styles/components/_styles.scss */\n  h3.text-inherit, .h3.text-inherit {\n    text-transform: inherit !important; }\n  /* line 249, src/styles/components/_styles.scss */\n  h3.text-none, .h3.text-none {\n    text-transform: none !important; }\n  /* line 249, src/styles/components/_styles.scss */\n  h3.text-capitalize, .h3.text-capitalize {\n    text-transform: capitalize !important; }\n  /* line 249, src/styles/components/_styles.scss */\n  h3.text-lowercase, .h3.text-lowercase {\n    text-transform: lowercase !important; }\n  /* line 265, src/styles/components/_styles.scss */\n  .text-body--h3 h3, .text-body--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important; }\n  /* line 282, src/styles/components/_styles.scss */\n  .text-title--h3 h3, .text-title--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important; }\n  /* line 301, src/styles/components/_styles.scss */\n  .text-underline--h3 h3, .text-underline--h3 .h3 {\n    position: relative; }\n    /* line 20, src/styles/components/_underline.scss */\n    .text-underline--h3 h3::after, .text-underline--h3 .h3::after {\n      content: \"\";\n      position: absolute;\n      width: 5rem;\n      height: 3px;\n      background-color: #1779ba;\n      bottom: -2px;\n      left: 0; }\n  /* line 38, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-center--h3 h3::after, .text-underline--h3.text-underline-center--h3 .h3::after {\n    left: 50%;\n    transform: translateX(-50%); }\n  /* line 32, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-primary--h3 h3::after, .text-underline--h3.text-underline-primary--h3 .h3::after {\n    background-color: #1779ba; }\n  /* line 32, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-secondary--h3 h3::after, .text-underline--h3.text-underline-secondary--h3 .h3::after {\n    background-color: #767676; }\n  /* line 32, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-success--h3 h3::after, .text-underline--h3.text-underline-success--h3 .h3::after {\n    background-color: #18a733; }\n  /* line 32, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-warning--h3 h3::after, .text-underline--h3.text-underline-warning--h3 .h3::after {\n    background-color: #ffae00; }\n  /* line 32, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-alert--h3 h3::after, .text-underline--h3.text-underline-alert--h3 .h3::after {\n    background-color: #cc4b37; }\n  /* line 45, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-tiny--h3 h3::after, .text-underline--h3.text-underline-tiny--h3 .h3::after {\n    height: 1px; }\n  /* line 45, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-small--h3 h3::after, .text-underline--h3.text-underline-small--h3 .h3::after {\n    height: 2px; }\n  /* line 347, src/styles/components/_styles.scss */\n  .text-fit-center--h3 h3, .text-fit-center--h3 .h3 {\n    width: fit-content !important;\n    margin-left: auto !important;\n    margin-right: auto !important; }\n  /* line 359, src/styles/components/_styles.scss */\n  .text-hr--h3 h3, .text-hr--h3 .h3 {\n    clear: both;\n    border-left: 0;\n    border-right: 0;\n    margin-bottom: 1.25rem;\n    border-bottom: 1px solid #777777; }\n    /* line 27, src/styles/components/_hr.scss */\n    .cell .text-hr--h3 h3, .cell .text-hr--h3 .h3 {\n      margin-left: 0;\n      margin-right: 0; }\n  /* line 371, src/styles/components/_styles.scss */\n  .text-hr-margin--h3 h3, .text-hr-margin--h3 .h3 {\n    margin-bottom: 1.25rem; }\n  /* line 377, src/styles/components/_styles.scss */\n  .text-hr-margin--h3.text-hr-margin-2x--h3 h3, .text-hr-margin--h3.text-hr-margin-2x--h3 .h3 {\n    margin-bottom: 2.5rem; }\n  /* line 377, src/styles/components/_styles.scss */\n  .text-hr-margin--h3.text-hr-margin-3x--h3 h3, .text-hr-margin--h3.text-hr-margin-3x--h3 .h3 {\n    margin-bottom: 3.75rem; }\n  /* line 377, src/styles/components/_styles.scss */\n  .text-hr-margin--h3.text-hr-margin-4x--h3 h3, .text-hr-margin--h3.text-hr-margin-4x--h3 .h3 {\n    margin-bottom: 5rem; }\n  /* line 391, src/styles/components/_styles.scss */\n  .text-hr-padding--h3 h3, .text-hr-padding--h3 .h3 {\n    padding-top: 1.25rem; }\n  /* line 397, src/styles/components/_styles.scss */\n  .text-hr-padding--h3.text-hr-padding-2x--h3 h3, .text-hr-padding--h3.text-hr-padding-2x--h3 .h3 {\n    padding-top: 2.5rem; }\n  /* line 397, src/styles/components/_styles.scss */\n  .text-hr-padding--h3.text-hr-padding-3x--h3 h3, .text-hr-padding--h3.text-hr-padding-3x--h3 .h3 {\n    padding-top: 3.75rem; }\n  /* line 397, src/styles/components/_styles.scss */\n  .text-hr-padding--h3.text-hr-padding-4x--h3 h3, .text-hr-padding--h3.text-hr-padding-4x--h3 .h3 {\n    padding-top: 5rem; }\n  /* line 412, src/styles/components/_styles.scss */\n  .text-uppercase--h3 h3, .text-uppercase--h3 .h3 {\n    text-transform: uppercase !important; }\n  /* line 412, src/styles/components/_styles.scss */\n  .text-inherit--h3 h3, .text-inherit--h3 .h3 {\n    text-transform: inherit !important; }\n  /* line 412, src/styles/components/_styles.scss */\n  .text-none--h3 h3, .text-none--h3 .h3 {\n    text-transform: none !important; }\n  /* line 412, src/styles/components/_styles.scss */\n  .text-capitalize--h3 h3, .text-capitalize--h3 .h3 {\n    text-transform: capitalize !important; }\n  /* line 412, src/styles/components/_styles.scss */\n  .text-lowercase--h3 h3, .text-lowercase--h3 .h3 {\n    text-transform: lowercase !important; }\n  /* line 450, src/styles/components/_styles.scss */\n  .text-body-regular--h3 h3, .text-body-regular--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n    font-weight: normal !important; }\n  /* line 450, src/styles/components/_styles.scss */\n  .text-title-regular--h3 h3, .text-title-regular--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n    font-weight: normal !important; } }\n\n@media print, screen and (min-width: 64em) and (min-width: 64em) {\n  /* line 236, src/styles/components/_styles.scss */\n  h3.text-body, .h3.text-body {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important; }\n  /* line 240, src/styles/components/_styles.scss */\n  h3.text-header, .h3.text-header {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important; }\n  /* line 244, src/styles/components/_styles.scss */\n  h3.text-title, .h3.text-title {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important; }\n  /* line 249, src/styles/components/_styles.scss */\n  h3.text-uppercase, .h3.text-uppercase {\n    text-transform: uppercase !important; }\n  /* line 249, src/styles/components/_styles.scss */\n  h3.text-inherit, .h3.text-inherit {\n    text-transform: inherit !important; }\n  /* line 249, src/styles/components/_styles.scss */\n  h3.text-none, .h3.text-none {\n    text-transform: none !important; }\n  /* line 249, src/styles/components/_styles.scss */\n  h3.text-capitalize, .h3.text-capitalize {\n    text-transform: capitalize !important; }\n  /* line 249, src/styles/components/_styles.scss */\n  h3.text-lowercase, .h3.text-lowercase {\n    text-transform: lowercase !important; }\n  /* line 265, src/styles/components/_styles.scss */\n  .text-body--h3 h3, .text-body--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important; }\n  /* line 282, src/styles/components/_styles.scss */\n  .text-title--h3 h3, .text-title--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important; }\n  /* line 301, src/styles/components/_styles.scss */\n  .text-underline--h3 h3, .text-underline--h3 .h3 {\n    position: relative; }\n    /* line 20, src/styles/components/_underline.scss */\n    .text-underline--h3 h3::after, .text-underline--h3 .h3::after {\n      content: \"\";\n      position: absolute;\n      width: 5rem;\n      height: 3px;\n      background-color: #1779ba;\n      bottom: -2px;\n      left: 0; }\n  /* line 38, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-center--h3 h3::after, .text-underline--h3.text-underline-center--h3 .h3::after {\n    left: 50%;\n    transform: translateX(-50%); }\n  /* line 32, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-primary--h3 h3::after, .text-underline--h3.text-underline-primary--h3 .h3::after {\n    background-color: #1779ba; }\n  /* line 32, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-secondary--h3 h3::after, .text-underline--h3.text-underline-secondary--h3 .h3::after {\n    background-color: #767676; }\n  /* line 32, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-success--h3 h3::after, .text-underline--h3.text-underline-success--h3 .h3::after {\n    background-color: #18a733; }\n  /* line 32, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-warning--h3 h3::after, .text-underline--h3.text-underline-warning--h3 .h3::after {\n    background-color: #ffae00; }\n  /* line 32, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-alert--h3 h3::after, .text-underline--h3.text-underline-alert--h3 .h3::after {\n    background-color: #cc4b37; }\n  /* line 45, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-tiny--h3 h3::after, .text-underline--h3.text-underline-tiny--h3 .h3::after {\n    height: 1px; }\n  /* line 45, src/styles/components/_underline.scss */\n  .text-underline--h3.text-underline-small--h3 h3::after, .text-underline--h3.text-underline-small--h3 .h3::after {\n    height: 2px; }\n  /* line 347, src/styles/components/_styles.scss */\n  .text-fit-center--h3 h3, .text-fit-center--h3 .h3 {\n    width: fit-content !important;\n    margin-left: auto !important;\n    margin-right: auto !important; }\n  /* line 359, src/styles/components/_styles.scss */\n  .text-hr--h3 h3, .text-hr--h3 .h3 {\n    clear: both;\n    border-left: 0;\n    border-right: 0;\n    margin-bottom: 1.25rem;\n    border-bottom: 1px solid #777777; }\n    /* line 27, src/styles/components/_hr.scss */\n    .cell .text-hr--h3 h3, .cell .text-hr--h3 .h3 {\n      margin-left: 0;\n      margin-right: 0; }\n  /* line 371, src/styles/components/_styles.scss */\n  .text-hr-margin--h3 h3, .text-hr-margin--h3 .h3 {\n    margin-bottom: 1.25rem; }\n  /* line 377, src/styles/components/_styles.scss */\n  .text-hr-margin--h3.text-hr-margin-2x--h3 h3, .text-hr-margin--h3.text-hr-margin-2x--h3 .h3 {\n    margin-bottom: 2.5rem; }\n  /* line 377, src/styles/components/_styles.scss */\n  .text-hr-margin--h3.text-hr-margin-3x--h3 h3, .text-hr-margin--h3.text-hr-margin-3x--h3 .h3 {\n    margin-bottom: 3.75rem; }\n  /* line 377, src/styles/components/_styles.scss */\n  .text-hr-margin--h3.text-hr-margin-4x--h3 h3, .text-hr-margin--h3.text-hr-margin-4x--h3 .h3 {\n    margin-bottom: 5rem; }\n  /* line 391, src/styles/components/_styles.scss */\n  .text-hr-padding--h3 h3, .text-hr-padding--h3 .h3 {\n    padding-top: 1.25rem; }\n  /* line 397, src/styles/components/_styles.scss */\n  .text-hr-padding--h3.text-hr-padding-2x--h3 h3, .text-hr-padding--h3.text-hr-padding-2x--h3 .h3 {\n    padding-top: 2.5rem; }\n  /* line 397, src/styles/components/_styles.scss */\n  .text-hr-padding--h3.text-hr-padding-3x--h3 h3, .text-hr-padding--h3.text-hr-padding-3x--h3 .h3 {\n    padding-top: 3.75rem; }\n  /* line 397, src/styles/components/_styles.scss */\n  .text-hr-padding--h3.text-hr-padding-4x--h3 h3, .text-hr-padding--h3.text-hr-padding-4x--h3 .h3 {\n    padding-top: 5rem; }\n  /* line 412, src/styles/components/_styles.scss */\n  .text-uppercase--h3 h3, .text-uppercase--h3 .h3 {\n    text-transform: uppercase !important; }\n  /* line 412, src/styles/components/_styles.scss */\n  .text-inherit--h3 h3, .text-inherit--h3 .h3 {\n    text-transform: inherit !important; }\n  /* line 412, src/styles/components/_styles.scss */\n  .text-none--h3 h3, .text-none--h3 .h3 {\n    text-transform: none !important; }\n  /* line 412, src/styles/components/_styles.scss */\n  .text-capitalize--h3 h3, .text-capitalize--h3 .h3 {\n    text-transform: capitalize !important; }\n  /* line 412, src/styles/components/_styles.scss */\n  .text-lowercase--h3 h3, .text-lowercase--h3 .h3 {\n    text-transform: lowercase !important; }\n  /* line 450, src/styles/components/_styles.scss */\n  .text-body-regular--h3 h3, .text-body-regular--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n    font-weight: normal !important; }\n  /* line 450, src/styles/components/_styles.scss */\n  .text-title-regular--h3 h3, .text-title-regular--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n    font-weight: normal !important; } }\n\n/* line 493, src/styles/components/_styles.scss */\n.text-body-regular {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-weight: normal; }\n\n/* line 493, src/styles/components/_styles.scss */\n.text-title-regular {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-weight: normal; }\n\n/* line 512, src/styles/components/_styles.scss */\n.text-weight-regular {\n  font-weight: normal !important; }\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9zdHlsZXMvbWFpbi5zY3NzIiwic3JjL3N0eWxlcy9jb21tb24vX3ZhcmlhYmxlcy5zY3NzIiwic3JjL3N0eWxlcy9zZXR0aW5ncy9zZXR0aW5ncy5zY3NzIiwic3JjL3N0eWxlcy91dGlsL191dGlsLnNjc3MiLCJzcmMvc3R5bGVzL3V0aWwvZnVuY3Rpb25zL19zdHJpbmcuc2NzcyIsInNyYy9zdHlsZXMvdXRpbC9mdW5jdGlvbnMvX2NvbG9yLnNjc3MiLCJzcmMvc3R5bGVzL3V0aWwvbWl4aW5zL19mb250LnNjc3MiLCJzcmMvc3R5bGVzL3V0aWwvbWl4aW5zL19hbmltYXRpb24uc2NzcyIsInNyYy9zdHlsZXMvdXRpbC9taXhpbnMvX2ljb25zLnNjc3MiLCJzcmMvc3R5bGVzL3V0aWwvbWl4aW5zL19mb3JtLnNjc3MiLCJzcmMvc3R5bGVzL3V0aWwvbWl4aW5zL19maXQuc2NzcyIsInNyYy9zdHlsZXMvY29tcG9uZW50cy9pY29ucy9fdmFyaWFibGVzLnNjc3MiLCJzcmMvc3R5bGVzL2F1dG9sb2FkL19yYy1iYXNlLXpmLnNjc3MiLCJzcmMvc3R5bGVzL2F1dG9sb2FkL3JjLWJhc2UtemYvX2ZvdW5kYXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdXRpbC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdmFsdWUuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZGlyZWN0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fc2VsZWN0b3Iuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL190eXBvZ3JhcGh5LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19taXNzaW5nLWRlcGVuZGVuY2llcy5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL190cnVlLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fY29udGFpbi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3B1cmdlLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcmVtb3ZlLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcmVwbGFjZS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3RvLWxpc3Quc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdXRpbC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdmFsdWUuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZGlyZWN0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fc2VsZWN0b3Iuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL190eXBvZ3JhcGh5LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdXRpbC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdmFsdWUuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZGlyZWN0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fc2VsZWN0b3Iuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL190eXBvZ3JhcGh5LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19mb3Jtcy5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19yYW5nZS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fcHJvZ3Jlc3Muc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX21ldGVyLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L190eXBvZ3JhcGh5LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3JpZC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL194eS1ncmlkLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19wcm90b3R5cGUuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yZWxhdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JveC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JvdGF0ZS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtdXRpbGl0aWVzLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC10cmFuc2Zvcm1hdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2ZvbnQtc3R5bGluZy5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2xpc3Qtc3R5bGUtdHlwZS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JvdW5kZWQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXJlZC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NoYWRvdy5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Fycm93LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2VwYXJhdG9yLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fb3ZlcmZsb3cuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19kaXNwbGF5LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcG9zaXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItYm94LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLW5vbmUuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaXppbmcuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL2hhbWJ1cmdlcnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvX2Jhc2Uuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeC5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R4LXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeS5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R5LXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeHkuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeHktci5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3cuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93LXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93YWx0LnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19hcnJvd2FsdC1yLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19hcnJvd3R1cm4uc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93dHVybi1yLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19ib3Jpbmcuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2NvbGxhcHNlLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19jb2xsYXBzZS1yLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19lbGFzdGljLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19lbGFzdGljLXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2VtcGhhdGljLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19lbXBoYXRpYy1yLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19taW51cy5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc2xpZGVyLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zbGlkZXItci5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3Bpbi5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3Bpbi1yLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zcHJpbmcuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3NwcmluZy1yLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zdGFuZC5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3RhbmQtci5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3F1ZWV6ZS5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fdm9ydGV4LnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL192b3J0ZXgtci5zY3NzIiwibm9kZV9tb2R1bGVzL2F3ZXNvbWUtZm91bmRhdGlvbjYtY2hlY2tib3gvc3JjL2F3ZXNvbWUtZm91bmRhdGlvbjYtY2hlY2tib3guc2NzcyIsIm5vZGVfbW9kdWxlcy9hd2Vzb21lLWZvdW5kYXRpb242LWNoZWNrYm94L3NyYy9zZXR0aW5ncy5zY3NzIiwic3JjL3N0eWxlcy9hdXRvbG9hZC9fcmMtYmFzZS16Zi5zY3NzIiwic3JjL3N0eWxlcy9hdXRvbG9hZC9yYy1iYXNlLXpmL19mb3VuZGF0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3V0aWwuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3ZhbHVlLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2RpcmVjdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3NlbGVjdG9yLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdHlwb2dyYXBoeS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9fbWlzc2luZy1kZXBlbmRlbmNpZXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9fdHJ1ZS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2NvbnRhaW4uc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19wdXJnZS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3JlbW92ZS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3JlcGxhY2Uuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL190by1saXN0LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3V0aWwuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3ZhbHVlLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2RpcmVjdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3NlbGVjdG9yLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdHlwb2dyYXBoeS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3V0aWwuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3ZhbHVlLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2RpcmVjdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3NlbGVjdG9yLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdHlwb2dyYXBoeS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZm9ybXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fcmFuZ2Uuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3Byb2dyZXNzLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19tZXRlci5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fdHlwb2dyYXBoeS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2dyaWQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19zaXplLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9feHktZ3JpZC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19mcmFtZS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19wb3NpdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N3aXRjaC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZWRpYS1vYmplY3Quc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJzLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcHJvdG90eXBlLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcmVsYXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3guc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yb3RhdGUuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LXV0aWxpdGllcy5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtdHJhbnNmb3JtYXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LWRlY29yYXRpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19mb250LXN0eWxpbmcuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19saXN0LXN0eWxlLXR5cGUuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yb3VuZGVkLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyZWQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaGFkb3cuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19hcnJvdy5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NlcGFyYXRvci5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX292ZXJmbG93LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZGlzcGxheS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3Bvc2l0aW9uLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLWJveC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JvcmRlci1ub25lLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2l6aW5nLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc3BhY2luZy5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy9oYW1idXJnZXJzLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL19iYXNlLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL18zZHguc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeC1yLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL18zZHkuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeS1yLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL18zZHh5LnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL18zZHh5LXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93LnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19hcnJvdy1yLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19hcnJvd2FsdC5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3dhbHQtci5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3d0dXJuLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19hcnJvd3R1cm4tci5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYm9yaW5nLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19jb2xsYXBzZS5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fY29sbGFwc2Utci5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fZWxhc3RpYy5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fZWxhc3RpYy1yLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19lbXBoYXRpYy5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fZW1waGF0aWMtci5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fbWludXMuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3NsaWRlci5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc2xpZGVyLXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3NwaW4uc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3NwaW4tci5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3ByaW5nLnNjc3MiLCJub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zcHJpbmctci5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3RhbmQuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3N0YW5kLXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3NxdWVlemUuc2NzcyIsIm5vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3ZvcnRleC5zY3NzIiwibm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fdm9ydGV4LXIuc2NzcyIsIm5vZGVfbW9kdWxlcy9hd2Vzb21lLWZvdW5kYXRpb242LWNoZWNrYm94L3NyYy9hd2Vzb21lLWZvdW5kYXRpb242LWNoZWNrYm94LnNjc3MiLCJub2RlX21vZHVsZXMvYXdlc29tZS1mb3VuZGF0aW9uNi1jaGVja2JveC9zcmMvc2V0dGluZ3Muc2NzcyIsInNyYy9zdHlsZXMvYXV0b2xvYWQvcmMtYmFzZS16Zi9fZm91bmRhdGlvbi5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191dGlsLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL192YWx1ZS5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19kaXJlY3Rpb24uc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19zZWxlY3Rvci5zY3NzIiwibm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIm5vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCJub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3R5cG9ncmFwaHkuc2NzcyIsInNyYy9zdHlsZXMvcmMtYmFzZS16Zi5zY3NzIiwic3JjL3N0eWxlcy9kZWJ1Zy9fZGVidWcuc2NzcyIsInNyYy9zdHlsZXMvZGVidWcvX2RlYnVnLW1hcC5zY3NzIiwic3JjL3N0eWxlcy9jb21wb25lbnRzL19zdHlsZXMuc2NzcyIsInNyYy9zdHlsZXMvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwic3JjL3N0eWxlcy9jb21wb25lbnRzL19jbGFzc2VzLnNjc3MiLCJzcmMvc3R5bGVzL2NvbXBvbmVudHMvX2ljb25zLnNjc3MiLCJzcmMvc3R5bGVzL2NvbXBvbmVudHMvaWNvbnMvX3BhdGguc2NzcyIsInNyYy9zdHlsZXMvY29tcG9uZW50cy9pY29ucy9fY29yZS5zY3NzIiwic3JjL3N0eWxlcy9jb21wb25lbnRzL2ljb25zL19oZWxwZXIuc2NzcyIsInNyYy9zdHlsZXMvY29tcG9uZW50cy9pY29ucy9faWNvbnMuc2NzcyIsInNyYy9zdHlsZXMvY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwic3JjL3N0eWxlcy9jb21wb25lbnRzL19mb3JtLnNjc3MiLCJzcmMvc3R5bGVzL2NvbXBvbmVudHMvX25nLWZvcm0uc2NzcyIsInNyYy9zdHlsZXMvY29tcG9uZW50cy9fY29tbWVudHMuc2NzcyIsInNyYy9zdHlsZXMvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwic3JjL3N0eWxlcy9jb21wb25lbnRzL19ncmlkLnNjc3MiLCJzcmMvc3R5bGVzL2NvbXBvbmVudHMvX3NvY2lhbC5zY3NzIiwic3JjL3N0eWxlcy9jb21wb25lbnRzL19iYWRnZS5zY3NzIiwic3JjL3N0eWxlcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwic3JjL3N0eWxlcy9jb21wb25lbnRzL19oci5zY3NzIiwic3JjL3N0eWxlcy9jb21wb25lbnRzL191bmRlcmxpbmUuc2NzcyIsInNyYy9zdHlsZXMvY29tcG9uZW50cy9fd2ViaWNvbi5zY3NzIiwic3JjL3N0eWxlcy9jb21wb25lbnRzL19maXguc2NzcyIsInNyYy9zdHlsZXMvY29tcG9uZW50cy9fdmFycy5zY3NzIiwic3JjL3N0eWxlcy9jb21wb25lbnRzL3dwL19nbG9iYWwuc2NzcyIsInNyYy9zdHlsZXMvY29tcG9uZW50cy93cC9ibG9ja3MvX3RhYmxlLnNjc3MiLCJzcmMvc3R5bGVzL2NvbXBvbmVudHMvd3AvYmxvY2tzL19zZXBhcmF0b3Iuc2NzcyIsInNyYy9zdHlsZXMvY29tcG9uZW50cy93cC9ibG9ja3MvX2J1dHRvbi5zY3NzIiwic3JjL3N0eWxlcy9jb21wb25lbnRzL2VsZW1lbnRvci9fYnV0dG9ucy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJjb21tb24vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwic2V0dGluZ3Mvc2V0dGluZ3NcIjtcblxuLyoqIEltcG9ydCBldmVyeXRoaW5nIGZyb20gYXV0b2xvYWQgKi9cbkBpbXBvcnQgXCIuL2F1dG9sb2FkL19yYy1iYXNlLXpmLnNjc3NcIjsgQGltcG9ydCBcIi4vYXV0b2xvYWQvcmMtYmFzZS16ZlwiOyBAaW1wb3J0IFwiLi9hdXRvbG9hZC9yYy1iYXNlLXpmL19mb3VuZGF0aW9uLnNjc3NcIjtcblxuLyoqXG4gKiBJbXBvcnQgbnBtIGRlcGVuZGVuY2llc1xuICpcbiAqIFByZWZpeCB5b3VyIGltcG9ydHMgd2l0aCBgfmAgdG8gZ3JhYiBmcm9tIG5vZGVfbW9kdWxlcy9cbiAqIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9zYXNzLWxvYWRlciNpbXBvcnRzXG4gKi9cbi8vIEBpbXBvcnQgXCJ+c29tZS1ub2RlLW1vZHVsZVwiO1xuXG4vKiogSW1wb3J0IGJhc2UgKi9cbkBpbXBvcnQgXCJyYy1iYXNlLXpmXCI7XG5cbkBpbmNsdWRlIHJjLWJhc2UtZWxlbWVudG9yLWV2ZXJ5dGhpbmc7XG5AaW5jbHVkZSByYy1iYXNlLXN0eWxlKHRydWUpO1xuQGluY2x1ZGUgcmMtYmFzZS1zdHlsZS1mb250KCk7XG4iLCIvLyAgcmNCYXNlIHZhcmlhYmxlc1xyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy89PSBDb2xvciBQYWxldHRlXHJcbiRiYXNlLXBhbGV0dGU6IChcclxuICBwcmltYXJ5OiAjMTc3OWJhLFxyXG4gIHNlY29uZGFyeTogIzc2NzY3NixcclxuICBzdWNjZXNzOiAjMThhNzMzLFxyXG4gIHdhcm5pbmc6ICNmZmFlMDAsXHJcbiAgYWxlcnQ6ICNjYzRiMzcsXHJcbik7XHJcblxyXG4kYmxhY2stYmFzZTogICAgICAgICAgICAgIzAwMDtcclxuJHdoaXRlLWJhc2U6ICAgICAgICAgICAgICNmZWZlZmU7XHJcbiRncmF5LWJhc2U6ICAgICAgICAgICAgICBsaWdodGVuKCRibGFjay1iYXNlLCAzMCUpO1xyXG4kbWVkaXVtLWdyYXktYmFzZTogICAgICAgbGlnaHRlbigkYmxhY2stYmFzZSwgNDYuNyUpO1xyXG4kbGlnaHQtZ3JheS1iYXNlOiAgICAgICAgbGlnaHRlbigkYmxhY2stYmFzZSwgOTMuNSUpO1xyXG4kZGFyay1ncmF5LWJhc2U6ICAgICAgICAgbGlnaHRlbigkYmxhY2stYmFzZSwgMjAlKTtcclxuXHJcbi8vPT0gQm9keVxyXG4kYm9keS1iYWNrZ3JvdW5kLWJhc2U6ICR3aGl0ZS1iYXNlO1xyXG4kYm9keS1mb250LWNvbG9yLWJhc2U6ICRibGFjay1iYXNlO1xyXG5cclxuLy89PSBHbG9iYWxcclxuJGdsb2JhbC1mbGV4Ym94LWJhc2U6IHRydWU7XHJcbiIsIi8vICBSYyBCYXNlIHNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCBcIi4uL3V0aWwvdXRpbFwiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvaWNvbnMvdmFyaWFibGVzXCI7XG5cbi8vPT0gTWFpbiBHcmlkIChPbmx5IFhZID0gZnVsbCwgZmx1aWQsIGd1dHRlciBhbmQgbm9uZSlcbiRiYXNlLWNvbnRhaW5lci1tYWluICAgICAgICA6IGZ1bGwgIWRlZmF1bHQ7XG4kYmFzZS1jb250YWluZXItbWFpbi1oZWFkZXIgOiBmdWxsICFkZWZhdWx0O1xuJGJhc2Utc2l6ZS1zaWRlYmFyOiAoXG4gIHNtYWxsOiA0LFxuICBtZWRpdW06IHNocmlua1xuKSAhZGVmYXVsdDtcblxuLy89PSBCYXNlIFN0eWxlc1xuJGJhc2Utc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgXCJoM1wiOiAoXG4gICAgICBcInNlbGVjdG9yc1wiOiAoXCJoM1wiLCBcIi5oM1wiKSxcbiAgICAgIFwicHJvdG9cIjogdHJ1ZVxuICAgIClcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgXCJoM1wiOiAoXG4gICAgICBcInNlbGVjdG9yc1wiOiAoXCJoM1wiLCBcIi5oM1wiKSxcbiAgICAgIFwicHJvdG9cIjogdHJ1ZVxuICAgIClcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vPT0gSGFtYnVyZ2VyXG4vL1NvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2pvbnN1aC9oYW1idXJnZXJzXG4kaGFtYnVyZ2VyLXBhZGRpbmcteCAgICAgICAgICAgOiAxNXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1wYWRkaW5nLXkgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItd2lkdGggICAgICAgICA6IDIwcHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAgICAgICAgOiAxcHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgICAgICAgOiA1cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWNvbG9yICAgICAgICAgOiAjMDAwICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzIDogMCAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAgICAgICA6IDAuNyAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWxheWVyLWNvbG9yICA6ICRoYW1idXJnZXItbGF5ZXItY29sb3IgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1vcGFjaXR5OiAkaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItZmlsdGVyICAgICAgICA6IG9wYWNpdHkoNTAlKSAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWhvdmVyLWZpbHRlciA6ICRoYW1idXJnZXItaG92ZXItZmlsdGVyICFkZWZhdWx0O1xuJGhhbWJ1cmdlci10eXBlczogKFxuICBcIjNkeFwiLFxuICBcIjNkeC1yXCIsXG4gIFwiM2R5XCIsXG4gIFwiM2R5LXJcIixcbiAgXCIzZHh5XCIsXG4gIFwiM2R4eS1yXCIsXG4gIGFycm93LFxuICBhcnJvdy1yLFxuICBhcnJvd2FsdCxcbiAgYXJyb3dhbHQtcixcbiAgYXJyb3d0dXJuLFxuICBhcnJvd3R1cm4tcixcbiAgYm9yaW5nLFxuICBjb2xsYXBzZSxcbiAgY29sbGFwc2UtcixcbiAgZWxhc3RpYyxcbiAgZWxhc3RpYy1yLFxuICBlbXBoYXRpYyxcbiAgZW1waGF0aWMtcixcbiAgbWludXMsXG4gIHNsaWRlcixcbiAgc2xpZGVyLXIsXG4gIHNwaW4sXG4gIHNwaW4tcixcbiAgc3ByaW5nLFxuICBzcHJpbmctcixcbiAgc3RhbmQsXG4gIHN0YW5kLXIsXG4gIHNxdWVlemUsXG4gIHZvcnRleCxcbiAgdm9ydGV4LXJcbikgIWRlZmF1bHQ7XG5cbi8vPT0gRm9udCBTdGFja1xuJGJhc2UtZm9udC1zdGFjazogKFxuICAvKipcbiAgY291cmllcl9uZXc6IChcbiAgICBmYW1pbHk6IFwiQ291cmllciBOZXdcIixcbiAgICB0eXBlOiBcInJlZ3VsYXJcIixcbiAgICBwYXRoOiBcIi4uL2ZvbnRzL2NvdXJpZXJfbmV3XCIsXG4gICAgZXh0OiB3b2ZmMiB3b2ZmIHR0ZixcbiAgICBmb250LWZhbWlseTogKFwiQ291cmllciBOZXdcIiwgQ291cmllciwgXCJOaW1idXMgU2FucyBMXCIsIG1vbm9zcGFjZSksXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCxcbiAgICBmb250LXN0eWxlOiBub3JtYWwsXG4gICksXG4gICovXG4gIGhlbHZldGljYV9uZXVlOiAoXG4gICAgZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsXG4gICAgdHlwZTogXCJyZWd1bGFyXCIsXG4gICAgZm9udC1mYW1pbHk6IChcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiksXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCxcbiAgICBmb250LXN0eWxlOiBub3JtYWwsXG4gIClcbikgIWRlZmF1bHQ7XG5cbi8vPT0gRk9OVFxuJGJhc2UtZm9udDogICAgICAgICAgICAgICAgICAgbWFwLWdldCgkYmFzZS1mb250LXN0YWNrLCBoZWx2ZXRpY2FfbmV1ZSkgIWRlZmF1bHQ7XG4kYmFzZS1mb250LWZhbWlseTogICAgICAgICAgICBtYXAtZ2V0KCRiYXNlLWZvbnQsIGZvbnQtZmFtaWx5KSAhZGVmYXVsdDtcbiRib2R5LWZvbnQtYmFzZTogICAgICAgICAgICAgICRiYXNlLWZvbnQgIWRlZmF1bHQ7XG4kYm9keS1mb250LWZhbWlseS1iYXNlOiAgICAgICAkYmFzZS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWZvbnQtdGl0bGU6ICAgICAgICAgICAgIG1hcC1nZXQoJGJhc2UtZm9udC1zdGFjaywgaGVsdmV0aWNhX25ldWUpICFkZWZhdWx0O1xuJGJhc2UtZm9udC10aXRsZS1mYW1pbHk6ICAgICAgbWFwLWdldCgkYmFzZS1mb250LXRpdGxlLCBmb250LWZhbWlseSkgIWRlZmF1bHQ7XG4kdGl0bGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkYmFzZS1mb250LXRpdGxlLWZhbWlseSAhZGVmYXVsdDtcblxuLy89PSBGb250IEljb25zXG4kZmktZm9udC1wYXRoOiBcImZvbnRzXCIgIWRlZmF1bHQ7XG4kZmktZm9udC1mYW1pbHk6IFwicmMtYmFzZS1pY29uc1wiICFkZWZhdWx0O1xuXG4vLz09IEF3ZXNvbWUgRm91bmRhdGlvbjYgQ2hlY2tib3hcbiRhZmMtZm9udC1mYW1pbHk6ICRmaS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRhZmMtdmFyLWNoZWNrOiAkZmktdmFyLWNoZWNrICFkZWZhdWx0O1xuIiwiLyoqIEltcG9ydCBGdW5jdGlvbnMgc3R5bGVzICovXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmluZ1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb2xvclwiO1xuXG4vKiogSW1wb3J0IE1peGlucyBzdHlsZXMgKi9cbkBpbXBvcnQgXCJtaXhpbnMvZm9udFwiO1xuQGltcG9ydCBcIm1peGlucy9hbmltYXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvaWNvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybVwiO1xuQGltcG9ydCBcIm1peGlucy9maXRcIjtcbiIsIi8vXG4vLyBTdHJpbmcgRnVuY3Rpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cbiIsIi8vXG4vLyBDb2xvcnMgRnVuY3Rpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIGdldC1jb2xvci1saWdodGVuKCRrZXksICR2YWx1ZSkge1xuICBAcmV0dXJuIGxpZ2h0ZW4oZ2V0LWNvbG9yKCRrZXkpLCAkdmFsdWUpO1xufVxuXG5AZnVuY3Rpb24gZ2V0LWNvbG9yLWRhcmtlbigka2V5LCAkdmFsdWUpIHtcbiAgQHJldHVybiBkYXJrZW4oZ2V0LWNvbG9yKCRrZXkpLCAkdmFsdWUpO1xufVxuIiwiLy9cbi8vIEZvbnQgRmFjZSBNaXhpblxuLy8gU291cmNlIGZyb206IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2pvbmF0aGFudG5lYWwvZDA0NjBlNWMyZDVkN2Y5YmM1ZTZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gZm9udC1mYWNlKCRuYW1lLCAkcGF0aCwgJHdlaWdodDogbnVsbCwgJHN0eWxlOiBudWxsLCAkZGlzcGxheTogYXV0bywgJGV4dHM6IGVvdCB3b2ZmMiB3b2ZmIHR0ZiBzdmcpIHtcbiAgJHNyYzogbnVsbDtcblxuICAkZXh0bW9kczogKFxuICAgIGVvdDogXCI/XCIsXG4gICAgc3ZnOiBcIiNcIiArIHN0ci1yZXBsYWNlKCRuYW1lLCBcIiBcIiwgXCJfXCIpXG4gICk7XG5cbiAgJGZvcm1hdHM6IChcbiAgICBvdGY6IFwib3BlbnR5cGVcIixcbiAgICB0dGY6IFwidHJ1ZXR5cGVcIlxuICApO1xuXG4gIEBlYWNoICRleHQgaW4gJGV4dHMge1xuICAgICRleHRtb2Q6IGlmKG1hcC1oYXMta2V5KCRleHRtb2RzLCAkZXh0KSwgJGV4dCArIG1hcC1nZXQoJGV4dG1vZHMsICRleHQpLCAkZXh0KTtcbiAgICAkZm9ybWF0OiBpZihtYXAtaGFzLWtleSgkZm9ybWF0cywgJGV4dCksIG1hcC1nZXQoJGZvcm1hdHMsICRleHQpLCAkZXh0KTtcbiAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKHF1b3RlKCRwYXRoICsgXCIuXCIgKyAkZXh0bW9kKSkgZm9ybWF0KHF1b3RlKCRmb3JtYXQpKSwgY29tbWEpO1xuICB9XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRuYW1lKTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgc3JjOiAkc3JjO1xuICAgIGZvbnQtZGlzcGxheTogJGRpc3BsYXk7XG4gIH1cbn1cblxuQG1peGluIGZvbnQtZmFjZS1zdGFjaygkZm9udC1zdGFjaykge1xuXG4gIC8vR2VuZXJhdGUgZm9udCBmYWNlIHN0YWNrXG4gIEBlYWNoICRuYW1lLCAkZm9udCBpbiAkZm9udC1zdGFjayB7XG5cbiAgICAkcGF0aDogbWFwLWdldCgkZm9udCwgcGF0aCk7XG4gICAgJGV4dDogbWFwLWdldCgkZm9udCwgZXh0KTtcbiAgICAkZGlzcGxheTogbWFwLWdldCgkZm9udCwgZGlzcGxheSk7XG4gICAgJGZvbnQtc3R5bGU6IG1hcC1nZXQoJGZvbnQsIGZvbnQtc3R5bGUpO1xuICAgICRmb250LXdlaWdodDogbWFwLWdldCgkZm9udCwgZm9udC13ZWlnaHQpO1xuICAgICRmb250LWZhbWlseTogbWFwLWdldCgkZm9udCwgZm9udC1mYW1pbHkpO1xuICAgICRmb250LWZhbWlseS1uYW1lOiBudGgoJGZvbnQtZmFtaWx5LCAxKTtcblxuICAgIEBpZiBub3QgJHBhdGgge1xuICAgICAgJHBhdGg6IFwiLi4vZm9udHMvI3skbmFtZX1cIjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmb250LWZhY2UoI3skZm9udC1mYW1pbHktbmFtZX0sIFwiI3skcGF0aH0vI3skbmFtZX0td2ViZm9udFwiLCAkZm9udC13ZWlnaHQsICRmb250LXN0eWxlLCAkZGlzcGxheSwgJGV4dCk7XG4gIH1cbn1cbiIsIi8vXG4vLyBBbmltYXRpb24gTWl4aW5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gYW5pbWF0aW9uLWFsbCB7XG4gIHRyYW5zaXRpb246IGFsbCBsaW5lYXIgMC4zcztcbn1cbiIsIi8vXG4vLyBJY29uIE1peGluXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIGljb24taW1hZ2UoXG4gICRpbWFnZSxcbiAgJGNvbG9yLFxuICAkc2l6ZTogJGZpLWZvbnQtc2l6ZS1iYXNlXG4pIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIG1hc2staW1hZ2U6ICRpbWFnZTtcbiAgbWFzay1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1zaXplOiAkc2l6ZSBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIGhlaWdodDogJHNpemU7XG4gIHdpZHRoOiAkc2l6ZTtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG5cbiAgJi5maS0yeCB7XG4gICAgbWFzay1zaXplOiAoMiAqICRzaXplKSBhdXRvO1xuICAgIGhlaWdodDogKDIgKiAkc2l6ZSk7XG4gICAgd2lkdGg6ICgyICogJHNpemUpO1xuICB9XG59XG5cbkBtaXhpbiBpY29uLXJlcGxhY2UoJGNvbnRlbnQpIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkY29udGVudDtcbiAgfVxufVxuIiwiLy9cbi8vIEZvcm0gTWl4aW5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gaW5wdXQtZ3JvdXAtc3R5bGUtaG9sbG93KFxuICAkYm9yZGVyOiAkaW5wdXQtYm9yZGVyLFxuKSB7XG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIC5idXR0b24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRpbnB1dC1iYWNrZ3JvdW5kLCAkaW5wdXQtYmFja2dyb3VuZCk7XG4gICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRidXR0b24tYmFja2dyb3VuZCwgJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLCAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGgpO1xuICAgICAgYm9yZGVyOiAkYm9yZGVyO1xuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIGJvcmRlcjogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gaW5wdXQtZ3JvdXAtc3R5bGUtYm9yZGVyKFxuICAkYm9yZGVyOiAkaW5wdXQtYm9yZGVyLFxuKSB7XG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIC5idXR0b24ge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyO1xuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlcjogJGJvcmRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIGJvcmRlcjogJGJvcmRlcjtcbiAgfVxufVxuIiwiLy9cbi8vIEZpdCBzdHlsZSBtaXhpblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBzdHlsZS1maXQtY2VudGVyKCkge1xuICB3aWR0aDogZml0LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4iLCIvL1xuLy8gSWNvbiB2YXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kZmktZm9udC1wYXRoICAgICAgIDogXCJmb250c1wiICFkZWZhdWx0O1xuJGZpLWZvbnQtZmFtaWx5ICAgICA6IFwicmMtYmFzZS1pY29uc1wiICFkZWZhdWx0O1xuJGZpLWZvbnQtc2l6ZS1iYXNlICA6IDFlbSAhZGVmYXVsdDtcbiRmaS1mb250LXByZWZpeCAgICAgOiBcImZpXCIgIWRlZmF1bHQ7XG5cbiRmaS12YXItYWRkLXVzZXI6IFwiXFxlOTAwXCI7XG4kZmktdmFyLWFpcnBsYXk6IFwiXFxlOTAxXCI7XG4kZmktdmFyLWFsYXJtOiBcIlxcZTkwMlwiO1xuJGZpLXZhci1hbGJ1bTogXCJcXGU5MDNcIjtcbiRmaS12YXItYWxidW1zOiBcIlxcZTkwNFwiO1xuJGZpLXZhci1hbWF6b246IFwiXFxlOTA1XCI7XG4kZmktdmFyLWFuY2hvcjogXCJcXGU5MDZcIjtcbiRmaS12YXItYW5nbGUtZG93bjogXCJcXGU5MDdcIjtcbiRmaS12YXItYW5nbGUtZG93bi1jaXJjbGU6IFwiXFxlOTA4XCI7XG4kZmktdmFyLWFuZ2xlLWxlZnQ6IFwiXFxlOTA5XCI7XG4kZmktdmFyLWFuZ2xlLWxlZnQtY2lyY2xlOiBcIlxcZTkwYVwiO1xuJGZpLXZhci1hbmdsZS1yaWdodDogXCJcXGU5MGJcIjtcbiRmaS12YXItYW5nbGUtcmlnaHQtY2lyY2xlOiBcIlxcZTkwY1wiO1xuJGZpLXZhci1hbmdsZS11cDogXCJcXGU5MGRcIjtcbiRmaS12YXItYW5nbGUtdXAtY2lyY2xlOiBcIlxcZTkwZVwiO1xuJGZpLXZhci1hcmM6IFwiXFxlOTBmXCI7XG4kZmktdmFyLWF0dGVudGlvbjogXCJcXGU5MTBcIjtcbiRmaS12YXItYmFjazogXCJcXGU5MTFcIjtcbiRmaS12YXItYmFjay0yOiBcIlxcZTkxMlwiO1xuJGZpLXZhci1iYWxsOiBcIlxcZTkxM1wiO1xuJGZpLXZhci1iYW46IFwiXFxlOTE0XCI7XG4kZmktdmFyLWJhbmRhaWQ6IFwiXFxlOTE1XCI7XG4kZmktdmFyLWJhdHRlcnk6IFwiXFxlOTE2XCI7XG4kZmktdmFyLWJlbGw6IFwiXFxlOTE3XCI7XG4kZmktdmFyLWJpY3ljbGU6IFwiXFxlOTE4XCI7XG4kZmktdmFyLWJsdWV0b290aDogXCJcXGU5MTlcIjtcbiRmaS12YXItYm9va21hcmtzOiBcIlxcZTkxYVwiO1xuJGZpLXZhci1ib3R0b20tYXJyb3c6IFwiXFxlOTFiXCI7XG4kZmktdmFyLWJveDE6IFwiXFxlOTFjXCI7XG4kZmktdmFyLWJveDI6IFwiXFxlOTFkXCI7XG4kZmktdmFyLWJyb3dzZXI6IFwiXFxlOTFlXCI7XG4kZmktdmFyLWNhbGN1bGF0b3I6IFwiXFxlOTFmXCI7XG4kZmktdmFyLWNhbGw6IFwiXFxlOTIwXCI7XG4kZmktdmFyLWNhbWVyYTogXCJcXGU5MjFcIjtcbiRmaS12YXItY2FyOiBcIlxcZTkyMlwiO1xuJGZpLXZhci1jYXJ0OiBcIlxcZTkyM1wiO1xuJGZpLXZhci1jYXJ0LWFkZDogXCJcXGU5MjRcIjtcbiRmaS12YXItY2FydC1lbXB0eTogXCJcXGU5MjVcIjtcbiRmaS12YXItY2FydC1mYXN0OiBcIlxcZTkyNlwiO1xuJGZpLXZhci1jYXJ0LWhhbmQ6IFwiXFxlOTI3XCI7XG4kZmktdmFyLWNhcnQtbW92ZTogXCJcXGU5MjhcIjtcbiRmaS12YXItY2FydC1uZXc6IFwiXFxlOTI5XCI7XG4kZmktdmFyLWNhc2g6IFwiXFxlOTJhXCI7XG4kZmktdmFyLWNoYXQ6IFwiXFxlOTJiXCI7XG4kZmktdmFyLWNoZWNrOiBcIlxcZTkyY1wiO1xuJGZpLXZhci1jaGVjay0yOiBcIlxcZTkyZFwiO1xuJGZpLXZhci1jaGVja291dDogXCJcXGU5MmVcIjtcbiRmaS12YXItY2hlY2stc3Ryb25nOiBcIlxcZTkyZlwiO1xuJGZpLXZhci1jbG9jazogXCJcXGU5MzBcIjtcbiRmaS12YXItY2xvc2U6IFwiXFxlOTMxXCI7XG4kZmktdmFyLWNsb3NlLWNpcmNsZTogXCJcXGU5MzJcIjtcbiRmaS12YXItY2xvdWQ6IFwiXFxlOTMzXCI7XG4kZmktdmFyLWNsb3VkLWRvd25sb2FkOiBcIlxcZTkzNFwiO1xuJGZpLXZhci1jbG91ZC11cGxvYWQ6IFwiXFxlOTM1XCI7XG4kZmktdmFyLWNvZmZlZTogXCJcXGU5MzZcIjtcbiRmaS12YXItY29tbWVudDogXCJcXGU5MzdcIjtcbiRmaS12YXItY29tcGFzczogXCJcXGU5MzhcIjtcbiRmaS12YXItY29uZmlnOiBcIlxcZTkzOVwiO1xuJGZpLXZhci1jb3B5LWZpbGU6IFwiXFxlOTNhXCI7XG4kZmktdmFyLWNyZWRpdDogXCJcXGU5M2JcIjtcbiRmaS12YXItY3JvcDogXCJcXGU5M2NcIjtcbiRmaS12YXItY3VsdHVyZTogXCJcXGU5M2RcIjtcbiRmaS12YXItY3VwOiBcIlxcZTkzZVwiO1xuJGZpLXZhci1jdXN0b20tcHJvZHVjdDogXCJcXGU5M2ZcIjtcbiRmaS12YXItZGF0ZTogXCJcXGU5NDBcIjtcbiRmaS12YXItZGVsZXRlLXVzZXI6IFwiXFxlOTQxXCI7XG4kZmktdmFyLWRpYW1vbmQ6IFwiXFxlOTQyXCI7XG4kZmktdmFyLWRpc2s6IFwiXFxlOTQzXCI7XG4kZmktdmFyLWRpc2tldHRlOiBcIlxcZTk0NFwiO1xuJGZpLXZhci1kaXNwbGF5MTogXCJcXGU5NDVcIjtcbiRmaS12YXItZGlzcGxheTI6IFwiXFxlOTQ2XCI7XG4kZmktdmFyLWRvb3ItbG9jazogXCJcXGU5NDdcIjtcbiRmaS12YXItZG93bi1hcnJvdy0yOiBcIlxcZTk0OFwiO1xuJGZpLXZhci1kb3duLWFycm93LTM6IFwiXFxlOTQ5XCI7XG4kZmktdmFyLWRvd25sb2FkOiBcIlxcZTk0YVwiO1xuJGZpLXZhci1kcmF3ZXI6IFwiXFxlOTRiXCI7XG4kZmktdmFyLWRyb3A6IFwiXFxlOTRjXCI7XG4kZmktdmFyLWVkaXQ6IFwiXFxlOTRkXCI7XG4kZmktdmFyLWVtYWlsOiBcIlxcZTk0ZVwiO1xuJGZpLXZhci1lbnZlbG9wZTogXCJcXGU5NGZcIjtcbiRmaS12YXItZXRzeTogXCJcXGU5NTBcIjtcbiRmaS12YXItZXhhcG5kMjogXCJcXGU5NTFcIjtcbiRmaS12YXItZXhwYW5kMTogXCJcXGU5NTJcIjtcbiRmaS12YXItZXllZHJvcHBlcjogXCJcXGU5NTNcIjtcbiRmaS12YXItZmFjZWJvb2s6IFwiXFxlOTU0XCI7XG4kZmktdmFyLWZhY2Vib29rLTI6IFwiXFxlOTU1XCI7XG4kZmktdmFyLWZhdm9yaXRlczogXCJcXGU5NTZcIjtcbiRmaS12YXItZmF2b3JpdGVzLWFkZGVkOiBcIlxcZTk1N1wiO1xuJGZpLXZhci1mYXZvcml0ZXMtbGlzdDogXCJcXGU5NThcIjtcbiRmaS12YXItZmVtYWxlOiBcIlxcZTk1OVwiO1xuJGZpLXZhci1maWxlOiBcIlxcZTk1YVwiO1xuJGZpLXZhci1maWxtOiBcIlxcZTk1YlwiO1xuJGZpLXZhci1maWx0ZXI6IFwiXFxlOTVjXCI7XG4kZmktdmFyLWZsYWc6IFwiXFxlOTVkXCI7XG4kZmktdmFyLWZvbGRlcjogXCJcXGU5NWVcIjtcbiRmaS12YXItZ2lmdDogXCJcXGU5NWZcIjtcbiRmaS12YXItZ2xhc3NlczogXCJcXGU5NjBcIjtcbiRmaS12YXItZ2xlYW06IFwiXFxlOTYxXCI7XG4kZmktdmFyLWdsb2JhbDogXCJcXGU5NjJcIjtcbiRmaS12YXItZ3JhcGg6IFwiXFxlOTYzXCI7XG4kZmktdmFyLWdyYXBoMTogXCJcXGU5NjRcIjtcbiRmaS12YXItZ3JhcGgyOiBcIlxcZTk2NVwiO1xuJGZpLXZhci1ncmFwaDM6IFwiXFxlOTY2XCI7XG4kZmktdmFyLWd5bTogXCJcXGU5NjdcIjtcbiRmaS12YXItaGFtbWVyOiBcIlxcZTk2OFwiO1xuJGZpLXZhci1oZWFkcGhvbmVzOiBcIlxcZTk2OVwiO1xuJGZpLXZhci1oZWxtOiBcIlxcZTk2YVwiO1xuJGZpLXZhci1oZWxwMTogXCJcXGU5NmJcIjtcbiRmaS12YXItaGVscDI6IFwiXFxlOTZjXCI7XG4kZmktdmFyLWhvbWU6IFwiXFxlOTZkXCI7XG4kZmktdmFyLWhvbWUtbmV3OiBcIlxcZTk2ZVwiO1xuJGZpLXZhci1ob3VyZ2xhc3M6IFwiXFxlOTZmXCI7XG4kZmktdmFyLWlkOiBcIlxcZTk3MFwiO1xuJGZpLXZhci1pZGVhOiBcIlxcZTk3MVwiO1xuJGZpLXZhci1pZGVhLWRpeTogXCJcXGU5NzJcIjtcbiRmaS12YXItaW5mbzogXCJcXGU5NzNcIjtcbiRmaS12YXItaW5zdGFncmFtOiBcIlxcZTk3NFwiO1xuJGZpLXZhci1qb3k6IFwiXFxlOTc1XCI7XG4kZmktdmFyLWp1bms6IFwiXFxlOTc2XCI7XG4kZmktdmFyLWtleTogXCJcXGU5NzdcIjtcbiRmaS12YXIta2V5cGFkOiBcIlxcZTk3OFwiO1xuJGZpLXZhci1sZWFmOiBcIlxcZTk3OVwiO1xuJGZpLXZhci1sZWZ0LWFycm93OiBcIlxcZTk3YVwiO1xuJGZpLXZhci1sZWZ0LWFycm93LTI6IFwiXFxlOTdiXCI7XG4kZmktdmFyLWxlZnQtYXJyb3ctMzogXCJcXGU5N2NcIjtcbiRmaS12YXItbGVzczogXCJcXGU5N2RcIjtcbiRmaS12YXItbGVzcy0yOiBcIlxcZTk3ZVwiO1xuJGZpLXZhci1saWdodDogXCJcXGU5N2ZcIjtcbiRmaS12YXItbGlrZTogXCJcXGU5ODBcIjtcbiRmaS12YXItbGlrZTI6IFwiXFxlOTgxXCI7XG4kZmktdmFyLWxpa2Utc29saWQ6IFwiXFxlOTgyXCI7XG4kZmktdmFyLWxpbms6IFwiXFxlOTgzXCI7XG4kZmktdmFyLWxpbmtlZGluOiBcIlxcZTk4NFwiO1xuJGZpLXZhci1saW5rZWRpbi0yOiBcIlxcZTk4NVwiO1xuJGZpLXZhci1saW50ZXJuOiBcIlxcZTk4NlwiO1xuJGZpLXZhci1sb2FkaW5nOiBcIlxcZTk4N1wiO1xuJGZpLXZhci1sb2FkaW5nMjogXCJcXGU5ODhcIjtcbiRmaS12YXItbG9hZGluZzM6IFwiXFxlOTg5XCI7XG4kZmktdmFyLWxvYWRpbmc0OiBcIlxcZTk4YVwiO1xuJGZpLXZhci1sb2NrOiBcIlxcZTk4YlwiO1xuJGZpLXZhci1sb2ctb3V0OiBcIlxcZTk4Y1wiO1xuJGZpLXZhci1sb29rOiBcIlxcZTk4ZFwiO1xuJGZpLXZhci1sb29wOiBcIlxcZTk4ZVwiO1xuJGZpLXZhci1tYWdpYy13YW5kOiBcIlxcZTk4ZlwiO1xuJGZpLXZhci1tYWduZXQ6IFwiXFxlOTkwXCI7XG4kZmktdmFyLW1haWw6IFwiXFxlOTkxXCI7XG4kZmktdmFyLW1haWwtb3BlbjogXCJcXGU5OTJcIjtcbiRmaS12YXItbWFpbC1vcGVuLWZpbGU6IFwiXFxlOTkzXCI7XG4kZmktdmFyLW1hbGU6IFwiXFxlOTk0XCI7XG4kZmktdmFyLW1hcDogXCJcXGU5OTVcIjtcbiRmaS12YXItbWFwLTI6IFwiXFxlOTk2XCI7XG4kZmktdmFyLW1hcC1tYXJrZXI6IFwiXFxlOTk3XCI7XG4kZmktdmFyLW1hcC1tYXJrZXItMjogXCJcXGU5OThcIjtcbiRmaS12YXItbWVkYWw6IFwiXFxlOTk5XCI7XG4kZmktdmFyLW1lbnU6IFwiXFxlOTlhXCI7XG4kZmktdmFyLW1pY3JvOiBcIlxcZTk5YlwiO1xuJGZpLXZhci1tb25pdG9yOiBcIlxcZTk5Y1wiO1xuJGZpLXZhci1tb29uOiBcIlxcZTk5ZFwiO1xuJGZpLXZhci1tb3JlOiBcIlxcZTk5ZVwiO1xuJGZpLXZhci1tb3VzZTogXCJcXGU5OWZcIjtcbiRmaS12YXItbXVzaWM6IFwiXFxlOWEwXCI7XG4kZmktdmFyLW11c2ljbGlzdDogXCJcXGU5YTFcIjtcbiRmaS12YXItbXV0ZTogXCJcXGU5YTJcIjtcbiRmaS12YXItbmV0d29yazogXCJcXGU5YTNcIjtcbiRmaS12YXItbmV3cy1wYXBlcjogXCJcXGU5YTRcIjtcbiRmaS12YXItbmV4dDogXCJcXGU5YTVcIjtcbiRmaS12YXItbmV4dC0yOiBcIlxcZTlhNlwiO1xuJGZpLXZhci1ub3RlOiBcIlxcZTlhN1wiO1xuJGZpLXZhci1ub3RlMjogXCJcXGU5YThcIjtcbiRmaS12YXItbm90ZWJvb2s6IFwiXFxlOWE5XCI7XG4kZmktdmFyLXBhaW50OiBcIlxcZTlhYVwiO1xuJGZpLXZhci1wYWludC1idWNrZXQ6IFwiXFxlOWFiXCI7XG4kZmktdmFyLXBhcGVyY2xpcDogXCJcXGU5YWNcIjtcbiRmaS12YXItcGFwZXItcGxhbmU6IFwiXFxlOWFkXCI7XG4kZmktdmFyLXBlbjogXCJcXGU5YWVcIjtcbiRmaS12YXItcGVuZHJpdmU6IFwiXFxlOWFmXCI7XG4kZmktdmFyLXBob25lOiBcIlxcZTliMFwiO1xuJGZpLXZhci1waG9uZS1uZXc6IFwiXFxlOWIxXCI7XG4kZmktdmFyLXBob3RvOiBcIlxcZTliMlwiO1xuJGZpLXZhci1waG90by1nYWxsZXJ5OiBcIlxcZTliM1wiO1xuJGZpLXZhci1waWdneTogXCJcXGU5YjRcIjtcbiRmaS12YXItcGluOiBcIlxcZTliNVwiO1xuJGZpLXZhci1waW50ZXJlc3Q6IFwiXFxlOWI2XCI7XG4kZmktdmFyLXBpbnRlcmVzdC0yOiBcIlxcZTliN1wiO1xuJGZpLXZhci1wbGFuZTogXCJcXGU5YjhcIjtcbiRmaS12YXItcGxheTogXCJcXGU5YjlcIjtcbiRmaS12YXItcGxheS0yOiBcIlxcZTliYVwiO1xuJGZpLXZhci1wbHVnOiBcIlxcZTliYlwiO1xuJGZpLXZhci1wbHVnaW46IFwiXFxlOWJjXCI7XG4kZmktdmFyLXBsdXM6IFwiXFxlOWJkXCI7XG4kZmktdmFyLXBsdXMtMjogXCJcXGU5YmVcIjtcbiRmaS12YXItcG9ydGZvbGlvOiBcIlxcZTliZlwiO1xuJGZpLXZhci1wb3N0OiBcIlxcZTljMFwiO1xuJGZpLXZhci1wb3dlcjogXCJcXGU5YzFcIjtcbiRmaS12YXItcHJldjogXCJcXGU5YzJcIjtcbiRmaS12YXItcHJpbnQ6IFwiXFxlOWMzXCI7XG4kZmktdmFyLXByb2R1Y3QtZW1wdHk6IFwiXFxlOWM0XCI7XG4kZmktdmFyLXJhZGlvOiBcIlxcZTljNVwiO1xuJGZpLXZhci1yZWZyZXNoOiBcIlxcZTljNlwiO1xuJGZpLXZhci1yZWZyZXNoLTI6IFwiXFxlOWM3XCI7XG4kZmktdmFyLXJlZnJlc2gtY2xvdWQ6IFwiXFxlOWM4XCI7XG4kZmktdmFyLXJlcGVhdDogXCJcXGU5YzlcIjtcbiRmaS12YXItcmliYm9uOiBcIlxcZTljYVwiO1xuJGZpLXZhci1yaWdodC1hcnJvdzogXCJcXGU5Y2JcIjtcbiRmaS12YXItcmlnaHQtYXJyb3ctMjogXCJcXGU5Y2NcIjtcbiRmaS12YXItcmlnaHQtYXJyb3ctMzogXCJcXGU5Y2RcIjtcbiRmaS12YXItcm9ja2V0OiBcIlxcZTljZVwiO1xuJGZpLXZhci1zYWZlOiBcIlxcZTljZlwiO1xuJGZpLXZhci1zY2llbmNlOiBcIlxcZTlkMFwiO1xuJGZpLXZhci1zY2lzc29yczogXCJcXGU5ZDFcIjtcbiRmaS12YXItc2VhcmNoOiBcIlxcZTlkMlwiO1xuJGZpLXZhci1zZWFyY2gtbmV3OiBcIlxcZTlkM1wiO1xuJGZpLXZhci1zZW5kOiBcIlxcZTlkNFwiO1xuJGZpLXZhci1zZXJ2ZXI6IFwiXFxlOWQ1XCI7XG4kZmktdmFyLXNldHRpbmdzOiBcIlxcZTlkNlwiO1xuJGZpLXZhci1zaGFyZTogXCJcXGU5ZDdcIjtcbiRmaS12YXItc2hpZWxkOiBcIlxcZTlkOFwiO1xuJGZpLXZhci1zaGlwcGluZzogXCJcXGU5ZDlcIjtcbiRmaS12YXItc2hpcHBpbmctZnJlZTogXCJcXGU5ZGFcIjtcbiRmaS12YXItc2hvcGJhZzogXCJcXGU5ZGJcIjtcbiRmaS12YXItc2h1ZmZsZTogXCJcXGU5ZGNcIjtcbiRmaS12YXItc2lnbmFsOiBcIlxcZTlkZFwiO1xuJGZpLXZhci1zaWdub3V0OiBcIlxcZTlkZVwiO1xuJGZpLXZhci1zbWlsZTogXCJcXGU5ZGZcIjtcbiRmaS12YXItc3BlYWtlcjogXCJcXGU5ZTBcIjtcbiRmaS12YXItc3RhcjogXCJcXGU5ZTFcIjtcbiRmaS12YXItc3RvcHdhdGNoOiBcIlxcZTllMlwiO1xuJGZpLXZhci1zdHVkeTogXCJcXGU5ZTNcIjtcbiRmaS12YXItc3VuOiBcIlxcZTllNFwiO1xuJGZpLXZhci1zd2l0Y2g6IFwiXFxlOWU1XCI7XG4kZmktdmFyLXRhZzogXCJcXGU5ZTZcIjtcbiRmaS12YXItdGFnczogXCJcXGU5ZTdcIjtcbiRmaS12YXItdGFyZ2V0OiBcIlxcZTllOFwiO1xuJGZpLXZhci10aWNrZXQ6IFwiXFxlOWU5XCI7XG4kZmktdmFyLXRpbWVyOiBcIlxcZTllYVwiO1xuJGZpLXZhci10b29sczogXCJcXGU5ZWJcIjtcbiRmaS12YXItdHJhY2stb3JkZXI6IFwiXFxlOWVjXCI7XG4kZmktdmFyLXRyYXNoOiBcIlxcZTllZFwiO1xuJGZpLXZhci10cm9sbGV5OiBcIlxcZTllZVwiO1xuJGZpLXZhci10d2l0dGVyOiBcIlxcZTllZlwiO1xuJGZpLXZhci11bWJyZWxsYTogXCJcXGU5ZjBcIjtcbiRmaS12YXItdW5sb2NrOiBcIlxcZTlmMVwiO1xuJGZpLXZhci11cC1hcnJvdzogXCJcXGU5ZjJcIjtcbiRmaS12YXItdXAtYXJyb3ctMjogXCJcXGU5ZjNcIjtcbiRmaS12YXItdXAtYXJyb3ctMzogXCJcXGU5ZjRcIjtcbiRmaS12YXItdXBsb2FkOiBcIlxcZTlmNVwiO1xuJGZpLXZhci11c2I6IFwiXFxlOWY2XCI7XG4kZmktdmFyLXVzZXI6IFwiXFxlOWY3XCI7XG4kZmktdmFyLXVzZXItZWRpdC1uZXc6IFwiXFxlOWY4XCI7XG4kZmktdmFyLXVzZXItZmVtYWxlOiBcIlxcZTlmOVwiO1xuJGZpLXZhci11c2VyLW5ldzogXCJcXGU5ZmFcIjtcbiRmaS12YXItdXNlcnM6IFwiXFxlOWZiXCI7XG4kZmktdmFyLXZlY3RvcjogXCJcXGU5ZmNcIjtcbiRmaS12YXItdmlkZW86IFwiXFxlOWZkXCI7XG4kZmktdmFyLXZvaWNlbWFpbDogXCJcXGU5ZmVcIjtcbiRmaS12YXItdm9sdW1lOiBcIlxcZTlmZlwiO1xuJGZpLXZhci12b2x1bWUxOiBcIlxcZWEwMFwiO1xuJGZpLXZhci12b2x1bWUyOiBcIlxcZWEwMVwiO1xuJGZpLXZhci13YWxsZXQ6IFwiXFxlYTAyXCI7XG4kZmktdmFyLXdheTogXCJcXGVhMDNcIjtcbiRmaS12YXItd2luZTogXCJcXGVhMDRcIjtcbiRmaS12YXItd29ybGQ6IFwiXFxlYTA1XCI7XG4kZmktdmFyLXdyaXN0d2F0Y2g6IFwiXFxlYTA2XCI7XG4kZmktdmFyLXlvdXR1YmU6IFwiXFxlYTA3XCI7XG4iLCJAaW1wb3J0IFwicmMtYmFzZS16Zi9mb3VuZGF0aW9uXCI7XG5AaW1wb3J0IFwifmZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uXCI7XG5AaW1wb3J0IFwifmhhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy9oYW1idXJnZXJzXCI7XG5AaW1wb3J0IFwifmF3ZXNvbWUtZm91bmRhdGlvbjYtY2hlY2tib3gvc3JjL2F3ZXNvbWUtZm91bmRhdGlvbjYtY2hlY2tib3hcIjtcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1ldmVyeXRoaW5nKCRnbG9iYWwtZmxleGJveCk7XG5cbi8vIEZvcmNlIEVuYWJsZSBHcmlkIFhZIHdpdGggZ3JpZCBmbGV4Ym94IGZhbHNlXG4vLyAhISEgVG8gdXNlIGdyaWQgd2l0aCBmbG9hdCBncmlkIG5vdCBpbmNsdWRlIGdyaWQgeHkgaW4gZ3JpZCBmbG9hdCByb3cgICEhIVxuQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3ggYW5kICR4eS1ncmlkIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2FyZFxuLy8gIDE1LiBDbG9zZSBCdXR0b25cbi8vICAxNi4gRHJpbGxkb3duXG4vLyAgMTcuIERyb3Bkb3duXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vICAyMC4gRm9ybXNcbi8vICAyMS4gTGFiZWxcbi8vICAyMi4gTWVkaWEgT2JqZWN0XG4vLyAgMjMuIE1lbnVcbi8vICAyNC4gTWV0ZXJcbi8vICAyNS4gT2ZmLWNhbnZhc1xuLy8gIDI2LiBPcmJpdFxuLy8gIDI3LiBQYWdpbmF0aW9uXG4vLyAgMjguIFByb2dyZXNzIEJhclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAgNDcuIFJldmVhbFxuLy8gIDQ4LiBTbGlkZXJcbi8vICA0OS4gU3dpdGNoXG4vLyAgNTAuIFRhYmxlXG4vLyAgNTEuIFRhYnNcbi8vICA1Mi4gVGh1bWJuYWlsXG4vLyAgNTMuIFRpdGxlIEJhclxuLy8gIDU0LiBUb29sdGlwXG4vLyAgNTUuIFRvcCBCYXJcbi8vICA1Ni4gWHkgR3JpZFxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cblxuQGltcG9ydCBcIn5mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC91dGlsXCI7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6ICRiYXNlLXBhbGV0dGU7XG4kbGlnaHQtZ3JheTogJGxpZ2h0LWdyYXktYmFzZTtcbiRtZWRpdW0tZ3JheTogJG1lZGl1bS1ncmF5LWJhc2U7XG4kZGFyay1ncmF5OiAkZGFyay1ncmF5LWJhc2U7XG4kYmxhY2s6ICRibGFjay1iYXNlO1xuJHdoaXRlOiAkd2hpdGUtYmFzZTtcbiRib2R5LWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQtYmFzZTtcbiRib2R5LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3ItYmFzZTtcbiRib2R5LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseS1iYXNlO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiAkZ2xvYmFsLWZsZXhib3gtYmFzZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICdcXDAwMkYnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFwwMDVDJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2s7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweDtcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2U7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE2KSwgMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XG5cbi8vIDQ4LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA0OS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDUyLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1My4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gNTQuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyA1NS4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcblxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuQGltcG9ydCAndW5pdCc7XG5AaW1wb3J0ICd2YWx1ZSc7XG5AaW1wb3J0ICdkaXJlY3Rpb24nO1xuQGltcG9ydCAnY29sb3InO1xuQGltcG9ydCAnc2VsZWN0b3InO1xuQGltcG9ydCAnZmxleCc7XG5AaW1wb3J0ICdicmVha3BvaW50JztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5JztcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0J3MgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVyIHRoYW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgbm90IGZhbHNleSwgaW4gQ1NTIHRlcm1zLiBGYWxzZXkgdmFsdWVzIGFyZSBgbnVsbGAsIGBub25lYCwgYDBgIHdpdGggYW55IHVuaXQsIG9yIGFuIGVtcHR5IGxpc3QuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkdmFsIC0gVmFsdWUgdG8gY2hlY2suXG4vLy9cbi8vLyBAcmV0dXJucyB7Qm9vbGVhbn0gYHRydWVgIGlmIGAkdmFsYCBpcyBub3QgZmFsc2V5LlxuQGZ1bmN0aW9uIGhhcy12YWx1ZSgkdmFsKSB7XG4gIEBpZiAkdmFsID09IG51bGwgb3IgJHZhbCA9PSBub25lIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEBpZiB0eXBlLW9mKCR2YWwpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCR2YWwpID09IDAge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJHZhbCkgPT0gMCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLyBEZXRlcm1pbmUgYSB0b3AvcmlnaHQvYm90dG9tL3JpZ2h0IHZhbHVlIG9uIGEgcGFkZGluZywgbWFyZ2luLCBldGMuIHByb3BlcnR5LCBubyBtYXR0ZXIgaG93IG1hbnkgdmFsdWVzIHdlcmUgcGFzc2VkIGluLiBVc2UgdGhpcyBmdW5jdGlvbiBpZiB5b3UgbmVlZCB0byBrbm93IHRoZSBzcGVjaWZpYyBzaWRlIG9mIGEgdmFsdWUsIGJ1dCBkb24ndCBrbm93IGlmIHRoZSB2YWx1ZSBpcyB1c2luZyBhIHNob3J0aGFuZCBmb3JtYXQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R8TnVtYmVyfSAkdmFsIC0gVmFsdWUgdG8gYW5hbHl6ZS4gU2hvdWxkIGJlIGEgc2hvcnRoYW5kIHNpemluZyBwcm9wZXJ0eSwgZS5nLiBcIjFlbSAyZW0gMWVtXCJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0byByZXR1cm4uIFNob3VsZCBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgc2luZ2xlIHZhbHVlIGJhc2VkIG9uIGAkdmFsYCBhbmQgYCRzaWRlYC5cbkBmdW5jdGlvbiBnZXQtc2lkZSgkdmFsLCAkc2lkZSkge1xuICAkbGVuZ3RoOiBsZW5ndGgoJHZhbCk7XG5cbiAgQGlmICRsZW5ndGggPT0gMSB7XG4gICAgQHJldHVybiAkdmFsO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDIge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDEpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDIpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gMyB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDIpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDMpLFxuICAgICksICRzaWRlKTtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSA0IHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMyksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgNCksXG4gICAgKSwgJHNpZGUpO1xuICB9XG59XG5cbi8vLyBHaXZlbiBib3JkZXIgJHZhbCwgZmluZCBhIHNwZWNpZmljIGVsZW1lbnQgb2YgdGhlIGJvcmRlciwgd2hpY2ggaXMgJGVsZW0uIFRoZSBwb3NzaWJsZSB2YWx1ZXMgZm9yICRlbGVtIGFyZSB3aWR0aCwgc3R5bGUsIGFuZCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbCAtIEJvcmRlciB2YWx1ZSB0byBmaW5kIGEgdmFsdWUgaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSAtIEJvcmRlciBjb21wb25lbnQgdG8gZXh0cmFjdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gSWYgdGhlIHZhbHVlIGV4aXN0cywgcmV0dXJucyB0aGUgdmFsdWUuIElmIHRoZSB2YWx1ZSBpcyBub3QgaW4gdGhlIGJvcmRlciBkZWZpbml0aW9uLCB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gYSAwcHggd2lkdGgsIHNvbGlkIHN0eWxlLCBvciBibGFjayBib3JkZXIuXG5AZnVuY3Rpb24gZ2V0LWJvcmRlci12YWx1ZSgkdmFsLCAkZWxlbSkge1xuICAvLyBGaW5kIHRoZSB3aWR0aCwgc3R5bGUsIG9yIGNvbG9yIGFuZCByZXR1cm4gaXRcbiAgQGVhY2ggJHYgaW4gJHZhbCB7XG4gICAgJHR5cGU6IHR5cGUtb2YoJHYpO1xuICAgIEBpZiAkZWxlbSA9PSB3aWR0aCBhbmQgJHR5cGUgPT0gJ251bWJlcicge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gICAgQGlmICRlbGVtID09IHN0eWxlIGFuZCAkdHlwZSA9PSAnc3RyaW5nJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgICBAaWYgJGVsZW0gPT0gY29sb3IgYW5kICR0eXBlID09ICdjb2xvcicge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZhdWx0c1xuICAkZGVmYXVsdHM6IChcbiAgICB3aWR0aDogMCxcbiAgICBzdHlsZTogc29saWQsXG4gICAgY29sb3I6ICMwMDAsXG4gICk7XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRkZWZhdWx0cywgJGVsZW0pO1xufVxuXG4vLy8gRmluZHMgYSB2YWx1ZSBpbiBhIG5lc3RlZCBtYXAuXG4vLy8gQGxpbmsgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9zYXNzL2RlZXAtZ2V0c2V0LW1hcHMvIERlZXAgR2V0L1NldCBpbiBNYXBzXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBwdWxsIGEgdmFsdWUgZnJvbS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleXMuLi4gLSBLZXlzIHRvIHVzZSB3aGVuIGxvb2tpbmcgZm9yIGEgdmFsdWUuXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcbiAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgJG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgfVxuICBAcmV0dXJuICRtYXA7XG59XG5cbi8vLyBDYXN0cyBhIG1hcCBpbnRvIGEgbGlzdC5cbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE0LzA0LzI4L2Nhc3RpbmctbWFwLWludG8tbGlzdC9cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHB1bGwgYSB2YWx1ZSBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IERlcGVuZGluZyBvbiB0aGUgZmxhZywgcmV0dXJucyBlaXRoZXIgJGtleXMgb3IgJHZhbHVlcyBvciBib3RoLlxuQGZ1bmN0aW9uIG1hcC10by1saXN0KCRtYXAsICRrZWVwOiAnYm90aCcpIHtcbiAgJGtlZXA6IGlmKGluZGV4KCdrZXlzJyAndmFsdWVzJywgJGtlZXApLCAka2VlcCwgJ2JvdGgnKTtcblxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgJGtleXM6ICgpO1xuICAgICR2YWx1ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkbWFwIHtcbiAgICAgICRrZXlzOiBhcHBlbmQoJGtleXMsICRrZXkpO1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR2YWwpO1xuICAgIH1cblxuICAgIEBpZiAka2VlcCA9PSAna2V5cycge1xuICAgICAgQHJldHVybiAka2V5cztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGtlZXAgPT0gJ3ZhbHVlcycge1xuICAgICAgQHJldHVybiAkdmFsdWVzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAcmV0dXJuIHppcCgka2V5cywgJHZhbHVlcyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZih0eXBlLW9mKCRtYXApICE9ICdsaXN0JywgKCR2YWx1ZSwpLCAkbWFwKTtcblxufVxuXG4vLy8gU2FmZWx5IHJldHVybiBhIHZhbHVlIGZyb20gYSBtYXAuXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byByZXRyaWV2ZSBhIHZhbHVlIGZyb20uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBOYW1lIG9mIHRoZSBtYXAga2V5LlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEZvdW5kIHZhbHVlLlxuQGZ1bmN0aW9uIG1hcC1zYWZlLWdldCgkbWFwLCAka2V5KSB7XG4gIEBpZiAodHlwZS1vZigkbWFwKSA9PSAnbWFwJyBvciAodHlwZS1vZigkbWFwKSA9PSAnbGlzdCcgYW5kIGxlbmd0aCgkbWFwKSA9PSAwKSkge1xuICAgIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yICdLZXk6IGAjeyRrZXl9YCBpcyBub3QgYXZhaWxhYmxlIGluIGAjeyRtYXB9YCc7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2AjeyRtYXB9YCBpcyBub3QgYSB2YWxpZCBtYXAnO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiBvZiAkZGlyXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBVc2VkIGRpcmVjdGlvbiBiZXR3ZWVuIFwidG9wXCIsIFwicmlnaHRcIiwgXCJib3R0b21cIiBhbmQgXCJsZWZ0XCIuXG4vLy8gQHJldHVybiB7S2V5d29yZH0gT3Bwb3NpdGUgZGlyZWN0aW9uIG9mICRkaXJcbkBmdW5jdGlvbiBkaXJlY3Rpb24tb3Bwb3NpdGUoXG4gICRkaXJcbikge1xuICAkZGlyczogKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCk7XG4gICRwbGFjZTogaW5kZXgoJGRpcnMsICRkaXIpO1xuXG4gIEBpZiAkcGxhY2UgPT0gbnVsbCB7XG4gICAgQGVycm9yICdkaXJlY3Rpb24tb3Bwb3NpdGU6IEludmFsaWQgJGRpciBwYXJhbWV0ZXIsIGV4cGVjdGVkIGEgdmFsdWUgZnJvbSBcIiN7JGRpcnN9XCIsIGZvdW5kIFwiI3skZGlyfVwiLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBvcHBvc2l0ZSBwbGFjZSBpbiBhIGNpcmNsZSwgd2l0aCBhIHN0YXJ0aW5nIGluZGV4IG9mIDFcbiAgJGxlbmd0aDogbGVuZ3RoKCRkaXJzKTtcbiAgJGRlbWk6ICRsZW5ndGggLyAyO1xuICAkb3Bwb3NpdGUtcGxhY2U6ICgoJHBsYWNlICsgJGRlbWkgLSAxKSAlICRsZW5ndGgpICsgMTtcblxuICBAcmV0dXJuIG50aCgkZGlycywgJG9wcG9zaXRlLXBsYWNlKTtcbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gR2VuZXJhdGVzIGEgc2VsZWN0b3Igd2l0aCBldmVyeSB0ZXh0IGlucHV0IHR5cGUuIFlvdSBjYW4gYWxzbyBmaWx0ZXIgdGhlIGxpc3QgdG8gb25seSBvdXRwdXQgYSBzdWJzZXQgb2YgdGhvc2Ugc2VsZWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fEtleXdvcmR9ICR0eXBlcyBbKCldIC0gQSBsaXN0IG9mIHRleHQgaW5wdXQgdHlwZXMgdG8gdXNlLiBMZWF2ZSBibGFuayB0byB1c2UgYWxsIG9mIHRoZW0uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbW9kaWZpZXIgWycnXSAtIEEgbW9kaWZpZXIgdG8gYmUgYXBwbGllZCB0byBlYWNoIHRleHQgaW5wdXQgdHlwZSAoZS5nLiBhIGNsYXNzIG9yIGEgcHNldWRvLWNsYXNzKS4gTGVhdmUgYmxhbmsgdG8gaWdub3JlLlxuQGZ1bmN0aW9uIHRleHQtaW5wdXRzKCR0eXBlczogKCksICRtb2RpZmllcjogJycpIHtcbiAgJHJldHVybjogKCk7XG5cbiAgJGFsbC10eXBlczpcbiAgICB0ZXh0XG4gICAgcGFzc3dvcmRcbiAgICBkYXRlXG4gICAgZGF0ZXRpbWVcbiAgICBkYXRldGltZS1sb2NhbFxuICAgIG1vbnRoXG4gICAgd2Vla1xuICAgIGVtYWlsXG4gICAgbnVtYmVyXG4gICAgc2VhcmNoXG4gICAgdGVsXG4gICAgdGltZVxuICAgIHVybFxuICAgIGNvbG9yO1xuXG4gIEBpZiBub3QgaGFzLXZhbHVlKCR0eXBlcykge1xuICAgICR0eXBlczogJGFsbC10eXBlcztcbiAgfVxuXG4gIEBlYWNoICR0eXBlIGluICR0eXBlcyB7XG4gICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJ1t0eXBlPVxcJyN7JHR5cGV9XFwnXSN7JG1vZGlmaWVyfScpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXR1cm47XG59XG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pe1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtIC4wMDEyNTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJC16Zi1mb250LXN0YWNrOiAoXG4gICdnZW9yZ2lhJzogKEdlb3JnaWEsIFwiVVJXIEJvb2ttYW4gTFwiLCBzZXJpZiksXG4gICdoZWx2ZXRpY2EnOiAoSGVsdmV0aWNhLCBBcmlhbCwgXCJOaW1idXMgU2FucyBMXCIsIHNhbnMtc2VyaWYpLFxuICAnbHVjaWRhLWdyYW5kZSc6IChcIkx1Y2lkYSBHcmFuZGVcIiwgXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsIFwiQml0c3RyZWFtIFZlcmEgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcbiAgJ21vbm9zcGFjZSc6IChcIkNvdXJpZXIgTmV3XCIsIENvdXJpZXIsIFwiTmltYnVzIFNhbnMgTFwiLCBtb25vc3BhY2UpLFxuICAnc3lzdGVtJzogKC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiksXG4gICd2ZXJkYW5hJzogKFZlcmRhbmEsIEdlbmV2YSwgXCJEZWphVnUgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcbik7XG5cbi8vLyBSZXR1cm4gYSBmb250IHN0YWNrIGxpc3QgZnJvbSBhIG1hcC4gRXF1aXZhbGVudCB0byBgbWFwLXNhZmUtZ2V0KCRuYW1lLCAkLXpmLWZvbnQtc3RhY2spYC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RhY2sgLSBOYW1lIG9mIHRoZSBmb250IHN0YWNrLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIFskLXpmLWZvbnQtc3RhY2tdIC0gTWFwIG9mIGZvbnQgc3RhY2tzIHRvIHJldHJpZXZlIGEgbGlzdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEZvdW5kIGZvbnQgc3RhY2suXG5AZnVuY3Rpb24gZm9udC1zdGFjaygkc3RhY2ssICRtYXA6ICQtemYtZm9udC1zdGFjaykge1xuICBAcmV0dXJuIG1hcC1zYWZlLWdldCgkbWFwLCAkc3RhY2spO1xufVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNS4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1ub3JtYWxpemUoKSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvLyBEb2N1bWVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG5cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgfVxuXG4gIC8vIFNlY3Rpb25zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgLy8gYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8vIEdyb3VwaW5nIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAvLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8vIDFcbiAgICBoZWlnaHQ6IDA7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLy8gMVxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvLyAyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBjb2RlLFxuICBrYmQsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgLy8gYWxsIGJyb3dzZXJzLlxuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gRW1iZWRkZWQgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG5cbiAgaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyBGb3Jtc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgZm9udC1zaXplOiAxMDAlOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDFcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAvLyAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQgeyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIFt0eXBlPVwiYnV0dG9uXCJdLFxuICBbdHlwZT1cInJlc2V0XCJdLFxuICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cblxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgbGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMVxuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAyXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG5cbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cblxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuXG4gIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gSW50ZXJhY3RpdmVcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuXG4gIGRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuXG4gIC8vIE1pc2NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG5cbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cblxuICBbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8vXG4vLy8gQ2hlY2tzIHdoZXRoZXIgYCRmdW5jdGlvbnNgIGV4aXN0IGluIGdsb2JhbCBzY29wZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtBcmdMaXN0fSAkZnVuY3Rpb25zIC0gbGlzdCBvZiBmdW5jdGlvbnMgdG8gY2hlY2sgZm9yXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfSBXaGV0aGVyIG9yIG5vdCB0aGVyZSBhcmUgbWlzc2luZyBkZXBlbmRlbmNpZXNcbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCRmdW5jdGlvbnMuLi4pIHtcbiAgJG1pc3NpbmctZGVwZW5kZW5jaWVzOiAoKTtcbiAgXG4gIEBlYWNoICRmdW5jdGlvbiBpbiAkZnVuY3Rpb25zIHtcbiAgICBAaWYgbm90IGZ1bmN0aW9uLWV4aXN0cygkZnVuY3Rpb24pIHtcbiAgICAgICRtaXNzaW5nLWRlcGVuZGVuY2llczogYXBwZW5kKCRtaXNzaW5nLWRlcGVuZGVuY2llcywgJGZ1bmN0aW9uLCBjb21tYSk7XG4gICAgfVxuICB9XG4gIFxuICBAaWYgbGVuZ3RoKCRtaXNzaW5nLWRlcGVuZGVuY2llcykgPiAwIHtcbiAgICBAZXJyb3IgJ1VubWV0IGRlcGVuZGVuY2llcyEgVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYXJlIHJlcXVpcmVkOiAjeyRtaXNzaW5nLWRlcGVuZGVuY2llc30uJztcbiAgfVxuXG4gIEByZXR1cm4gbGVuZ3RoKCRtaXNzaW5nLWRlcGVuZGVuY2llcykgPiAwO1xufVxuIiwiLy8vXG4vLy8gUmV0dXJucyB0cnV0aGluZXNzIG9mIGAkdmFsdWVgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIHZhbHVlIHRvIGNoZWNrXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuLy8vXG4gXG5AZnVuY3Rpb24gc2wtaXMtdHJ1ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpZigkdmFsdWUgPT0gbnVsbCwgZmFsc2UsICR2YWx1ZSBhbmQgJHZhbHVlICE9IG51bGwgYW5kICR2YWx1ZSAhPSAnJyBhbmQgJHZhbHVlICE9ICgpKTtcbn1cbiIsIi8vL1xuLy8vIFJldHVybnMgd2hldGhlciBgJGxpc3RgIGNvbnRhaW5zIGAkdmFsdWVgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLWNvbnRhaW5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gICAgJGxpc3QgIC0gbGlzdCB0byBjaGVja1xuLy8vIEBwYXJhbSB7Kn0gICAgICAgJHZhbHVlIC0gdmFsdWUgdG8gbG9vayBmb3Jcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtY29udGFpbihhIGIgYywgYSlcbi8vLyAvLyB0cnVlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLWNvbnRhaW4oYSBiIGMsIHopXG4vLy8gLy8gZmFsc2Vcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG4vLy9cblxuQGZ1bmN0aW9uIHNsLWNvbnRhaW4oJGxpc3QsICR2YWx1ZSkge1xuICBAcmV0dXJuIG5vdCBub3QgaW5kZXgoJGxpc3QsICR2YWx1ZSk7XG59XG5cbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1jb250YWluXG4vLy8gQGFsaWFzIHNsLWNvbnRhaW5cbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLWluY2x1ZGUoJGxpc3QsICR2YWx1ZSkge1xuICBAcmV0dXJuIHNsLWNvbnRhaW4oJGxpc3QsICR2YWx1ZSk7XG59XG4iLCIvLy8gUmVtb3ZlcyBhbGwgZmFsc2UgYW5kIG51bGwgdmFsdWVzIGZyb20gYCRsaXN0YC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1wdXJnZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLWlzLXRydWVcbi8vLyBAcmVxdWlyZXMgc2wtdG8tbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIGxpc3QgdG8gcHVyZ2Vcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcHVyZ2UobnVsbCBhIGZhbHNlIGIpXG4vLy8gLy8gYSBiXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG5cbkBmdW5jdGlvbiBzbC1wdXJnZSgkbGlzdCkge1xuICAkXzogc2wtbWlzc2luZy1kZXBlbmRlbmNpZXMoJ3NsLWlzLXRydWUnLCAnc2wtdG8tbGlzdCcpO1xuICBcbiAgJHJlc3VsdDogKCk7XG5cbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBzbC1pcy10cnVlKCRpdGVtKSB7XG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJGl0ZW0sIGxpc3Qtc2VwYXJhdG9yKCRsaXN0KSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBzbC10by1saXN0KCRyZXN1bHQpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtcHVyZ2Vcbi8vLyBAYWxpYXMgc2wtcHVyZ2Vcbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLWNsZWFuKCRsaXN0KSB7XG4gIEByZXR1cm4gc2wtcHVyZ2UoJGxpc3QpO1xufVxuIiwiLy8vXG4vLy8gUmVtb3ZlcyB2YWx1ZShzKSBgJHZhbHVlYCBmcm9tIGAkbGlzdGAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtcmVtb3ZlXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtcmVwbGFjZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAgICAkbGlzdCAgICAgIC0gbGlzdCB0byB1cGRhdGVcbi8vLyBAcGFyYW0geyp9ICAgICAgICR2YWx1ZSAgICAgLSB2YWx1ZSB0byByZW1vdmVcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcmVtb3ZlKGEgYiBjLCBhKVxuLy8vIC8vIGIgY1xuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtcmVtb3ZlKCRsaXN0LCAkdmFsdWUpIHtcbiAgJF86IHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCdzbC1yZXBsYWNlJyk7XG5cbiAgQHJldHVybiBzbC1yZXBsYWNlKCRsaXN0LCAkdmFsdWUsIG51bGwpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtcmVtb3ZlXG4vLy8gQGFsaWFzIHNsLXJlbW92ZVxuLy8vXG5cbkBmdW5jdGlvbiBzbC13aXRob3V0KCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBzbC1yZW1vdmUoJGxpc3QsICR2YWx1ZSk7XG59XG4iLCIvLy9cbi8vLyBSZXBsYWNlcyBgJG9sZGAgYnkgYCRuZXdgIGluIGAkbGlzdGAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtcmVwbGFjZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLWlzLXRydWVcbi8vLyBAcmVxdWlyZXMgc2wtcHVyZ2Vcbi8vLyBAcmVxdWlyZXMgc2wtdG8tbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAgICAkbGlzdCAgLSBsaXN0IHRvIHVwZGF0ZVxuLy8vIEBwYXJhbSB7Kn0gICAgICAgJG9sZCAgIC0gdmFsdWUgdG8gcmVwbGFjZVxuLy8vIEBwYXJhbSB7Kn0gICAgICAgJHZhbHVlIC0gbmV3IHZhbHVlIGZvciAkb2xkXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXJlcGxhY2UoYSBiIGMsIGIsIHopXG4vLy8gLy8gYSB6IGNcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcmVwbGFjZShhIGIgYywgeSwgeilcbi8vLyAvLyBhIGIgY1xuLy8vIFxuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1yZXBsYWNlKCRsaXN0LCAkb2xkLCAkdmFsdWUpIHtcbiAgJF86IHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCdzbC1pcy10cnVlJywgJ3NsLXB1cmdlJywgJ3NsLXRvLWxpc3QnKTtcblxuICAkcnVubmluZzogdHJ1ZTtcblxuICBAd2hpbGUgJHJ1bm5pbmcge1xuICAgICRpbmRleDogaW5kZXgoJGxpc3QsICRvbGQpO1xuXG4gICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgJHJ1bm5pbmc6IGZhbHNlO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICRsaXN0OiBzZXQtbnRoKCRsaXN0LCAkaW5kZXgsICR2YWx1ZSk7XG4gICAgfVxuXG4gIH1cblxuICAkbGlzdDogaWYoc2wtaXMtdHJ1ZSgkdmFsdWUpLCAkbGlzdCwgc2wtcHVyZ2UoJGxpc3QpKTtcbiAgXG4gIEByZXR1cm4gc2wtdG8tbGlzdCgkbGlzdCk7XG59XG4iLCIvLy9cbi8vLyBDYXN0cyBgJHZhbHVlYCBpbnRvIGEgbGlzdC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC10by1saXN0XG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIHZhbHVlIHRvIGNhc3QgdG8gbGlzdFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VwYXJhdG9yIFtzcGFjZV0gLSBzZXBhcmF0b3IgdG8gdXNlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXRvLWxpc3QoYSBiIGMsIGNvbW1hKVxuLy8vIC8vIGEsIGIsIGNcbi8vLyBcbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG5cbkBmdW5jdGlvbiBzbC10by1saXN0KCR2YWx1ZSwgJHNlcGFyYXRvcjogbGlzdC1zZXBhcmF0b3IoJHZhbHVlKSkge1xuICBAcmV0dXJuIGpvaW4oKCksICR2YWx1ZSwgJHNlcGFyYXRvcik7XG59XG5cbi8vL1xuLy8vIEByZXF1aXJlcyBzbC10by1saXN0XG4vLy8gQGFsaWFzIHNsLXRvLWxpc3Rcbi8vL1xuXG5AZnVuY3Rpb24gc2wtbGlzdGlmeSgkdmFsdWUpIHtcbiAgQHJldHVybiBzbC10by1saXN0KCR2YWx1ZSk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5AaW1wb3J0ICd1bml0JztcbkBpbXBvcnQgJ3ZhbHVlJztcbkBpbXBvcnQgJ2RpcmVjdGlvbic7XG5AaW1wb3J0ICdjb2xvcic7XG5AaW1wb3J0ICdzZWxlY3Rvcic7XG5AaW1wb3J0ICdmbGV4JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQnO1xuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBub3QgZmFsc2V5LCBpbiBDU1MgdGVybXMuIEZhbHNleSB2YWx1ZXMgYXJlIGBudWxsYCwgYG5vbmVgLCBgMGAgd2l0aCBhbnkgdW5pdCwgb3IgYW4gZW1wdHkgbGlzdC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICR2YWwgLSBWYWx1ZSB0byBjaGVjay5cbi8vL1xuLy8vIEByZXR1cm5zIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWxgIGlzIG5vdCBmYWxzZXkuXG5AZnVuY3Rpb24gaGFzLXZhbHVlKCR2YWwpIHtcbiAgQGlmICR2YWwgPT0gbnVsbCBvciAkdmFsID09IG5vbmUge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJHZhbCkgPT0gMCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbGlzdCcgYW5kIGxlbmd0aCgkdmFsKSA9PSAwIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vIERldGVybWluZSBhIHRvcC9yaWdodC9ib3R0b20vcmlnaHQgdmFsdWUgb24gYSBwYWRkaW5nLCBtYXJnaW4sIGV0Yy4gcHJvcGVydHksIG5vIG1hdHRlciBob3cgbWFueSB2YWx1ZXMgd2VyZSBwYXNzZWQgaW4uIFVzZSB0aGlzIGZ1bmN0aW9uIGlmIHlvdSBuZWVkIHRvIGtub3cgdGhlIHNwZWNpZmljIHNpZGUgb2YgYSB2YWx1ZSwgYnV0IGRvbid0IGtub3cgaWYgdGhlIHZhbHVlIGlzIHVzaW5nIGEgc2hvcnRoYW5kIGZvcm1hdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxOdW1iZXJ9ICR2YWwgLSBWYWx1ZSB0byBhbmFseXplLiBTaG91bGQgYmUgYSBzaG9ydGhhbmQgc2l6aW5nIHByb3BlcnR5LCBlLmcuIFwiMWVtIDJlbSAxZW1cIlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRvIHJldHVybi4gU2hvdWxkIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBzaW5nbGUgdmFsdWUgYmFzZWQgb24gYCR2YWxgIGFuZCBgJHNpZGVgLlxuQGZ1bmN0aW9uIGdldC1zaWRlKCR2YWwsICRzaWRlKSB7XG4gICRsZW5ndGg6IGxlbmd0aCgkdmFsKTtcblxuICBAaWYgJGxlbmd0aCA9PSAxIHtcbiAgICBAcmV0dXJuICR2YWw7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICksICRzaWRlKTtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAzIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMyksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDQge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCA0KSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbn1cblxuLy8vIEdpdmVuIGJvcmRlciAkdmFsLCBmaW5kIGEgc3BlY2lmaWMgZWxlbWVudCBvZiB0aGUgYm9yZGVyLCB3aGljaCBpcyAkZWxlbS4gVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgJGVsZW0gYXJlIHdpZHRoLCBzdHlsZSwgYW5kIGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsIC0gQm9yZGVyIHZhbHVlIHRvIGZpbmQgYSB2YWx1ZSBpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIC0gQm9yZGVyIGNvbXBvbmVudCB0byBleHRyYWN0LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBJZiB0aGUgdmFsdWUgZXhpc3RzLCByZXR1cm5zIHRoZSB2YWx1ZS4gSWYgdGhlIHZhbHVlIGlzIG5vdCBpbiB0aGUgYm9yZGVyIGRlZmluaXRpb24sIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiBhIDBweCB3aWR0aCwgc29saWQgc3R5bGUsIG9yIGJsYWNrIGJvcmRlci5cbkBmdW5jdGlvbiBnZXQtYm9yZGVyLXZhbHVlKCR2YWwsICRlbGVtKSB7XG4gIC8vIEZpbmQgdGhlIHdpZHRoLCBzdHlsZSwgb3IgY29sb3IgYW5kIHJldHVybiBpdFxuICBAZWFjaCAkdiBpbiAkdmFsIHtcbiAgICAkdHlwZTogdHlwZS1vZigkdik7XG4gICAgQGlmICRlbGVtID09IHdpZHRoIGFuZCAkdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgICBAaWYgJGVsZW0gPT0gc3R5bGUgYW5kICR0eXBlID09ICdzdHJpbmcnIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICAgIEBpZiAkZWxlbSA9PSBjb2xvciBhbmQgJHR5cGUgPT0gJ2NvbG9yJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmF1bHRzXG4gICRkZWZhdWx0czogKFxuICAgIHdpZHRoOiAwLFxuICAgIHN0eWxlOiBzb2xpZCxcbiAgICBjb2xvcjogIzAwMCxcbiAgKTtcblxuICBAcmV0dXJuIG1hcC1nZXQoJGRlZmF1bHRzLCAkZWxlbSk7XG59XG5cbi8vLyBGaW5kcyBhIHZhbHVlIGluIGEgbmVzdGVkIG1hcC5cbi8vLyBAbGluayBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvZGVlcC1nZXRzZXQtbWFwcy8gRGVlcCBHZXQvU2V0IGluIE1hcHNcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHB1bGwgYSB2YWx1ZSBmcm9tLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5cy4uLiAtIEtleXMgdG8gdXNlIHdoZW4gbG9va2luZyBmb3IgYSB2YWx1ZS5cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICB9XG4gIEByZXR1cm4gJG1hcDtcbn1cblxuLy8vIENhc3RzIGEgbWFwIGludG8gYSBsaXN0LlxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDQvMjgvY2FzdGluZy1tYXAtaW50by1saXN0L1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRGVwZW5kaW5nIG9uIHRoZSBmbGFnLCByZXR1cm5zIGVpdGhlciAka2V5cyBvciAkdmFsdWVzIG9yIGJvdGguXG5AZnVuY3Rpb24gbWFwLXRvLWxpc3QoJG1hcCwgJGtlZXA6ICdib3RoJykge1xuICAka2VlcDogaWYoaW5kZXgoJ2tleXMnICd2YWx1ZXMnLCAka2VlcCksICRrZWVwLCAnYm90aCcpO1xuXG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAka2V5czogKCk7XG4gICAgJHZhbHVlczogKCk7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRtYXAge1xuICAgICAgJGtleXM6IGFwcGVuZCgka2V5cywgJGtleSk7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHZhbCk7XG4gICAgfVxuXG4gICAgQGlmICRrZWVwID09ICdrZXlzJyB7XG4gICAgICBAcmV0dXJuICRrZXlzO1xuICAgIH1cbiAgICBAZWxzZSBpZiAka2VlcCA9PSAndmFsdWVzJyB7XG4gICAgICBAcmV0dXJuICR2YWx1ZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gemlwKCRrZXlzLCAkdmFsdWVzKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKHR5cGUtb2YoJG1hcCkgIT0gJ2xpc3QnLCAoJHZhbHVlLCksICRtYXApO1xuXG59XG5cbi8vLyBTYWZlbHkgcmV0dXJuIGEgdmFsdWUgZnJvbSBhIG1hcC5cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHJldHJpZXZlIGEgdmFsdWUgZnJvbS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIE5hbWUgb2YgdGhlIG1hcCBrZXkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRm91bmQgdmFsdWUuXG5AZnVuY3Rpb24gbWFwLXNhZmUtZ2V0KCRtYXAsICRrZXkpIHtcbiAgQGlmICh0eXBlLW9mKCRtYXApID09ICdtYXAnIG9yICh0eXBlLW9mKCRtYXApID09ICdsaXN0JyBhbmQgbGVuZ3RoKCRtYXApID09IDApKSB7XG4gICAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0tleTogYCN7JGtleX1gIGlzIG5vdCBhdmFpbGFibGUgaW4gYCN7JG1hcH1gJztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnYCN7JG1hcH1gIGlzIG5vdCBhIHZhbGlkIG1hcCc7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uIG9mICRkaXJcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFVzZWQgZGlyZWN0aW9uIGJldHdlZW4gXCJ0b3BcIiwgXCJyaWdodFwiLCBcImJvdHRvbVwiIGFuZCBcImxlZnRcIi5cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBPcHBvc2l0ZSBkaXJlY3Rpb24gb2YgJGRpclxuQGZ1bmN0aW9uIGRpcmVjdGlvbi1vcHBvc2l0ZShcbiAgJGRpclxuKSB7XG4gICRkaXJzOiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0KTtcbiAgJHBsYWNlOiBpbmRleCgkZGlycywgJGRpcik7XG5cbiAgQGlmICRwbGFjZSA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ2RpcmVjdGlvbi1vcHBvc2l0ZTogSW52YWxpZCAkZGlyIHBhcmFtZXRlciwgZXhwZWN0ZWQgYSB2YWx1ZSBmcm9tIFwiI3skZGlyc31cIiwgZm91bmQgXCIjeyRkaXJ9XCIuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIG9wcG9zaXRlIHBsYWNlIGluIGEgY2lyY2xlLCB3aXRoIGEgc3RhcnRpbmcgaW5kZXggb2YgMVxuICAkbGVuZ3RoOiBsZW5ndGgoJGRpcnMpO1xuICAkZGVtaTogJGxlbmd0aCAvIDI7XG4gICRvcHBvc2l0ZS1wbGFjZTogKCgkcGxhY2UgKyAkZGVtaSAtIDEpICUgJGxlbmd0aCkgKyAxO1xuXG4gIEByZXR1cm4gbnRoKCRkaXJzLCAkb3Bwb3NpdGUtcGxhY2UpO1xufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBHZW5lcmF0ZXMgYSBzZWxlY3RvciB3aXRoIGV2ZXJ5IHRleHQgaW5wdXQgdHlwZS4gWW91IGNhbiBhbHNvIGZpbHRlciB0aGUgbGlzdCB0byBvbmx5IG91dHB1dCBhIHN1YnNldCBvZiB0aG9zZSBzZWxlY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R8S2V5d29yZH0gJHR5cGVzIFsoKV0gLSBBIGxpc3Qgb2YgdGV4dCBpbnB1dCB0eXBlcyB0byB1c2UuIExlYXZlIGJsYW5rIHRvIHVzZSBhbGwgb2YgdGhlbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtb2RpZmllciBbJyddIC0gQSBtb2RpZmllciB0byBiZSBhcHBsaWVkIHRvIGVhY2ggdGV4dCBpbnB1dCB0eXBlIChlLmcuIGEgY2xhc3Mgb3IgYSBwc2V1ZG8tY2xhc3MpLiBMZWF2ZSBibGFuayB0byBpZ25vcmUuXG5AZnVuY3Rpb24gdGV4dC1pbnB1dHMoJHR5cGVzOiAoKSwgJG1vZGlmaWVyOiAnJykge1xuICAkcmV0dXJuOiAoKTtcblxuICAkYWxsLXR5cGVzOlxuICAgIHRleHRcbiAgICBwYXNzd29yZFxuICAgIGRhdGVcbiAgICBkYXRldGltZVxuICAgIGRhdGV0aW1lLWxvY2FsXG4gICAgbW9udGhcbiAgICB3ZWVrXG4gICAgZW1haWxcbiAgICBudW1iZXJcbiAgICBzZWFyY2hcbiAgICB0ZWxcbiAgICB0aW1lXG4gICAgdXJsXG4gICAgY29sb3I7XG5cbiAgQGlmIG5vdCBoYXMtdmFsdWUoJHR5cGVzKSB7XG4gICAgJHR5cGVzOiAkYWxsLXR5cGVzO1xuICB9XG5cbiAgQGVhY2ggJHR5cGUgaW4gJHR5cGVzIHtcbiAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnW3R5cGU9XFwnI3skdHlwZX1cXCddI3skbW9kaWZpZXJ9JyksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbil7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gLjAwMTI1O1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kLXpmLWZvbnQtc3RhY2s6IChcbiAgJ2dlb3JnaWEnOiAoR2VvcmdpYSwgXCJVUlcgQm9va21hbiBMXCIsIHNlcmlmKSxcbiAgJ2hlbHZldGljYSc6IChIZWx2ZXRpY2EsIEFyaWFsLCBcIk5pbWJ1cyBTYW5zIExcIiwgc2Fucy1zZXJpZiksXG4gICdsdWNpZGEtZ3JhbmRlJzogKFwiTHVjaWRhIEdyYW5kZVwiLCBcIkx1Y2lkYSBTYW5zIFVuaWNvZGVcIiwgXCJCaXRzdHJlYW0gVmVyYSBTYW5zXCIsIHNhbnMtc2VyaWYpLFxuICAnbW9ub3NwYWNlJzogKFwiQ291cmllciBOZXdcIiwgQ291cmllciwgXCJOaW1idXMgU2FucyBMXCIsIG1vbm9zcGFjZSksXG4gICdzeXN0ZW0nOiAoLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmKSxcbiAgJ3ZlcmRhbmEnOiAoVmVyZGFuYSwgR2VuZXZhLCBcIkRlamFWdSBTYW5zXCIsIHNhbnMtc2VyaWYpLFxuKTtcblxuLy8vIFJldHVybiBhIGZvbnQgc3RhY2sgbGlzdCBmcm9tIGEgbWFwLiBFcXVpdmFsZW50IHRvIGBtYXAtc2FmZS1nZXQoJG5hbWUsICQtemYtZm9udC1zdGFjaylgLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdGFjayAtIE5hbWUgb2YgdGhlIGZvbnQgc3RhY2suXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgWyQtemYtZm9udC1zdGFja10gLSBNYXAgb2YgZm9udCBzdGFja3MgdG8gcmV0cmlldmUgYSBsaXN0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRm91bmQgZm9udCBzdGFjay5cbkBmdW5jdGlvbiBmb250LXN0YWNrKCRzdGFjaywgJG1hcDogJC16Zi1mb250LXN0YWNrKSB7XG4gIEByZXR1cm4gbWFwLXNhZmUtZ2V0KCRtYXAsICRzdGFjayk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcbkBpbXBvcnQgJ3VuaXQnO1xuQGltcG9ydCAndmFsdWUnO1xuQGltcG9ydCAnZGlyZWN0aW9uJztcbkBpbXBvcnQgJ2NvbG9yJztcbkBpbXBvcnQgJ3NlbGVjdG9yJztcbkBpbXBvcnQgJ2ZsZXgnO1xuQGltcG9ydCAnYnJlYWtwb2ludCc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAndHlwb2dyYXBoeSc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIERldGVybWluZSBpZiBhIHZhbHVlIGlzIG5vdCBmYWxzZXksIGluIENTUyB0ZXJtcy4gRmFsc2V5IHZhbHVlcyBhcmUgYG51bGxgLCBgbm9uZWAsIGAwYCB3aXRoIGFueSB1bml0LCBvciBhbiBlbXB0eSBsaXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJHZhbCAtIFZhbHVlIHRvIGNoZWNrLlxuLy8vXG4vLy8gQHJldHVybnMge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbGAgaXMgbm90IGZhbHNleS5cbkBmdW5jdGlvbiBoYXMtdmFsdWUoJHZhbCkge1xuICBAaWYgJHZhbCA9PSBudWxsIG9yICR2YWwgPT0gbm9uZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkdmFsKSA9PSAwIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEBpZiB0eXBlLW9mKCR2YWwpID09ICdsaXN0JyBhbmQgbGVuZ3RoKCR2YWwpID09IDAge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8gRGV0ZXJtaW5lIGEgdG9wL3JpZ2h0L2JvdHRvbS9yaWdodCB2YWx1ZSBvbiBhIHBhZGRpbmcsIG1hcmdpbiwgZXRjLiBwcm9wZXJ0eSwgbm8gbWF0dGVyIGhvdyBtYW55IHZhbHVlcyB3ZXJlIHBhc3NlZCBpbi4gVXNlIHRoaXMgZnVuY3Rpb24gaWYgeW91IG5lZWQgdG8ga25vdyB0aGUgc3BlY2lmaWMgc2lkZSBvZiBhIHZhbHVlLCBidXQgZG9uJ3Qga25vdyBpZiB0aGUgdmFsdWUgaXMgdXNpbmcgYSBzaG9ydGhhbmQgZm9ybWF0LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fE51bWJlcn0gJHZhbCAtIFZhbHVlIHRvIGFuYWx5emUuIFNob3VsZCBiZSBhIHNob3J0aGFuZCBzaXppbmcgcHJvcGVydHksIGUuZy4gXCIxZW0gMmVtIDFlbVwiXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdG8gcmV0dXJuLiBTaG91bGQgYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIHNpbmdsZSB2YWx1ZSBiYXNlZCBvbiBgJHZhbGAgYW5kIGAkc2lkZWAuXG5AZnVuY3Rpb24gZ2V0LXNpZGUoJHZhbCwgJHNpZGUpIHtcbiAgJGxlbmd0aDogbGVuZ3RoKCR2YWwpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDEge1xuICAgIEByZXR1cm4gJHZhbDtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAyIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDMge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gNCB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDMpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDQpLFxuICAgICksICRzaWRlKTtcbiAgfVxufVxuXG4vLy8gR2l2ZW4gYm9yZGVyICR2YWwsIGZpbmQgYSBzcGVjaWZpYyBlbGVtZW50IG9mIHRoZSBib3JkZXIsIHdoaWNoIGlzICRlbGVtLiBUaGUgcG9zc2libGUgdmFsdWVzIGZvciAkZWxlbSBhcmUgd2lkdGgsIHN0eWxlLCBhbmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWwgLSBCb3JkZXIgdmFsdWUgdG8gZmluZCBhIHZhbHVlIGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gLSBCb3JkZXIgY29tcG9uZW50IHRvIGV4dHJhY3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IElmIHRoZSB2YWx1ZSBleGlzdHMsIHJldHVybnMgdGhlIHZhbHVlLiBJZiB0aGUgdmFsdWUgaXMgbm90IGluIHRoZSBib3JkZXIgZGVmaW5pdGlvbiwgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGEgMHB4IHdpZHRoLCBzb2xpZCBzdHlsZSwgb3IgYmxhY2sgYm9yZGVyLlxuQGZ1bmN0aW9uIGdldC1ib3JkZXItdmFsdWUoJHZhbCwgJGVsZW0pIHtcbiAgLy8gRmluZCB0aGUgd2lkdGgsIHN0eWxlLCBvciBjb2xvciBhbmQgcmV0dXJuIGl0XG4gIEBlYWNoICR2IGluICR2YWwge1xuICAgICR0eXBlOiB0eXBlLW9mKCR2KTtcbiAgICBAaWYgJGVsZW0gPT0gd2lkdGggYW5kICR0eXBlID09ICdudW1iZXInIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICAgIEBpZiAkZWxlbSA9PSBzdHlsZSBhbmQgJHR5cGUgPT0gJ3N0cmluZycge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gICAgQGlmICRlbGVtID09IGNvbG9yIGFuZCAkdHlwZSA9PSAnY29sb3InIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmYXVsdHNcbiAgJGRlZmF1bHRzOiAoXG4gICAgd2lkdGg6IDAsXG4gICAgc3R5bGU6IHNvbGlkLFxuICAgIGNvbG9yOiAjMDAwLFxuICApO1xuXG4gIEByZXR1cm4gbWFwLWdldCgkZGVmYXVsdHMsICRlbGVtKTtcbn1cblxuLy8vIEZpbmRzIGEgdmFsdWUgaW4gYSBuZXN0ZWQgbWFwLlxuLy8vIEBsaW5rIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9kZWVwLWdldHNldC1tYXBzLyBEZWVwIEdldC9TZXQgaW4gTWFwc1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXlzLi4uIC0gS2V5cyB0byB1c2Ugd2hlbiBsb29raW5nIGZvciBhIHZhbHVlLlxuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gbWFwLWRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG4gIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gIH1cbiAgQHJldHVybiAkbWFwO1xufVxuXG4vLy8gQ2FzdHMgYSBtYXAgaW50byBhIGxpc3QuXG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNC8wNC8yOC9jYXN0aW5nLW1hcC1pbnRvLWxpc3QvXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBwdWxsIGEgdmFsdWUgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBEZXBlbmRpbmcgb24gdGhlIGZsYWcsIHJldHVybnMgZWl0aGVyICRrZXlzIG9yICR2YWx1ZXMgb3IgYm90aC5cbkBmdW5jdGlvbiBtYXAtdG8tbGlzdCgkbWFwLCAka2VlcDogJ2JvdGgnKSB7XG4gICRrZWVwOiBpZihpbmRleCgna2V5cycgJ3ZhbHVlcycsICRrZWVwKSwgJGtlZXAsICdib3RoJyk7XG5cbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgICRrZXlzOiAoKTtcbiAgICAkdmFsdWVzOiAoKTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XG4gICAgICAka2V5czogYXBwZW5kKCRrZXlzLCAka2V5KTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdmFsKTtcbiAgICB9XG5cbiAgICBAaWYgJGtlZXAgPT0gJ2tleXMnIHtcbiAgICAgIEByZXR1cm4gJGtleXM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRrZWVwID09ICd2YWx1ZXMnIHtcbiAgICAgIEByZXR1cm4gJHZhbHVlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiB6aXAoJGtleXMsICR2YWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYodHlwZS1vZigkbWFwKSAhPSAnbGlzdCcsICgkdmFsdWUsKSwgJG1hcCk7XG5cbn1cblxuLy8vIFNhZmVseSByZXR1cm4gYSB2YWx1ZSBmcm9tIGEgbWFwLlxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcmV0cmlldmUgYSB2YWx1ZSBmcm9tLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gTmFtZSBvZiB0aGUgbWFwIGtleS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBGb3VuZCB2YWx1ZS5cbkBmdW5jdGlvbiBtYXAtc2FmZS1nZXQoJG1hcCwgJGtleSkge1xuICBAaWYgKHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcgb3IgKHR5cGUtb2YoJG1hcCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJG1hcCkgPT0gMCkpIHtcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnS2V5OiBgI3ska2V5fWAgaXMgbm90IGF2YWlsYWJsZSBpbiBgI3skbWFwfWAnO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdgI3skbWFwfWAgaXMgbm90IGEgdmFsaWQgbWFwJztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gb2YgJGRpclxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gVXNlZCBkaXJlY3Rpb24gYmV0d2VlbiBcInRvcFwiLCBcInJpZ2h0XCIsIFwiYm90dG9tXCIgYW5kIFwibGVmdFwiLlxuLy8vIEByZXR1cm4ge0tleXdvcmR9IE9wcG9zaXRlIGRpcmVjdGlvbiBvZiAkZGlyXG5AZnVuY3Rpb24gZGlyZWN0aW9uLW9wcG9zaXRlKFxuICAkZGlyXG4pIHtcbiAgJGRpcnM6ICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQpO1xuICAkcGxhY2U6IGluZGV4KCRkaXJzLCAkZGlyKTtcblxuICBAaWYgJHBsYWNlID09IG51bGwge1xuICAgIEBlcnJvciAnZGlyZWN0aW9uLW9wcG9zaXRlOiBJbnZhbGlkICRkaXIgcGFyYW1ldGVyLCBleHBlY3RlZCBhIHZhbHVlIGZyb20gXCIjeyRkaXJzfVwiLCBmb3VuZCBcIiN7JGRpcn1cIi4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgb3Bwb3NpdGUgcGxhY2UgaW4gYSBjaXJjbGUsIHdpdGggYSBzdGFydGluZyBpbmRleCBvZiAxXG4gICRsZW5ndGg6IGxlbmd0aCgkZGlycyk7XG4gICRkZW1pOiAkbGVuZ3RoIC8gMjtcbiAgJG9wcG9zaXRlLXBsYWNlOiAoKCRwbGFjZSArICRkZW1pIC0gMSkgJSAkbGVuZ3RoKSArIDE7XG5cbiAgQHJldHVybiBudGgoJGRpcnMsICRvcHBvc2l0ZS1wbGFjZSk7XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEdlbmVyYXRlcyBhIHNlbGVjdG9yIHdpdGggZXZlcnkgdGV4dCBpbnB1dCB0eXBlLiBZb3UgY2FuIGFsc28gZmlsdGVyIHRoZSBsaXN0IHRvIG9ubHkgb3V0cHV0IGEgc3Vic2V0IG9mIHRob3NlIHNlbGVjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxLZXl3b3JkfSAkdHlwZXMgWygpXSAtIEEgbGlzdCBvZiB0ZXh0IGlucHV0IHR5cGVzIHRvIHVzZS4gTGVhdmUgYmxhbmsgdG8gdXNlIGFsbCBvZiB0aGVtLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1vZGlmaWVyIFsnJ10gLSBBIG1vZGlmaWVyIHRvIGJlIGFwcGxpZWQgdG8gZWFjaCB0ZXh0IGlucHV0IHR5cGUgKGUuZy4gYSBjbGFzcyBvciBhIHBzZXVkby1jbGFzcykuIExlYXZlIGJsYW5rIHRvIGlnbm9yZS5cbkBmdW5jdGlvbiB0ZXh0LWlucHV0cygkdHlwZXM6ICgpLCAkbW9kaWZpZXI6ICcnKSB7XG4gICRyZXR1cm46ICgpO1xuXG4gICRhbGwtdHlwZXM6XG4gICAgdGV4dFxuICAgIHBhc3N3b3JkXG4gICAgZGF0ZVxuICAgIGRhdGV0aW1lXG4gICAgZGF0ZXRpbWUtbG9jYWxcbiAgICBtb250aFxuICAgIHdlZWtcbiAgICBlbWFpbFxuICAgIG51bWJlclxuICAgIHNlYXJjaFxuICAgIHRlbFxuICAgIHRpbWVcbiAgICB1cmxcbiAgICBjb2xvcjtcblxuICBAaWYgbm90IGhhcy12YWx1ZSgkdHlwZXMpIHtcbiAgICAkdHlwZXM6ICRhbGwtdHlwZXM7XG4gIH1cblxuICBAZWFjaCAkdHlwZSBpbiAkdHlwZXMge1xuICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCdbdHlwZT1cXCcjeyR0eXBlfVxcJ10jeyRtb2RpZmllcn0nKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAuMDAxMjU7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiQtemYtZm9udC1zdGFjazogKFxuICAnZ2VvcmdpYSc6IChHZW9yZ2lhLCBcIlVSVyBCb29rbWFuIExcIiwgc2VyaWYpLFxuICAnaGVsdmV0aWNhJzogKEhlbHZldGljYSwgQXJpYWwsIFwiTmltYnVzIFNhbnMgTFwiLCBzYW5zLXNlcmlmKSxcbiAgJ2x1Y2lkYS1ncmFuZGUnOiAoXCJMdWNpZGEgR3JhbmRlXCIsIFwiTHVjaWRhIFNhbnMgVW5pY29kZVwiLCBcIkJpdHN0cmVhbSBWZXJhIFNhbnNcIiwgc2Fucy1zZXJpZiksXG4gICdtb25vc3BhY2UnOiAoXCJDb3VyaWVyIE5ld1wiLCBDb3VyaWVyLCBcIk5pbWJ1cyBTYW5zIExcIiwgbW9ub3NwYWNlKSxcbiAgJ3N5c3RlbSc6ICgtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYpLFxuICAndmVyZGFuYSc6IChWZXJkYW5hLCBHZW5ldmEsIFwiRGVqYVZ1IFNhbnNcIiwgc2Fucy1zZXJpZiksXG4pO1xuXG4vLy8gUmV0dXJuIGEgZm9udCBzdGFjayBsaXN0IGZyb20gYSBtYXAuIEVxdWl2YWxlbnQgdG8gYG1hcC1zYWZlLWdldCgkbmFtZSwgJC16Zi1mb250LXN0YWNrKWAuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0YWNrIC0gTmFtZSBvZiB0aGUgZm9udCBzdGFjay5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCBbJC16Zi1mb250LXN0YWNrXSAtIE1hcCBvZiBmb250IHN0YWNrcyB0byByZXRyaWV2ZSBhIGxpc3QgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBGb3VuZCBmb250IHN0YWNrLlxuQGZ1bmN0aW9uIGZvbnQtc3RhY2soJHN0YWNrLCAkbWFwOiAkLXpmLWZvbnQtc3RhY2spIHtcbiAgQHJldHVybiBtYXAtc2FmZS1nZXQoJG1hcCwgJHN0YWNrKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBHbG9iYWwgc3BhY2luZyBmb3IgZm9ybSBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuQGltcG9ydCAndGV4dCc7XG5AaW1wb3J0ICdjaGVja2JveCc7XG5AaW1wb3J0ICdsYWJlbCc7XG5AaW1wb3J0ICdoZWxwLXRleHQnO1xuQGltcG9ydCAnaW5wdXQtZ3JvdXAnO1xuQGltcG9ydCAnZmllbGRzZXQnO1xuQGltcG9ydCAnc2VsZWN0JztcbkBpbXBvcnQgJ3JhbmdlJztcbkBpbXBvcnQgJ3Byb2dyZXNzJztcbkBpbXBvcnQgJ21ldGVyJztcbkBpbXBvcnQgJ2Vycm9yJztcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tdGV4dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXg7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXNlbGVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWVycm9yO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogJGlucHV0LWxpbmUtaGVpZ2h0KSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzbGlkZXIncyB0cmFjay5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGFjdGl2ZSBmaWxsIGNvbG9yIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGhhbmRsZSBmb3IgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgYW1vdW50IG9mIGEgZGlzYWJsZWQgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQge1xuICBpbnB1dFt0eXBlPSdyYW5nZSddIHsgIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICRtYXJnaW46ICgkc2xpZGVyLWhhbmRsZS1oZWlnaHQgLSAkc2xpZGVyLWhlaWdodCkgLyAyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW47XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgLy8gQ2hyb21lL1NhZmFyaVxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGaXJlZm94XG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlclxuICAgICY6Oi1tcy10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItYm90dG9tOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBhdC1yb290IHtcbiAgICAgIG91dHB1dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb2dyZXNzLWJhclxuLy8vL1xuXG4vLy8gSGVpZ2h0IG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLWhlaWdodDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBhIHByb2dyZXNzIGJhcidzIG1ldGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1lbGVtZW50IHtcbiAgcHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgfVxuXG4gICAgLy8gRm9yIEZpcmVmb3hcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhY2tncm91bmQ7XG5cbiAgICAmOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgc2V0cyB0aGUgZmlsbCB3aXRoIGNvbG9yXG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvciBJRSBhbmQgRWRnZVxuICAgICY6Oi1tcy1maWxsIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZXRlclxuLy8vL1xuXG4vLy8gSGVpZ2h0IG9mIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kbWV0ZXItaGVpZ2h0OiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIExlbmd0aFxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhbiBvcHRpbWFsIHZhbHVlIGluIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gTWV0ZXIgZmlsbCBmb3IgYW4gYXZlcmFnZSB2YWx1ZSBpbiBhIGA8bWV0ZXI+YCBlbGVtZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gTWV0ZXIgZmlsbCBmb3IgYSBzdWJvcHRpbWFsIHZhbHVlIGluIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1tZXRlci1lbGVtZW50IHtcbiAgbWV0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJG1ldGVyLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgLy8gRGlzYWJsZSBgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lYCBmcm9tIGdldHRpbmcgcHJlZml4ZWQsXG4gICAgLy8gV2UgaGF2ZSBkaXNhYmxlZCBhdXRvcHJlZml4ZXIgZmlyc3QgYW5kIGFyZSBqdXN0IG9ubHkgdXNpbmcgXG4gICAgLy8gYC1tb3otYXBwZWFyYW5jZTogbm9uZWAgYXMgYSBwcmVmaXggYW5kIG5lZ2xlY3RpbmcgdGhlIHdlYmtpdC5cbiAgICBcbiAgICAvKiEgYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAvLyBGb3IgRmlyZWZveFxuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItYmFja2dyb3VuZDtcblxuICAgIC8vIENocm9tZS9TYWZhcmkvRWRnZVxuICAgICY6Oi13ZWJraXQtbWV0ZXItYmFyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLWlubmVyLWVsZW1lbnQge1xuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1vcHRpbXVtLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWdvb2Q7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItc3Vib3B0aW11bS12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1tZWRpdW07XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItZXZlbi1sZXNzLWdvb2QtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtYmFkO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbW96LW1ldGVyLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjotbW96LW1ldGVyLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLWdvb2Q7XG4gICAgfVxuXG4gICAgJjotbW96LW1ldGVyLXN1Yi1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1tZWRpdW07XG4gICAgfVxuXG4gICAgJjotbW96LW1ldGVyLXN1Yi1zdWItb3B0aW11bTo6LW1vei1tZXRlci1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtYmFkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHlcbi8vLy9cblxuLy8gQmFzZSB0eXBvZ3JhcGh5IHN0eWxlcyAodGFncyBvbmx5KVxuQGltcG9ydCAnYmFzZSc7XG5cbi8vIFR5cG9ncmFwaHkgaGVscGVyIGNsYXNzZXMgKGNsYXNzZXMgb25seSlcbkBpbXBvcnQgJ2hlbHBlcnMnO1xuXG4vLyBUZXh0IGFsaWdubWVudCBjbGFzc2VzXG5AaW1wb3J0ICdhbGlnbm1lbnQnO1xuXG4vLyBQcmludCBzdHlsZXNcbkBpbXBvcnQgJ3ByaW50JztcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeSB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcmludC1zdHlsZXM7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT4tPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIGZvciBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHN0eWxlcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8gJGhlYWRlci1zdHlsZXMgbWFwIGlzIGJ1aWx0IGZyb20gJGhlYWRlci1zaXplcyBpbiBvcmRlciB0byBlbnN1cmUgZG93bndhcmQgY29tcGF0aWJpbGl0eVxuLy8gd2hlbiAkaGVhZGVyLXNpemVzIGlzIGRlcHJlY2lhdGVkLCAkaGVhZGVyLXN0eWxlcyBuZWVkcyB0byBnZXQgIWRlZmF1bHQgdmFsdWVzIGxpa2Ugc2V0dGluZ3Muc2Nzc1xuQGZ1bmN0aW9uIGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpIHtcbiAgQHdhcm4gJ05vdGUsIHRoYXQgJGhlYWRlci1zaXplcyBoYXMgYmVlbiByZXBsYWNlZCB3aXRoICRoZWFkZXItc3R5bGVzLiAkaGVhZGVyLXNpemVzIHN0aWxsIHdvcmtzLCBidXQgaXQgaXMgZ29pbmcgdG8gYmUgZGVwcmVjaWF0ZWQuJztcbiAgJGhlYWRlci1zdHlsZXM6ICgpO1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zaXplcyB7XG4gICAgJGhlYWRlci1tYXA6ICgpO1xuICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgJGhlYWRlci1tYXA6IG1hcC1tZXJnZSgkaGVhZGVyLW1hcCwgKCRoZWFkZXI6ICgnZm9udC1zaXplJzogJGZvbnQtc2l6ZSkpKTtcbiAgICB9XG4gICAgJGhlYWRlci1zdHlsZXM6IG1hcC1tZXJnZSgkaGVhZGVyLXN0eWxlcywgKCRzaXplOiAkaGVhZGVyLW1hcCkpO1xuICB9XG4gIEByZXR1cm4gJGhlYWRlci1zdHlsZXM7XG59XG5cbi8vIElmIGl0IGV4aXN0cyAkaGVhZGVycy1zaXplcyBpcyB1c2VkIHRvIGJ1aWxkICRoZWFkZXItc3R5bGVzLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGhlYWRlci1zaXplcykge1xuICAkaGVhZGVyLXN0eWxlczogYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcyk7XG59XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLCAuaDEsXG4gIGgyLCAuaDIsXG4gIGgzLCAuaDMsXG4gIGg0LCAuaDQsXG4gIGg1LCAuaDUsXG4gIGg2LCAuaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcblxuICAgIHNtYWxsIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHN0eWxlc1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRoZWFkZXItZGVmcyBpbiAkaGVhZGVycyB7XG4gICAgICAgICRmb250LXNpemUtdGVtcDogMXJlbTtcbiAgICAgICAgI3skaGVhZGVyfSwgLiN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyLCBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBGaWd1cmVzXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXlzIG5leHQgdG8gYWxsIGxpbmtzIHRoZWlyIFwiaHJlZlwiIHdoZW4gcHJpbnRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LWhyZWZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZS1hbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBUaGUgbWF4aW11bSB3aWR0aCBvZiBhIHJvdy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudCBvZiBhIGdyaWQuIENoYW5naW5nIHRoaXMgdmFsdWUgYWZmZWN0cyB0aGUgbG9naWMgb2YgdGhlIGdyaWQgbWl4aW5zLCBhbmQgdGhlIG51bWJlciBvZiBDU1MgY2xhc3NlcyBvdXRwdXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBzcGFjZSBiZXR3ZWVuIGNvbHVtbnMgYXQgZGlmZmVyZW50IHNjcmVlbiBzaXplcy4gVG8gdXNlIGp1c3Qgb25lIHNpemUsIHNldCB0aGUgdmFyaWFibGUgdG8gYSBudW1iZXIgaW5zdGVhZCBvZiBhIG1hcC5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbi8vLyBAc2luY2UgNi4xLjBcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyB3aWxsIGFsaWduIHRvIHRoZSBvcHBvc2l0ZSBlZGdlIG9mIHRoZSByb3cuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciB1c2VkIGZvciBhbiBhbGlhcyBvZiBjb2x1bW4gKHdpdGggQGV4dGVuZCkuIElmIGBmYWxzZWAsIG5vIGFsaWFzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJyAhZGVmYXVsdDtcblxuLy8vIFRoZSBoaWdoZXN0IG51bWJlciBvZiBgLngtdXBgIGNsYXNzZXMgYXZhaWxhYmxlIHdoZW4gdXNpbmcgdGhlIGJsb2NrIGdyaWQgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJGJsb2NrLWdyaWQtbWF4OiA4ICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YWx1ZSB0byBzdG9yZSB0aGUgZW5kIGNvbHVtbiBmbG9hdCBkaXJlY3Rpb25cbiQtemYtZW5kLWZsb2F0OiBpZigkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSwgJGdsb2JhbC1yaWdodCwgJGdsb2JhbC1sZWZ0KTtcblxuQGltcG9ydCAncm93JztcbkBpbXBvcnQgJ2NvbHVtbic7XG5AaW1wb3J0ICdzaXplJztcbkBpbXBvcnQgJ3Bvc2l0aW9uJztcbkBpbXBvcnQgJ2d1dHRlcic7XG5AaW1wb3J0ICdjbGFzc2VzJztcbkBpbXBvcnQgJ2xheW91dCc7XG5cbkBpbXBvcnQgJ2ZsZXgtZ3JpZCc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgLyAyICogLTE7XG5cbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldCBhIGdyaWQgcm93IHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbkBtaXhpbiBncmlkLXJvdy1zaXplKCRzaXplOiAkZ3JpZC1yb3ctd2lkdGgpIHtcbiAgQGlmICRzaXplID09IGV4cGFuZCB7XG4gICAgJHNpemU6IG5vbmU7XG4gIH1cblxuICBtYXgtd2lkdGg6ICRzaXplO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIFBvc2l0aW9uXG4gIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhhdXRvKTtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIEl0IGNhbiBiZTpcbi8vLyAgICogQSBudW1iZXI6IFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50XG4vLy8gICAgIHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZVxuLy8vICAgICBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuXG4vLy8gICAqIGBjZW50ZXJgOiBDb2x1bW4gd2lsbCBiZSBjZW50ZXJlZFxuLy8vICAgKiBgYXV0b2A6IENvbHVtbiB3aWxsIGJlIHB1c2hlZCB0byB0aGUgbGVmdCAob3IgdG8gdGhlIHJpZ2h0IGZvciB0aGUgbGFzdCBjb2x1bW4pLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICAvLyBBdXRvIHBvc2l0aW9uaW5nXG4gIEBpZiAkcG9zaXRpb24gPT0gYXV0byB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHVzaC9wdWxsXG4gIEBlbHNlIGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuXG4gIC8vIENlbnRlciBwb3NpdGlvbmluZ1xuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBcImNlbnRlclwiIG9yIFwiYXV0b1wiLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oYXV0byk7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBPdXRwdXRzIENTUyBjbGFzc2VzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiBmb3VuZGF0aW9uLWdyaWQoXG4gICRyb3c6ICdyb3cnLFxuICAkY29sdW1uOiAnY29sdW1uJyxcbiAgJGNvbHVtbi1yb3c6ICdjb2x1bW4tcm93JyxcbiAgJGd1dHRlcjogJ2d1dHRlcicsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnLFxuICAkYmxvY2s6ICdibG9jaydcbikge1xuICAvLyBSb3dcbiAgLiN7JHJvd30ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgLy8gQ29sbGFwc2luZ1xuICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJiAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuXG4gICAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgKGZ1bGwtd2lkdGgpIHJvd1xuICAgICYuI3skZXhwYW5kZWR9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC4jeyRleHBhbmRlZH0pIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkZ3JpZC1jb2x1bW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAvLyBTdGF0aWMgKHVucmVzcG9uc2l2ZSkgcm93IGd1dHRlcnNcbiAgICAgIC8vXG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRncmlkLWNvbHVtbi1ndXR0ZXIge1xuICAgICAgICAmLiN7JGd1dHRlcn0tI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCR2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmLiN7JGVuZH0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLiN7JHJvd30gLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBDb2x1bW4gd2lkdGhcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICBAaWYgJGkgPCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpLCAnLiN7JGNvbHVtbn0nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRleHBhbmRlZH0uI3skcm93fSAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfS4jeyRyb3d9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfSxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIGFuZCBoYXMtdmFsdWUoJGdyaWQtY29sdW1uLWFsaWFzKSB7XG4gICAgLiN7JGdyaWQtY29sdW1uLWFsaWFzfSB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdyYXAgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gaGF2ZSByb3cgd3JhcHBpbmcgYmVoYXZpb3Igc2V0IHRvIG5vd3JhcFxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMsIGluIGNhc2UgdGhlIHJvdyBpcyBuZXN0ZWQuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZmxleC1ncmlkLXJvdyhcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICR3cmFwOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93ICR3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBleHBhbmRgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLlxuQGZ1bmN0aW9uIGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnM6IGV4cGFuZCkge1xuICAkZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gZXhwYW5kIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMgd2lkdGguIFNlZSB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcmAgbWl4aW4uXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IGV4cGFuZCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgQGluY2x1ZGUgZmxleC1ncmlkLXNpemUoJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gZml4ZXMgcmVjZW50IENocm9tZSB2ZXJzaW9uIG5vdCBsaW1pdGluZyBjaGlsZCB3aWR0aFxuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDkzNDU4Ni93aGl0ZS1zcGFjZS1ub3dyYXAtYW5kLWZsZXhib3gtZGlkLW5vdC13b3JrLWluLWNocm9tZVxuICBAaWYgJGNvbHVtbnMgPT0gZXhwYW5kIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgY29sdW1ucyB0byBkaXNwbGF5IG9uIGVhY2ggcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXG5AbWl4aW4gZmxleC1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gID4gI3skc2VsZWN0b3J9IHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSB3aWR0aCBmbGV4IGdyaWQgY29sdW1uLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZmxleC1ncmlkLXNpemUoJGNvbHVtbnM6IG51bGwpIHtcbiAgJGNvbHVtbnM6ICRjb2x1bW5zIG9yIGV4cGFuZDtcblxuICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zKTtcblxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IGV4cGFuZCBhbmQgJGNvbHVtbnMgIT0gc2hyaW5rIHtcbiAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxufVxuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG5cbiAgICAgICYuY29sbGFwc2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIHJvd1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVW5kbyBuZWdhdGl2ZSBtYXJnaW5zXG4gICAgLy8gRnJvbSBjb2xsYXBzZWQgY2hpbGRcbiAgICAmLmlzLWNvbGxhcHNlLWNoaWxkLFxuICAgICYuY29sbGFwc2UgPiAuY29sdW1uID4gLnJvdyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbjtcbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuY29sdW1uLnJvdy5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC5yb3cgLmNvbHVtbi5yb3cucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkaSk7XG4gICAgICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC8vIFNpemluZyAoZXhwYW5kKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1leHBhbmQge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuY29sdW1uLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAuY29sdW1uOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIEVuYWJsZXMgdGhlIFhZIGdyaWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHh5LWdyaWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWF4aW11bSB3aWR0aCBvZiBhIGdyaWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gVGhlIG51bWJlciBvZiBjb2x1bW5zIHVzZWQgaW4gdGhlIGdyaWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2YgbWFyZ2luIGJldHdlZW4gY2VsbHMgYXQgZGlmZmVyZW50IHNjcmVlbiBzaXplcyB3aGVuIHVzaW5nIHRoZSBtYXJnaW4gZ3JpZC4gVG8gdXNlIGp1c3Qgb25lIHNpemUsIHNldCB0aGUgdmFyaWFibGUgdG8gYSBudW1iZXIgaW5zdGVhZCBvZiBhIG1hcC5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYW1vdW50IG9mIHBhZGRpbmcgaW4gY2VsbHMgYXQgZGlmZmVyZW50IHNjcmVlbiBzaXplcyB3aGVuIHVzaW5nIHRoZSBwYWRkaW5nIGdyaWQuIFRvIHVzZSBqdXN0IG9uZSBzaXplLCBzZXQgdGhlIHZhcmlhYmxlIHRvIGEgbnVtYmVyIGluc3RlYWQgb2YgYSBtYXAuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBwYWRkaW5nIHRvIHVzZSB3aGVuIHBhZGRpbmcgdGhlIGdyaWQtY29udGFpbmVyLlxuLy8vIEB0eXBlIE1hcCB8IExlbmd0aFxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycyAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIHRvIGFwcGx5IHRvIGEgZ3JpZCBjb250YWluZXJcbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWF4aW11bSBudW1iZXIgb2YgY2VsbHMgaW4gYW4gWFkgYmxvY2sgZ3JpZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR4eS1ibG9jay1ncmlkLW1heDogOCAhZGVmYXVsdDtcblxuQGltcG9ydCAnZ3V0dGVycyc7XG5AaW1wb3J0ICdncmlkJztcbkBpbXBvcnQgJ2NlbGwnO1xuQGltcG9ydCAnZnJhbWUnO1xuQGltcG9ydCAncG9zaXRpb24nO1xuQGltcG9ydCAnbGF5b3V0JztcbkBpbXBvcnQgJ2NvbGxhcHNlJztcbkBpbXBvcnQgJ2NsYXNzZXMnO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgLyAyO1xuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJGdyaWQtY29udGFpbmVyLXBhZGRpbmddIC0gcGFkZGluZ3Mgb2YgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBuIG9mIG4gYW5kIG51bWJlciBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJHNpemUpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkc2l6ZSkgPT0gJyUnIHtcbiAgICAgICRzaXplOiAkc2l6ZTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHNpemUgPCAxIHtcbiAgICAgICRzaXplOiBwZXJjZW50YWdlKCRzaXplKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUgLyAkZ3JpZC1jb2x1bW5zKTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgb3IgXCJuL25cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRzaXplKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJHNpemUpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiIG9yIFwibi9uXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UobnRoKCRzaXplLCAxKSAvIG50aCgkc2l6ZSwgMykpO1xuICAgIH1cbiAgfVxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIHh5LWNlbGwtc2l6ZSgpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cblxuICBAcmV0dXJuICRzaXplO1xufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYGdyb3dgLlxuQG1peGluIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgYmFzZSBzdHlsZSwgYWxsIG90aGVycyBpbmhlcml0IGZyb20gaXRcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB3aWR0aCwgaGVpZ2h0KTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vIFNldHMgb3VyIGNlbGwgd2lkdGhzIG9yIGhlaWdodHMgZGVwZW5kaW5nIG9uIGd1dHRlciB0eXBlLlxuQG1peGluIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRtYXJnaW4tZ3V0dGVyLCAkdmVydGljYWwpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgJHZhbDogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgMTAwJSwgY2FsYygxMDAlIC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgI3skZGlyZWN0aW9ufTogJHZhbDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkc2l6ZSl9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRzaXplKX0gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRicC1pcy1mYWxsYmFjazogZmFsc2U7XG5cbiAgQGlmKCRicmVha3BvaW50ID09IG51bGwpIHtcbiAgICAvLyBJZiBgJGJwLXNpemVgIGlzIGF2YWlsYWJsZSB0aGVuIHVzZSB0aGlzLCBvdGhlcndpc2UgcmV2ZXJ0IHRvIHRoZSBzbWFsbGVzdCBicC5cbiAgICBAaWYodmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSBhbmQgdHlwZS1vZigkLXpmLXNpemUpICE9ICdudW1iZXInKSBhbmQgJC16Zi1zaXplICE9IG51bGwge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50O1xuICAgICAgJGJwLWlzLWZhbGxiYWNrOiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIGZvciB0aGUgZ2l2ZW4gYnJlYWtwb2ludC92YWx1ZS5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBmYWxsYmFjaywgdXNlIGEgZmFsbGJhY2sgZ3V0dGVyIGFzIHdlbGxcbiAgQGlmICgkYnAtaXMtZmFsbGJhY2sgPT0gdHJ1ZSBhbmQgJGd1dHRlciA9PSBudWxsKSB7XG4gICAgJGd1dHRlcjogMDtcbiAgfVxuXG4gIEBpZigkZ3V0dGVyICE9IG51bGwpIHtcbiAgICAvLyBCYXNlIGZsZXggcHJvcGVydGllc1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgICBAaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIEBpZiAkZ3V0dGVyLW91dHB1dCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAneHktY2VsbDogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCIsIGNlbGwgd2FzIG5vdCBnZW5lcmF0ZWRgJ1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgIChkZWZhdWx0KSBmb3IgMTAwJSB3aWR0aCwgYGF1dG9gIHRvIHVzZSB1cCBhdmFpbGFibGUgc3BhY2UgYW5kIGBzaHJpbmtgIHRvIHVzZSB1cCBvbmx5IHJlcXVpcmVkIHNwYWNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkZ3V0dGVyLCAkdmVydGljYWwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAwLCAkdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSWYgd2Ugd2FudCB0byBvdXRwdXQgdGhlIGd1dHRlcnNcbiAgQGlmKCRndXR0ZXItb3V0cHV0KSB7XG4gICAgLy8gVE9ETzogRmlndXJlIG91dCBpZiB3ZSBuZWVkIHRvIHBhc3MgYnJlYWtwb2ludCBpbiBoZXJlIHRvby5cbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHpmLWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJGJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBTZWUgYC16Zi1icmVha3BvaW50LXZhbHVlKClgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGJyZWFrcG9pbnQsICRndXR0ZXJzKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuICAgICRndXR0ZXItbWFyZ2luOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsICRndXR0ZXIsIDApO1xuICAgICRzaXplOiBpZigkZ3V0dGVyLW1hcmdpbiA9PSAwLCAje3h5LWNlbGwtc2l6ZSgkbil9LCBjYWxjKCN7eHktY2VsbC1zaXplKCRuKX0gKyAjeyRndXR0ZXItbWFyZ2lufSkpO1xuXG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JHNpemV9O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gIG9yIGBwYWRkaW5nYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlcyB0aGUgZ3JpZCBhIGNlbGxzIHdpdGhpbiBpdC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWy5jZWxsXSAtIFRoZSBjaGlsZCBlbGVtZW50IHRvIHJlbW92ZSB0aGUgZ3V0dGVyIGZyb20uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gcmVtb3ZlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb25zIHRvIHJlbW92ZSBndXR0ZXJzIGZyb20uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1pbi1icmVha3BvaW50IFskLXpmLXplcm8tYnJlYWtwb2ludF0gLSBNaW5pbXVtIGJyZWFrcG9pbnQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGZvciB3aGljaCB0byBjb2xsYXBzZSB0aGUgZ3V0dGVyLlxuQG1peGluIHh5LWdyaWQtY29sbGFwc2UoXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRtaW4tYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnRcbikge1xuICAvLyBGaXJzdCwgbGV0cyBuZWdhdGUgYW55IG1hcmdpbnMgb24gdGhlIHRvcCBsZXZlbFxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICRleGNsdWRlZC1icHM6IC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJG1pbi1icmVha3BvaW50KTtcblxuICAgIC8vIE91dHB1dCBuZXcgd2lkdGhzIHRvIG5vdCBpbmNsdWRlIGd1dHRlcnNcbiAgICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYoc2wtY29udGFpbigkZXhjbHVkZWQtYnBzLCAkYnApKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgpO1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRncmlkLWNvbHVtbnMsIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKGF1dG8sIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkYnJlYWtwb2ludDogJGd1dHRlci1icmVha3BvaW50LCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkYnJlYWtwb2ludDogJC16Zi1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlLCAkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6IHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgID4gLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKCRpLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICAgID4gLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogdG9wIGJvdHRvbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgfVxuXG59XG5cbkBtaXhpbiB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQ6IHRydWUsICRtYXJnaW4tZ3JpZDogdHJ1ZSkge1xuICAvLyBGcmFtZWQgZ3JpZCBzdHlsZXNcbiAgLmdyaWQtZnJhbWUge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gIH1cblxuICAuY2VsbCAuZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gIH1cblxuICAuY2VsbC1ibG9jayB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICB9XG5cbiAgLmNlbGwtYmxvY2steSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgfVxuXG5cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICB9XG5cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG5cbiAgICAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgICB9XG5cbiAgICAuY2VsbCAuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLXkge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jayh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJHZlcnRpY2FsLWdyaWQge1xuICAgIC5ncmlkLXkge1xuICAgICAgJi5ncmlkLWZyYW1lIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgJi4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5jZWxsIHtcbiAgICAgIC5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgICAgLmdyaWQteS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGluY2x1ZGUtYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAuZ3JpZC1tYXJnaW4teS4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmluYWwgY2xhc3Nlc1xuQG1peGluIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzKFxuICAkYmFzZS1ncmlkOiB0cnVlLFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWUsXG4gICRibG9jay1ncmlkOiB0cnVlLFxuICAkY29sbGFwc2U6IHRydWUsXG4gICRvZmZzZXQ6IHRydWUsXG4gICR2ZXJ0aWNhbC1ncmlkOiB0cnVlLFxuICAkZnJhbWUtZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICBAaWYoJGJhc2UtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJhc2UtZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBNYXJnaW4gZ3JpZFxuICBAaWYoJG1hcmdpbi1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gUGFkZGluZyBncmlkXG4gIEBpZigkcGFkZGluZy1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktcGFkZGluZy1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWRcbiAgQGlmKCRibG9jay1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBDb2xsYXBzZSBndXR0ZXJzXG4gIEBpZigkY29sbGFwc2UpIHtcbiAgICBAaW5jbHVkZSB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIE9mZnNldCBndXR0ZXJzXG4gIEBpZigkb2Zmc2V0KSB7XG4gICAgQGluY2x1ZGUgeHktb2Zmc2V0LWNlbGwtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JpZFxuICBAaWYoJHZlcnRpY2FsLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIEBpZiAoJGZyYW1lLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1mcmFtZS1ncmlkLWNsYXNzZXMoJHZlcnRpY2FsLWdyaWQsICRtYXJnaW4tZ3JpZClcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZGl0aW9uYWwgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciAuZXhwYW5kZWRcbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgJixcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdywgJi5jbGVhciB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cblxuICBhLmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuIChPbmx5IG5lZWRlZCB3aGVuICRnbG9iYWwtZmxleGJveDogZmFsc2U7KVxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVHdvIG9yIG1vcmUgY2hpbGRyZWVuXG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgICYuc21hbGwgeyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShzbWFsbCkgfVxuICAgICYsICYubWVkaXVtIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUobWVkaXVtKSB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGFibGVzIGFyZSBzdHJpcGVkIGJ5IGRlZmF1bHQgYW5kIGFuIC51bnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC4gSWYgYGZhbHNlYCwgYSAuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9vdGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggc3RhY2tlZCB0YWJsZSBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0ciB7XG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS11bnN0cmlwZSgpIHtcbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkaXMtc3RyaXBlZDogJHRhYmxlLWlzLXN0cmlwZWQpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWRcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBmb290XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBzdHJpcGVkXG4gIEBpZiAkaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgIH1cblxuICAgICYudW5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgbm90IHN0cmlwZWRcbiAgQGVsc2UgaWYgJGlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgIH1cblxuICAgICYuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNlcGVyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2ggaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCkge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoO1xufVxuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nICFkZWZhdWx0O1xuXG4vLy8gVXNlZCBjaGFyYWN0ZXIgZm9yIHRoZSBicmVhZGNydW1iIHNlcGFyYXRvciBpbiBydGwgbW9kZS5cbi8vLyBAdHlwZSBDb250ZW50XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvciBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3I7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3Ige1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNlcGFyYXRvcjogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0sICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bCk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGNvbnRlbnQ6ICRzZXBhcmF0b3I7XG4gICAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhcmRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYXJkcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjYXJkIHNoYWRvdy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4uXG4vLy8gQHR5cGUgbnVtYmVyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLWJvdHRvbSxcbiAgJGJvcmRlcjogJGNhcmQtYm9yZGVyLFxuICAkcmFkaXVzOiAkY2FyZC1ib3JkZXItcmFkaXVzLFxuICAkc2hhZG93OiAkY2FyZC1zaGFkb3dcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG5cbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgZGl2aWRlci5cbkBtaXhpbiBjYXJkLWRpdmlkZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1kaXZpZGVyLWJhY2tncm91bmQsXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxuXG4gIC8vIEZvciBJRSAxMSAtIEZsZXhidWdcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncy9pc3N1ZXMvNzVcbiAgLmNhcmQtaW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgZGlzcGxheTogbm9uZTtcblxuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcblxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG5cbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuXG5cbiAgLy8gQWxsb3cgYW4gaW50ZXJtaXR0ZW50IHN0YXRlIHRvIGRvIHBvc2l0aW9uaW5nIGJlZm9yZSBtYWtpbmcgdmlzaWJsZS5cbiAgJi5pcy1vcGVuaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBhYic7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgY3Vyc29yIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhhcy10aXAtY3Vyc29yOiBoZWxwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiAkaGFzLXRpcC1jdXJzb3I7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gICYuYm90dG9tIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYudG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYucmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tdG9wOjpiZWZvcmUge1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB0b3A6IDEwJTtcbiAgfVxuXG4gICYuYWxpZ24tYm90dG9tOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAlO1xuICAgIHRvcDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tbGVmdDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0OjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYubWlkZGxlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwOyAvLyBQcmV2ZW50IEZPVUMgYnkgbm90IHNob3dpbmcgdW50aWwgSlMgc2V0cyBoZWlnaHRcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgc3RhdGUuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGBhY3RpdmVgIHdpdGggYGlzLWFjdGl2ZWAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLiBcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCBgbWVudS1jZW50ZXJlZGAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgdXNpbmcgYGljb24tKmAgY2xhc3NlcyB3aXRob3V0IGAuaWNvbnNgIGNsYXNzZXNcbi8vLyBCdXQgcGxlYXNlIG5vdGUgdGhhdCB0aGlzIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cblxuICBhLFxuICAuYnV0dG9uIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbXMtcGFkZGluZztcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBbGlnbiBtZW51IGl0ZW1zLlxuQG1peGluIG1lbnUtYWxpZ24oJGFsaWdubWVudCkge1xuICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtbGVmdDtcbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gY2VudGVyIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFskZ2xvYmFsLWxlZnRdIC0gRGlyZWN0aW9uIG9mIHRoZSBtZW51LiBUaGlzIGVmZmVjdHMgdGhlIHNpZGUgb2YgdGhlIGA8bGk+YCB0aGF0IHJlY2VpdmVzIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LXNpbXBsZS1tYXJnaW5dIC0gVGhlIG1hcmdpbiB0byBhcHBseSB0byBlYWNoIGA8bGk+YC5cbkBtaXhpbiBtZW51LXNpbXBsZSgkZGlyOiAkZ2xvYmFsLWxlZnQsICRtYXJnaW46ICRtZW51LXNpbXBsZS1tYXJnaW4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIGxpICsgbGkge1xuICAgIG1hcmdpbi0jeyRkaXJ9OiAkbWFyZ2luO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRtYXJnaW4gWyRtZW51LW5lc3RlZC1tYXJnaW5dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbmVzdGVkLWFsaWdubWVudCBbbGVmdF0gLSBBbGlnbm1lbnQgb2YgdGhlIG5lc3RlZCBjbGFzc1xuQG1peGluIG1lbnUtbmVzdGVkKFxuICAkbWFyZ2luOiAkbWVudS1uZXN0ZWQtbWFyZ2luLFxuICAkbmVzdGVkLWFsaWdubWVudDogbGVmdFxuKSB7XG4gIEBpZiAkbmVzdGVkLWFsaWdubWVudCA9PSByaWdodCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtYXJnaW47XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbiAgfVxuXG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgaWNvbnMgaW4gbWVudXMuXG5AbWl4aW4gbWVudS1pY29ucygpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgaW1nLFxuICAgIGksXG4gICAgc3ZnIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICsgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZyBpbiB0aGUgc3VibWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAmLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMXJlbTtcbiAgfVxuXG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB0b3AgbGV2ZWwgPHVsPlxuICAuZHJpbGxkb3duIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBcHBsaWVkIHRvIHN1Ym1lbnUgPHVsPnNcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTdWJtZW51IGl0ZW0gcGFkZGluZ1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6ICRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgICAgQGluY2x1ZGUgemYtZHJpbGxkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtXG4gICAgPiBsaSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgICAgcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIFRvcC1sZXZlbCBpdGVtIGFjdGl2ZSBzdGF0ZVxuICAgID4gbGkuaXMtYWN0aXZlID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmRyb3Bkb3duICYgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiRwb3NpdGlvbjogbGVmdCxcbiR6aW5kZXg6ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCxcbiRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4kYnJlYWtwb2ludDogc21hbGxcbikge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHotaW5kZXg6ICR6aW5kZXg7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgQGlmIG5vdCAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIHJldmVhbGVkIGVsZW1lbnQgaXMgbmVzdGVkIGluIGNvbnRlbnRcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBAYXQtcm9vdCAuI3skY29udGVudH0uaGFzLXJldmVhbC0jeyRwb3NpdGlvbn0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IChwcmlvciB0byB2Ni40KVxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAtemYtZ2V0LWJwLXZhbCgkb2ZmY2FudmFzLXNpemVzLCAkYnJlYWtwb2ludCk7XG4gIH1cbn1cblxuLy8vIE92ZXJyaWRlcyB0aGUgb2ZmLWNhbnZhcyBzdHlsZXNcbkBtaXhpbiBpbi1jYW52YXMoKSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiBub25lO1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLnBvc2l0aW9uLWxlZnQsXG4gICYucG9zaXRpb24tcmlnaHQsXG4gICYucG9zaXRpb24tdG9wLFxuICAmLnBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIHdyYXBwZXJcbiAgLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy13cmFwcGVyO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgIC8vIEZvcmNlIHBvc2l0aW9uIGFic29sdXRlIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBiZWNhdXNlIGZpeGVkIGRvZXNuJ3Qgd29yayBmb3IgcHVzaCB0cmFuc2l0aW9uIHdpdGhpbiB0aGUgdHJhbnNmb3JtIHNjb3BlLlxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gJiB7XG4gICAgICAvLyBOT1RFOiBzaW5jZSBvdmVybGFwIHRyYW5zaXRpb24gaXMgY3VycmVudGx5IGZvcmNlZCBpZiBuZXN0ZWQsIHRoZXJlJ3Mgbm8gbmVlZCB0byBmb3JjZSBwb3NpdGlvbiBhYnNvbHV0ZSB1bnRpbCBuZXN0ZWQgcHVzaCB0cmFuc2l0aW9uIGlzIHN1cHBvcnRlZC5cbiAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lciB3aXRoIGFic29sdXRlIHBvc2l0aW9uXG4gIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2UoJGZpeGVkOiBmYWxzZSk7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIHBvc2l0aW9uIGNsYXNzZXNcbiAgLnBvc2l0aW9uLWxlZnQgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQsICAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0LCAgaG9yaXpvbnRhbCk7IH1cbiAgLnBvc2l0aW9uLXRvcCAgICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHRvcCwgICAgdmVydGljYWwpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20gIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihib3R0b20sIHZlcnRpY2FsKTsgfVxuXG4gIC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtY29udGVudDtcbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIHBhbmVsIG9uIGxhcmdlciBzY3JlZW5zXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRuYW1lICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwobGVmdCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wLCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChib3R0b20sICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNb3ZlIGluLWNhbnZhcyBmb3IgbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBpbi1jYW52YXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbi8vIFRoaXMgc2hvdWxkIGJlIGluIHRoZSBzYW1lIGJyZWFrcG9pbnQgdGhlbiBgQG1peGluIHJldmVhbC1tb2RhbC13aWR0aGBcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXG4gIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWp1c3RpZnkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG4gIFxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCBTcGVjaWZpY2FsbHkgZm9yIFZlcnRpY2FsIE1lbnVcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksICdqdXN0aWZ5JywgJ3NwYWNlZCcpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICYubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlXG4vLy8vXG5cbi8vIFJlbGF0aW9uYWwgTWl4aW5zXG5AaW1wb3J0ICdyZWxhdGlvbic7XG5cbi8vIEJveCBNaXhpblxuQGltcG9ydCAnYm94JztcblxuLy8gUm90YXRlIE1peGluXG5AaW1wb3J0ICdyb3RhdGUnO1xuXG4vLyBUZXh0IHV0aWxpdGllc1xuQGltcG9ydCAndGV4dC11dGlsaXRpZXMnO1xuXG4vLyBUZXh0IHRyYW5zZm9ybWF0aW9uIGNsYXNzZXNcbkBpbXBvcnQgJ3RleHQtdHJhbnNmb3JtYXRpb24nO1xuXG4vLyBUZXh0IERlY29yYXRpb24gY2xhc3Nlc1xuQGltcG9ydCAndGV4dC1kZWNvcmF0aW9uJztcblxuLy8gRm9udCBTdHlsaW5nXG5AaW1wb3J0ICdmb250LXN0eWxpbmcnO1xuXG4vLyBMaXN0IFN0eWxlIHR5cGVcbkBpbXBvcnQgJ2xpc3Qtc3R5bGUtdHlwZSc7XG5cbi8vIFJvdW5kZWQgVXRpbGl0eVxuQGltcG9ydCAncm91bmRlZCc7XG5cbi8vIEJvcmRlcmVkIFV0aWxpdHlcbkBpbXBvcnQgJ2JvcmRlcmVkJztcblxuLy8gU2hhZG93IFV0aWxpdHlcbkBpbXBvcnQgJ3NoYWRvdyc7XG5cbi8vIEFycm93IFV0aWxpdHlcbkBpbXBvcnQgJ2Fycm93JztcblxuLy8gU2VwYXJhdG9yIFV0aWxpdHlcbkBpbXBvcnQgJ3NlcGFyYXRvcic7XG5cbi8vIE92ZXJmbG93IGhlbHBlciBjbGFzc2VzXG5AaW1wb3J0ICdvdmVyZmxvdyc7XG5cbi8vIERpc3BsYXkgY2xhc3Nlc1xuQGltcG9ydCAnZGlzcGxheSc7XG5cbi8vIFBvc2l0aW9uIEhlbHBlcnNcbkBpbXBvcnQgJ3Bvc2l0aW9uJztcblxuLy8gQm9yZGVyIGJveFxuQGltcG9ydCAnYm9yZGVyLWJveCc7XG5cbi8vIEJvcmRlciBub25lIFV0aWx0eVxuQGltcG9ydCAnYm9yZGVyLW5vbmUnO1xuXG4vLyBTaXppbmcgVXRpbGl0aWVzXG5AaW1wb3J0ICdzaXppbmcnO1xuXG4vLyBTcGFjaW5nIFV0aWxpdGllc1xuQGltcG9ydCAnc3BhY2luZyc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC11dGlsaXRpZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtZm9udC1zdHlsaW5nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXJvdW5kZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlcmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaGFkb3c7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWFycm93O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zZXBhcmF0b3I7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLW92ZXJmbG93O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1kaXNwbGF5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1wb3NpdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLWJveDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLW5vbmU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXNpemluZztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZztcbn1cbiIsIi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGZyb20gdGhlIGZpcnN0IHRvIGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEZpcnN0IGBuYCBudW1iZXJzIG9mIHRvdGFsIGNoaWxkcmVuIFxuQG1peGluIGZpcnN0KCRudW0pIHtcbiAgQGlmICRudW0gPT0gMSB7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICY6bnRoLWNoaWxkKC1uICsgI3skbnVtfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZWxlY3QgdGhlIGZpcnN0IGV4YWN0IGNoaWxkXG5AbWl4aW4gZmlyc3QtY2hpbGQge1xuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGZyb20gdGhlIGxhc3QgdG8gYCRudW1gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gTGFzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBsYXN0KCRudW0pIHtcbiAgJjpudGgtbGFzdC1jaGlsZCgtbiArICN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IHRoZSBsYXN0IGV4YWN0IGNoaWxkXG5AbWl4aW4gbGFzdC1jaGlsZCB7XG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGNoaWxkcmVuIGV2ZXJ5IGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEV2ZXJ5IGBuYCBudW1iZXIgb2YgYWxsIGNoaWxkcmVuXG5AbWl4aW4gZXZlcnkoJG51bSkge1xuICAmOm50aC1jaGlsZCgjeyRudW19bikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3Qgb25seSB0aGUgZmlyc3QgYW5kIGxhc3QgY2hpbGQuXG5AbWl4aW4gZmlyc3QtbGFzdCB7XG4gICY6Zmlyc3QtY2hpbGQsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYWZ0ZXIgdGhlIGZpcnN0IHRvIGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEFmdGVyIEZpcnN0IGBuYCBudW1iZXJzIG9mIHRvdGFsIGNoaWxkcmVuIFxuQG1peGluIGFmdGVyLWZpcnN0KCRudW0pIHtcbiAgJjpudGgtY2hpbGQobiArICN7JG51bSArIDF9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYmVmb3JlIGAkbnVtYCBmcm9tIHRoZSBsYXN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gRnJvbSBMYXN0IGBuYCBudW1iZXJzIG9mIHRvdGFsIGNoaWxkcmVuIFxuQG1peGluIGZyb20tbGFzdCgkbnVtKSB7XG4gICY6bnRoLWxhc3QtY2hpbGQoI3skbnVtfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgdGhlIGAkbnVtYCBjaGlsZCBmcm9tIHRoZSBmaXJzdCBhbmQgdGhlIGAkbnVtYCBjaGlsZCBmcm9tIHRoZSBsYXN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gYG5gIG51bWJlciBjYWxsZWQgZnJvbSBmaXJzdCBhbmQgbGFzdCBcbkBtaXhpbiBmcm9tLWZpcnN0LWxhc3QoJG51bSkge1xuICAmOm50aC1jaGlsZCgjeyRudW19KSxcbiAgJjpudGgtbGFzdC1jaGlsZCgjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYnV0IGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIGBuYCBudW1iZXIgdGhhdCBzaG91bGQgYmUgZXhjbHVkZWQgZnJvbSBhbGwgb3RoZXIgY2hpbGRyZW4gXG5AbWl4aW4gYWxsLWJ1dCgkbnVtKSB7XG4gICY6bm90KDpudGgtY2hpbGQoI3skbnVtfSkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBiZXR3ZWVuIHRoZSBgJG51bWAgZmlyc3QgYW5kIHRoZSBgJG51bWAgbGFzdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIGBuYCBudW1iZXIgZXhjbHVkZWQgZnJvbSBmaXJzdCBhbmQgbGFzdCBmcm9tIGFsbCBvdGhlciBjaGlsZHJlblxuQG1peGluIGFsbC1idXQtZmlyc3QtbGFzdCgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKG4gKyAjeyRudW19KTpudGgtbGFzdC1jaGlsZChuICsgI3skbnVtfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBXaWxsIG9ubHkgc2VsZWN0IHRoZSBjaGlsZCBpZiBpdCdzIHVuaXF1ZS4gVGhhdCBtZWFucyB0aGF0IGlmIHRoZXJlIGFyZSBhdCBsZWFzdCAyIGNoaWxkcmVuLCB0aGUgc3R5bGUgd2lsbCBub3QgYmUgYXBwbGllZC5cbkBtaXhpbiB1bmlxdWUge1xuICAmOm9ubHktY2hpbGQge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBXaWxsIG9ubHkgc2VsZWN0IGNoaWxkcmVuIGlmIHRoZXkgYXJlIG5vdCB1bmlxdWUuIFRoYXQgbWVhbnMgdGhhdCBpZiB0aGVyZSBhcmUgYXQgbGVhc3QgMiBjaGlsZHJlbiwgdGhlIHN0eWxlIHdpbGwgYmUgYXBwbGllZC5cbkBtaXhpbiBub3QtdW5pcXVlKCkge1xuICAmOm5vdCg6b25seS1jaGlsZCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmaXJzdFtdIEZpcnN0IGBudGhgIG51bWJlclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGFzdFtdIExhc3QgYG50aGAgbnVtYmVyXG5AbWl4aW4gYmV0d2VlbigkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKG4gKyAjeyRmaXJzdH0pOm50aC1jaGlsZCgtbiArICN7JGxhc3R9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgZXZlbiBjaGlsZHJlbi5cbkBtaXhpbiBldmVuIHtcbiAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGV2ZW4gY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG50aGAgbnVtYmVyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsYXN0W10gTGFzdCBgbnRoYCBudW1iZXJcbkBtaXhpbiBldmVuLWJldHdlZW4oJGZpcnN0LCAkbGFzdCkge1xuICAmOm50aC1jaGlsZChldmVuKTpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBvZGQgY2hpbGRyZW4uXG5AbWl4aW4gb2RkIHtcbiAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgb2RkIGNoaWxkcmVuIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmaXJzdFtdIEZpcnN0IGBudGhgIG51bWJlclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGFzdFtdIExhc3QgYG50aGAgbnVtYmVyXG5AbWl4aW4gb2RkLWJldHdlZW4oJGZpcnN0LCAkbGFzdCkge1xuICAmOm50aC1jaGlsZChvZGQpOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGAkbnVtYCBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gRXZlcnkgYG5gIG51bWJlciBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbmAgbnVtYmVyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsYXN0W10gTGFzdCBgbmAgbnVtYmVyXG5AbWl4aW4gbnVtYmVyLWJldHdlZW4oJG51bSwgJGZpcnN0LCAkbGFzdCkge1xuICAmOm50aC1jaGlsZCgjeyRudW19bik6bnRoLWNoaWxkKG4gKyAjeyRmaXJzdH0pOm50aC1jaGlsZCgtbiArICN7JGxhc3R9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3hcbi8vLy9cblxuLy8vIEJveCBNaXhpbjogRWFzaWx5IGNyZWF0ZSBhIHNxdWFyZSwgcmVjdGFuZ2xlIG9yIGEgY2lyY2xlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aFtdIFdpZHRoIG9mIHRoZSBib3hcbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodFskd2lkdGhdIEhlaWdodCBvZiB0aGUgYm94LCBkZWZhdWx0cyB0byBgJHdpZHRoYCB0byBlYXNpbHkgbWFrZSBhIHNxdWFyZVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNpcmNsZVtmYWxzZV0gTWFrZXMgdGhlIGJveCBhIGNpcmNsZSwgYnkgZGVmYXVsdCBgZmFsc2VgLlxuQG1peGluIGJveChcbiAgJHdpZHRoLCBcbiAgJGhlaWdodDogJHdpZHRoLCBcbiAgJGNpcmNsZTogZmFsc2Vcbikge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIEBpZiAkY2lyY2xlIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXJvdGF0ZVxuLy8vL1xuXG4vLy8gUm90YXRlIE1peGluOiBSb3RhdGUgYW4gZWxlbWVudCB0byBhIGNlcnRhaW4gZGVnXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdbXSBEZWdyZWUgb2Ygcm90YXRpb25cbkBtaXhpbiByb3RhdGUoJGRlZykge1xuXHR0cmFuc2Zvcm06cm90YXRlKCRkZWcgKyBkZWcpO1xufVxuXG4vLy8gUm90YXRlWCBNaXhpbjogUm90YXRlIGFuIGVsZW1lbnQgdG8gYSBjZXJ0YWluIGRlZyBvbiBYLUF4aXNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZVgoJGRlZykge1xuXHR0cmFuc2Zvcm06cm90YXRlWCgkZGVnICsgZGVnKTtcbn1cblxuLy8vIFJvdGF0ZVkgTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWcgb24gWS1BeGlzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdbXSBEZWdyZWUgb2Ygcm90YXRpb25cbkBtaXhpbiByb3RhdGVZKCRkZWcpIHtcblx0dHJhbnNmb3JtOnJvdGF0ZVkoJGRlZyArIGRlZyk7XG59XG5cbi8vLyBSb3RhdGVaIE1peGluOiBSb3RhdGUgYW4gZWxlbWVudCB0byBhIGNlcnRhaW4gZGVnIG9uIFotQXhpc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVnW10gRGVncmVlIG9mIHJvdGF0aW9uXG5AbWl4aW4gcm90YXRlWigkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGVaKCRkZWcgKyBkZWcpO1xufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXV0aWxpdGllc1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCB1dGlsaXRpZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IFZhbHVlIGZvciBgdGV4dC1vdmVyZmxvd2AgdmFyaWFibGVcbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWRlZmF1bHQ7XG5cbi8vLyBJbWFnZSBSZXBsYWNlbWVudCB1dGlsaXR5LiBgdGV4dC1oaWRlYFxuQG1peGluIHRleHQtaGlkZSB7XG4gIGZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbn1cblxuLy8vIFRydW5jYXRpbmcgdGhlIHRleHQsIGVsaXBzaXMgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFskcHJvdG90eXBlLXRleHQtb3ZlcmZsb3ddIFRleHQgVHJ1bmNhdGVcbkBtaXhpbiB0ZXh0LXRydW5jYXRlKFxuICAkb3ZlcmZsb3c6ICRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd1xuKSB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHRleHQtb3ZlcmZsb3c6ICRvdmVyZmxvdzsgXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIE5vIHdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC1ub3dyYXBgXG5AbWl4aW4gdGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBXcmFwcGluZyBvZiB0aGUgdGV4dC4gYHRleHQtd3JhcGBcbkBtaXhpbiB0ZXh0LXdyYXAge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzIHtcbiAgLnRleHQtaGlkZSB7XG4gICAgQGluY2x1ZGUgdGV4dC1oaWRlO1xuICB9XG5cbiAgLnRleHQtdHJ1bmNhdGUge1xuICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7XG4gIH1cblxuICAudGV4dC1ub3dyYXAge1xuICAgIEBpbmNsdWRlIHRleHQtbm93cmFwO1xuICB9XG5cbiAgLnRleHQtd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC13cmFwO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtaGlkZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtdHJ1bmNhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1ub3dyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCB0cmFuc2Zvcm1hdGlvbiBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGB0ZXh0LXRyYW5zZm9ybWF0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IFRyYW5zZm9ybWF0aW9uLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb25gXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0cmFuc2Zvcm1hdGlvbiBbXSBUZXh0IFRyYW5zZm9ybWF0aW9uXG5AbWl4aW4gdGV4dC10cmFuc2Zvcm0oJHRyYW5zZm9ybWF0aW9uKSB7XG4gIHRleHQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtYXRpb24gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICBAZWFjaCAkdHJhbnNmb3JtYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcbiAgICAudGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgdGV4dC10cmFuc2Zvcm0oJHRyYW5zZm9ybWF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICBcdEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkdHJhbnNmb3JtYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skdHJhbnNmb3JtYXRpb259IHtcbiAgXHRcdFx0ICAgICAgQGluY2x1ZGUgdGV4dC10cmFuc2Zvcm0oJHRyYW5zZm9ybWF0aW9uKTtcbiAgXHRcdFx0ICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgZGVjb3JhdGlvbiBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtZGVjb3JhdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgRGVjb3JhdGlvbiwgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25gXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWNvcmF0aW9uIFtdIFRleHQgRGVjb3JhdGlvblxuQG1peGluIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbikge1xuICB0ZXh0LWRlY29yYXRpb246ICRkZWNvcmF0aW9uICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICBAZWFjaCAkZGVjb3JhdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgLnRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWZvbnQtc3R5bGluZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgZm9udCBzdHlsaW5nIHR5cGVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIExldHRlciBzcGFjaW5nIGZvciBgLmZvbnQtd2lkZWBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdlaWdodCBmb3IgYC5mb250LW5vcm1hbGAsIGRlZmF1bHRlZCB0byBgZ2xvYmFsLXdlaWdodC1ub3JtYWxgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdlaWdodCBmb3IgYC5mb250LWJvbGRgLCBkZWZhdWx0ZWQgdG8gYGdsb2JhbC13ZWlnaHQtYm9sZGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3aWRlIGxldHRlciBzcGFjaW5nIVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGV0dGVyLXNwYWNpbmcgWyRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZ10gV2lkZSBsZXR0ZXIgc3BhY2luZyBmb3IgdGhlIGZvbnRcbkBtaXhpbiBmb250LXdpZGUoXG4gICRsZXR0ZXItc3BhY2luZzogJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXG4pIHtcbiAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZztcbn1cblxuLy8vIEZvbnQgV2VpZ2h0IE5vcm1hbCwgZGVmYXVsdCB2YWx1ZSBjb21pbmcgdGhyb3VnaCBgZ2xvYmFsLXdlaWdodC1ub3JtYWxgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWyRwcm90b3R5cGUtZm9udC1ub3JtYWxdIFdlaWdodCBvZiB0aGUgZm9udCAobm9ybWFsKVxuQG1peGluIGZvbnQtbm9ybWFsKFxuICAkd2VpZ2h0OiAkcHJvdG90eXBlLWZvbnQtbm9ybWFsXG4pIHtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbi8vLyBGb250IFdlaWdodCBCb2xkLCBkZWZhdWx0IHZhbHVlIGNvbWluZyB0aHJvdWdoIGBnbG9iYWwtd2VpZ2h0LWJvbGRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWyRwcm90b3R5cGUtZm9udC1ib2xkXSBXZWlnaHQgb2YgdGhlIGZvbnQgKGJvbGQpXG5AbWl4aW4gZm9udC1ib2xkKFxuICAkd2VpZ2h0OiAkcHJvdG90eXBlLWZvbnQtYm9sZFxuKSB7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG4vLy8gRm9udCBTdHlsZSBJdGFsaWNcbkBtaXhpbiBmb250LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtZm9udC1zdHlsaW5nIHtcbiAgLmZvbnQtd2lkZXtcbiAgICBAaW5jbHVkZSBmb250LXdpZGU7XG4gIH1cblxuICAuZm9udC1ub3JtYWwge1xuICAgIEBpbmNsdWRlIGZvbnQtbm9ybWFsO1xuICB9XG5cbiAgLmZvbnQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICB9XG5cbiAgLmZvbnQtaXRhbGljIHtcbiAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC13aWRle1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC13aWRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LW5vcm1hbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LW5vcm1hbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1ib2xkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtYm9sZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1pdGFsaWMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1pdGFsaWM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtbGlzdC1zdHlsZS10eXBlXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBsaXN0IHN0eWxpbmcgdHlwZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgc3R5bGUtdHlwZS11bm9yZGVyZWRgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLW9yZGVyZWRgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbikgIWRlZmF1bHQ7XG5cblxuLy8vIFN0eWxlIHR5cGUgZm9yIHVub3JkZXJlZCBMaXN0cywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtdW5vcmRlcmVkIFtdIFN0eWxlIHR5cGUgZm9yIHVub3JkZXJlZCBMaXN0c1xuQG1peGluIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCkge1xuICBsaXN0LXN0eWxlLXR5cGU6ICRzdHlsZS10eXBlLXVub3JkZXJlZCAhaW1wb3J0YW50O1xufVxuXG4vLy8gU3R5bGUgdHlwZSBmb3Igb3JkZXJlZCBMaXN0cywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWRgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHlsZS10eXBlLW9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3Igb3JkZXJlZCBMaXN0c1xuQG1peGluIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtb3JkZXJlZCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gbGlzdC11bm9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS11bm9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZCB7XG4gICAgdWwubGlzdC0jeyRzdHlsZS10eXBlLXVub3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgdWwuI3skc2l6ZX0tbGlzdC0jeyRzdHlsZS10eXBlLXVub3JkZXJlZH0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbGlzdC1vcmRlcmVkIHtcbiAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgb2wubGlzdC0jeyRzdHlsZS10eXBlLW9yZGVyZWR9IHtcbiAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRzdHlsZS10eXBlLW9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBvbC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLW9yZGVyZWQoJHN0eWxlLXR5cGUtb3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGUge1xuICBAaW5jbHVkZSBsaXN0LXVub3JkZXJlZDtcbiAgQGluY2x1ZGUgbGlzdC1vcmRlcmVkO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXJvdW5kZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHJvdW5kZWQgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItcmFkaXVzYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKSAhZGVmYXVsdDtcblxuLy8vIFJvdW5kZWQgdXRpbGl0eSAoYWxsIGNvcm5lcnMpOiBBZGRzIHJhZGl1cyBjb3JuZXJzIChhbGwgY29ybmVycykgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaXVzIFskcHJvdG90eXBlLWJvcmRlci1yYWRpdXNdIEJvcmRlciByYWRpdXMgKGFsbCBjb3JuZXJzKVxuQG1peGluIGJvcmRlci1yYWRpdXMoXG4gICRyYWRpdXM6ICRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c1xuKSB7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbi8vLyBSb3VuZGVkIHNxdWFyZSB1dGlsaXR5IG9yIHJlY3RhbmdsZSB1dGlsaXR5IChhbGwgY29ybmVycyk6IFJvdW5kcyBhbGwgY29ybmVycyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQgdG8gbWFrZSBhIHBpbGwgc2hhcGUuXG5AbWl4aW4gYm9yZGVyLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXJvdW5kZWQge1xuICAucm91bmRlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIEZvciBzd2l0Y2hlc1xuICAgIH1cbiAgfVxuXG4gIC5yYWRpdXMge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXJvdW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1yYWRpdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXJlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyZWQgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXdpZHRoYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItdHlwZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItY29sb3JgIGRlZmF1bHRlZCB0byBgbWVkaXVtLWdyYXlgXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXJlZCBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskcHJvdG90eXBlLWJvcmRlci13aWR0aF0gV2lkdGggb2YgdGhlIGJvcmRlclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdHlwZSBbJHByb3RvdHlwZS1ib3JkZXItdHlwZV0gVHlwZSBvZiB0aGUgYm9yZGVyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskcHJvdG90eXBlLWJvcmRlci1jb2xvcl0gQ29sb3Igb2YgdGhlIGJvcmRlclxuQG1peGluIGJvcmRlcmVkKFxuICAkd2lkdGg6ICRwcm90b3R5cGUtYm9yZGVyLXdpZHRoLFxuICAkdHlwZTogJHByb3RvdHlwZS1ib3JkZXItdHlwZSxcbiAgJGNvbG9yOiAkcHJvdG90eXBlLWJvcmRlci1jb2xvclxuKSB7XG4gIGJvcmRlcjogJHdpZHRoICR0eXBlICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlcmVkIHtcbiAgLmJvcmRlcmVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXJlZDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlcmVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlcmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNoYWRvd1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc2hhZG93IHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3gtc2hhZG93YFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMikgIWRlZmF1bHQ7XG5cbi8vLyBTaGFkb3cgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJveCBzaGFkb3cgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2hhZG93IFskcHJvdG90eXBlLWJveC1zaGFkb3ddIEJveCBTaGFkb3cgb2YgYSBjb21wb25lbnRcbkBtaXhpbiBzaGFkb3coXG4gICRzaGFkb3c6ICRwcm90b3R5cGUtYm94LXNoYWRvd1xuKSB7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaGFkb3cge1xuICAuc2hhZG93IHtcbiAgICBAaW5jbHVkZSBzaGFkb3c7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tc2hhZG93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1hcnJvd1xuLy8vL1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgYXJyb3dgIGRpcmVjdGlvblxuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIHRoZSBBcnJvdywgYDAuNDM3NXJlbWAgYnkgZGVmYXVsdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuXG4vLy8gQ29sb3Igb2YgdGhlIEFycm93LCBgJGJsYWNrYCBieSBkZWZhdWx0LlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdyB7XG4gIEBlYWNoICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uIGluICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ucyB7XG4gICAgLmFycm93LSN7JHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb259IHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZShcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1zaXplLCBcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1jb2xvciwgXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNlcGFyYXRvclxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc2VwYXJhdG9yLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWxpZ25tZW50IG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgTWFyZ2luIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUaXRsZSBzZXBhcmF0b3IgVXRpbGl0eSwgbW9zdGx5IHVzZWQgdG8gc3R5bGUgdGhlIG1haW4gaGVhZGluZyBvZiBhIHNlY3Rpb25cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGFsaWduIFskcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbl0gLSBzZXBhcmF0b3IgQWxpZ25tZW50XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWyRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodF0gLSBXaWR0aFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoXSAtIEhlaWdodFxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcF0gLSBNYXJnaW4gVG9wXG5AbWl4aW4gc2VwYXJhdG9yIChcbiAgJGFsaWduOiAkcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbixcbiAgJGhlaWdodDogJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0LFxuICAkd2lkdGg6ICRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoLFxuICAkYmFja2dyb3VuZDogJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZCxcbiAgJHRvcDogJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcFxuKSB7XG4gIHRleHQtYWxpZ246ICRhbGlnbiAhaW1wb3J0YW50O1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUpO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkYmFja2dyb3VuZDtcbiAgICBtYXJnaW46ICR0b3AgYXV0byAwO1xuXG4gICAgQGlmICRhbGlnbiA9PSBsZWZ0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGlmICRhbGlnbiA9PSByaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNlcGFyYXRvciB7XG5cdC5zZXBhcmF0b3ItY2VudGVyIHtcblx0XHRAaW5jbHVkZSBzZXBhcmF0b3IoY2VudGVyKTtcblx0fVxuXG4gIC5zZXBhcmF0b3ItbGVmdCB7XG4gICAgQGluY2x1ZGUgc2VwYXJhdG9yKGxlZnQpO1xuICB9XG5cbiAgLnNlcGFyYXRvci1yaWdodCB7XG4gICAgQGluY2x1ZGUgc2VwYXJhdG9yKHJpZ2h0KTtcbiAgfVxuXG5cdEBpZiAoJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItY2VudGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihjZW50ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWxlZnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKGxlZnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLXJpZ2h0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihyaWdodCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtb3ZlcmZsb3dcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIG92ZXJmbG93IGhlbHBlciBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBvdmVyZmxvd2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKSAhZGVmYXVsdDtcblxuLy8vIE92ZXJmbG93IGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzXG5AbWl4aW4gb3ZlcmZsb3coJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuLy8vIE92ZXJmbG93IGNsYXNzZXMgb24gaG9yaXpvbnRhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3NlcyAoaG9yaXpvbnRhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXgoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXg6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiB2ZXJ0aWNhbCBheGlzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLW92ZXJmbG93YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgW10gT3ZlcmZsb3cgY2xhc3NlcyAodmVydGljYWwgYXhpcylcbkBtaXhpbiBvdmVyZmxvdy15KCRvdmVyZmxvdykge1xuICBvdmVyZmxvdy15OiAkb3ZlcmZsb3cgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgQGVhY2ggJG92ZXJmbG93IGluICRwcm90b3R5cGUtb3ZlcmZsb3cge1xuICAgIC5vdmVyZmxvdy0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3coJG92ZXJmbG93KTtcbiAgICB9XG4gICAgLm92ZXJmbG93LXgtI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXgoJG92ZXJmbG93KTtcbiAgICB9XG4gICAgLm92ZXJmbG93LXktI3skb3ZlcmZsb3d9IHtcbiAgICAgIEBpbmNsdWRlIG92ZXJmbG93LXkoJG92ZXJmbG93KTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1vdmVyZmxvdy0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LXgtI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LXktI3skb3ZlcmZsb3d9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWRpc3BsYXlcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGRpc3BsYXkgY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBkaXNwbGF5YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKSAhZGVmYXVsdDtcblxuLy8vIERpc3BsYXkgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1kaXNwbGF5YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbXSBEaXNwbGF5IGNsYXNzZXNcbkBtaXhpbiBkaXNwbGF5KCRkaXNwbGF5KSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1kaXNwbGF5IHtcbiAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAuZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkaXNwbGF5IGluICRwcm90b3R5cGUtZGlzcGxheSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZGlzcGxheSgkZGlzcGxheSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcG9zaXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHBvc2l0aW9uIGhlbHBlcnNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHBvc2l0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKSAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIGZpeGVkIHBvc2l0aW9uaW5nXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NSAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uIGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtcG9zaXRpb25gLCB3aGVyZWFzIGFsbCB0aGUgb2Zmc2V0IHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wb3NpdGlvbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwb3NpdGlvbiBbXSBQb3NpdGlvbiBjbGFzc2VzLCBFaXRoZXIgYHN0YXRpY2AsIGByZWxhdGl2ZWAsIGBhYnNvbHV0ZWAgb3IgYGZpeGVkYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFRvcCBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIFJpZ2h0IG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIEJvdHRvbSBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gTGVmdCBvZmZzZXRcbkBtaXhpbiBwb3NpdGlvbihcbiAgJHBvc2l0aW9uLFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50O1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICB0b3A6ICR0b3AgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICByaWdodDogJHJpZ2h0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIGJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBvc2l0aW9uIEZpeGVkIG9uIHRvcCBjb3JuZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR6LWluZGV4IFskcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhdIHotaW5kZXggZm9yIGBwb3NpdGlvbi1maXhlZC10b3BgXG5AbWl4aW4gcG9zaXRpb24tZml4ZWQtdG9wKFxuICAkei1pbmRleDogJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XG4pIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAsIDAsIG51bGwsIDApO1xuICB6LWluZGV4OiAkei1pbmRleDtcbn1cblxuLy8vIFBvc2l0aW9uIEZpeGVkIG9uIGJvdHRvbSBjb3JuZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR6LWluZGV4IFskcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhdIHotaW5kZXggZm9yIGBwb3NpdGlvbi1maXhlZC1ib3R0b21gXG5AbWl4aW4gcG9zaXRpb24tZml4ZWQtYm90dG9tKFxuICAkei1pbmRleDogJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XG4pIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIG51bGwsIDAsIDAsIDApO1xuICB6LWluZGV4OiAkei1pbmRleDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgLy8gUG9zaXRpb246IFN0YXRpYywgUmVsYXRpdmUsIEZpeGVkLCBBYnNvbHV0ZVxuICBAZWFjaCAkcG9zaXRpb24gaW4gJHByb3RvdHlwZS1wb3NpdGlvbiB7XG4gICAgLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbigkcG9zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBvc2l0aW9uOiBGaXhlZCBUb3AsIEZpeGVkIEJvdHRvbVxuICAucG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC10b3A7XG4gIH1cbiAgLnBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtYm90dG9tO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgLy8gUG9zaXRpb246IFN0YXRpYywgUmVsYXRpdmUsIEZpeGVkLCBBYnNvbHV0ZVxuICAgICAgICBAZWFjaCAkcG9zaXRpb24gaW4gJHByb3RvdHlwZS1wb3NpdGlvbiB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbigkcG9zaXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBvc2l0aW9uOiBGaXhlZCBUb3AsIEZpeGVkIEJvdHRvbVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi1maXhlZC10b3Age1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtYm90dG9tO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlci1ib3hcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlciBib3guXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBib3ggdXRpbGl0eVxuQG1peGluIGJvcmRlci1ib3gge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItYm94IHtcbiAgLmJvcmRlci1ib3gge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3g7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlci1ib3gge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJveDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItbm9uZVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIG5vbmUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgbm9uZSB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLW5vbmUge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ub25lIHtcbiAgLmJvcmRlci1ub25lIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbm9uZTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlci1ub25lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNpemluZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgc2l6aW5nYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBzaXplcy5cbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pICFkZWZhdWx0O1xuXG4vLy8gTWF4IFdpZHRoIDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC13aWR0aC0xMDAge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLy8vIE1heCBIZWlnaHQgMTAwIHV0aWxpdHkuXG5AbWl4aW4gbWF4LWhlaWdodC0xMDAge1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaXppbmcge1xuICAvLyBFbGVtZW50IFNpemluZ1xuICBAZWFjaCAkc2l6aW5nIGluICRwcm90b3R5cGUtc2l6aW5nIHtcbiAgICBAZWFjaCAkbGVuZ3RoLCAkcGVyY2VudGFnZSBpbiAkcHJvdG90eXBlLXNpemVzIHtcbiAgICAgIC4jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAjeyRzaXppbmd9OiAkcGVyY2VudGFnZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1heCB3aWR0aCAmIGhlaWdodFxuICAubWF4LXdpZHRoLTEwMCB7XG4gICAgQGluY2x1ZGUgbWF4LXdpZHRoLTEwMDtcbiAgfVxuICAubWF4LWhlaWdodC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC1oZWlnaHQtMTAwO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgICAgICAgICBAZWFjaCAkbGVuZ3RoLCAkcGVyY2VudGFnZSBpbiAkcHJvdG90eXBlLXNpemVzIHtcbiAgICAgICAgICAgICAgLiN7JHNpemV9LSN7JHNpemluZ30tI3skbGVuZ3RofSB7XG4gICAgICAgICAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNwYWNpbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNwYWNpbmcgY2xhc3NlcyAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG51bWJlciBvZiBzcGFjZXJzIGNvdW50IChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDMgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gaGVscGVyIG1peGluLCBhbGwgdGhlIHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1tYXJnaW5gIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gTWFyZ2luIFRvcFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gTWFyZ2luIFJpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gTWFyZ2luIEJvdHRvbVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBNYXJnaW4gTGVmdFxuQG1peGluIG1hcmdpbihcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIG1hcmdpbi10b3A6ICR0b3AgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBtYXJnaW4tbGVmdDogJGxlZnQgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBQYWRkaW5nIGhlbHBlciBtaXhpbiwgYWxsIHRoZSB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtcGFkZGluZ2Agd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBQYWRkaW5nIFRvcFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gUGFkZGluZyBSaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIFBhZGRpbmcgQm90dG9tXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIFBhZGRpbmcgTGVmdFxuQG1peGluIHBhZGRpbmcoXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHRvcCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgcGFkZGluZy1yaWdodDogJHJpZ2h0ICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgcGFkZGluZy1ib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBNYXJnaW4gY2xhc3NlcyBmb3Igc3BlY2lmaWMgZGlyZWN0aW9uIHByb3BlcnRpZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpciBbXSBEaXJlY3Rpb25cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNlciBbXSBTcGFjZXJcbkBtaXhpbiBtYXJnaW4tZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpIHtcbiAgQGlmICgkZGlyID09IHRvcCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHRvcDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHJpZ2h0KSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkcmlnaHQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBib3R0b20pIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBsZWZ0KSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGhvcml6b250YWwpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRyaWdodDogJHNwYWNlciwgJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSB2ZXJ0aWNhbCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHRvcDogJHNwYWNlciwgJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG59XG5cbi8vLyBQYWRkaW5nIGNsYXNzZXMgZm9yIHNwZWNpZmljIGRpcmVjdGlvbiBwcm9wZXJ0aWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXIgW10gRGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjZXIgW10gU3BhY2VyXG5AbWl4aW4gcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcikge1xuICBAaWYgKCRkaXIgPT0gdG9wKSB7IFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHRvcDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHJpZ2h0KSB7IFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJHJpZ2h0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gYm90dG9tKSB7IFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGxlZnQpIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGhvcml6b250YWwpIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkcmlnaHQ6ICRzcGFjZXIsICRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gdmVydGljYWwpIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAkc3BhY2VyLCAkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNwYWNpbmcge1xuICBAZm9yICRzcGFjZXIgZnJvbSAwIHRocm91Z2ggJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50IHtcbiAgICBcbiAgICBAZWFjaCAkcHJvcCBpbiAobWFyZ2luLCBwYWRkaW5nKSB7XG4gICAgICAvLyBBbGwgU2lkZXNcbiAgICAgIC4jeyRwcm9wfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2VyICogJGdsb2JhbC1tYXJnaW47IFxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxuICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXIgKiAkZ2xvYmFsLXBhZGRpbmc7IFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBlYWNoICRkaXIgaW4gKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCwgaG9yaXpvbnRhbCwgdmVydGljYWwpIHtcbiAgICAgICAgLy8gVG9wIFNpZGVcbiAgICAgICAgLiN7JHByb3B9LSN7JGRpcn0tI3skc3BhY2VyfSB7XG4gICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4tZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9IHtcbiAgICAgICAgICAgICAgQGVhY2ggJHByb3AgaW4gKG1hcmdpbiwgcGFkZGluZykge1xuICAgICAgICAgICAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgICAgICAgICAgICYtI3skcHJvcH0tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2VyICogJGdsb2JhbC1tYXJnaW47IFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXIgKiAkZ2xvYmFsLXBhZGRpbmc7IFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBlYWNoICRkaXIgaW4gKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCwgaG9yaXpvbnRhbCwgdmVydGljYWwpIHtcbiAgICAgICAgICAgICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgICAgICAgICAgICAmLSN7JHByb3B9LSN7JGRpcn0tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIVxuICogSGFtYnVyZ2Vyc1xuICogQGRlc2NyaXB0aW9uIFRhc3R5IENTUy1hbmltYXRlZCBoYW1idXJnZXJzXG4gKiBAYXV0aG9yIEpvbmF0aGFuIFN1aCBAam9uc3VoXG4gKiBAc2l0ZSBodHRwczovL2pvbnN1aC5jb20vaGFtYnVyZ2Vyc1xuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2pvbnN1aC9oYW1idXJnZXJzXG4gKi9cblxuLy8gU2V0dGluZ3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kaGFtYnVyZ2VyLXBhZGRpbmcteCAgICAgICAgICAgOiAxNXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1wYWRkaW5nLXkgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItd2lkdGggICAgICAgICA6IDQwcHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAgICAgICAgOiA0cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgICAgICAgOiA2cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWNvbG9yICAgICAgICAgOiAjMDAwICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzIDogNHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5ICAgICAgIDogMC43ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1hY3RpdmUtbGF5ZXItY29sb3IgIDogJGhhbWJ1cmdlci1sYXllci1jb2xvciAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWhvdmVyLW9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eSAhZGVmYXVsdDtcblxuLy8gVG8gdXNlIENTUyBmaWx0ZXJzIGFzIHRoZSBob3ZlciBlZmZlY3QgaW5zdGVhZCBvZiBvcGFjaXR5LFxuLy8gc2V0ICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciBhcyB0cnVlIGFuZFxuLy8gY2hhbmdlIHRoZSB2YWx1ZSBvZiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciBhY2NvcmRpbmdseS5cbiRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciAgIDogZmFsc2UgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAgICAgICA6IG9wYWNpdHkoNTAlKSAhZGVmYXVsdDtcbiRoYW1idXJnZXItYWN0aXZlLWhvdmVyLWZpbHRlcjogJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgIWRlZmF1bHQ7XG5cbi8vIFR5cGVzIChSZW1vdmUgb3IgY29tbWVudCBvdXQgd2hhdCB5b3UgZG9u4oCZdCBuZWVkKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRoYW1idXJnZXItdHlwZXM6IChcbiAgM2R4LFxuICAzZHgtcixcbiAgM2R5LFxuICAzZHktcixcbiAgM2R4eSxcbiAgM2R4eS1yLFxuICBhcnJvdyxcbiAgYXJyb3ctcixcbiAgYXJyb3dhbHQsXG4gIGFycm93YWx0LXIsXG4gIGFycm93dHVybixcbiAgYXJyb3d0dXJuLXIsXG4gIGJvcmluZyxcbiAgY29sbGFwc2UsXG4gIGNvbGxhcHNlLXIsXG4gIGVsYXN0aWMsXG4gIGVsYXN0aWMtcixcbiAgZW1waGF0aWMsXG4gIGVtcGhhdGljLXIsXG4gIG1pbnVzLFxuICBzbGlkZXIsXG4gIHNsaWRlci1yLFxuICBzcGluLFxuICBzcGluLXIsXG4gIHNwcmluZyxcbiAgc3ByaW5nLXIsXG4gIHN0YW5kLFxuICBzdGFuZC1yLFxuICBzcXVlZXplLFxuICB2b3J0ZXgsXG4gIHZvcnRleC1yXG4pICFkZWZhdWx0O1xuXG4vLyBCYXNlIEhhbWJ1cmdlciAoV2UgbmVlZCB0aGlzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBpbXBvcnQgXCJiYXNlXCI7XG5cbi8vIEhhbWJ1cmdlciB0eXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBpbXBvcnQgXCJ0eXBlcy8zZHhcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHgtclwiO1xuQGltcG9ydCBcInR5cGVzLzNkeVwiO1xuQGltcG9ydCBcInR5cGVzLzNkeS1yXCI7XG5AaW1wb3J0IFwidHlwZXMvM2R4eVwiO1xuQGltcG9ydCBcInR5cGVzLzNkeHktclwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93XCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3ctclwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93YWx0XCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dhbHQtclwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93dHVyblwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93dHVybi1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYm9yaW5nXCI7XG5AaW1wb3J0IFwidHlwZXMvY29sbGFwc2VcIjtcbkBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZS1yXCI7XG5AaW1wb3J0IFwidHlwZXMvZWxhc3RpY1wiO1xuQGltcG9ydCBcInR5cGVzL2VsYXN0aWMtclwiO1xuQGltcG9ydCBcInR5cGVzL2VtcGhhdGljXCI7XG5AaW1wb3J0IFwidHlwZXMvZW1waGF0aWMtclwiO1xuQGltcG9ydCBcInR5cGVzL21pbnVzXCI7XG5AaW1wb3J0IFwidHlwZXMvc2xpZGVyXCI7XG5AaW1wb3J0IFwidHlwZXMvc2xpZGVyLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcGluXCI7XG5AaW1wb3J0IFwidHlwZXMvc3Bpbi1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3ByaW5nXCI7XG5AaW1wb3J0IFwidHlwZXMvc3ByaW5nLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zdGFuZFwiO1xuQGltcG9ydCBcInR5cGVzL3N0YW5kLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcXVlZXplXCI7XG5AaW1wb3J0IFwidHlwZXMvdm9ydGV4XCI7XG5AaW1wb3J0IFwidHlwZXMvdm9ydGV4LXJcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvb2tpbmcgdXAgYWRkaXRpb25hbCB0eXBlczpcbi8vXG4vLyBUaGUgU2FzcyBmb3IgZWFjaCBoYW1idXJnZXIgdHlwZSBzaG91bGQgYmUgbmVzdGVkXG4vLyBpbnNpZGUgYW4gQGlmIGRpcmVjdGl2ZSB0byBjaGVjayB3aGV0aGVyIG9yIG5vdFxuLy8gaXQgZXhpc3RzIGluICRoYW1idXJnZXItdHlwZXMgc28gb25seSB0aGUgQ1NTIGZvclxuLy8gaW5jbHVkZWQgdHlwZXMgYXJlIGdlbmVyYXRlZC5cbi8vXG4vLyBlLmcuIGhhbWJ1cmdlcnMvdHlwZXMvX25ldy10eXBlLnNjc3Ncbi8vXG4vLyBAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgbmV3LXR5cGUpIHtcbi8vICAgLmhhbWJ1cmdlci0tbmV3LXR5cGUge1xuLy8gICAgIC4uLlxuLy8gICB9XG4vLyB9XG4iLCIvLyBIYW1idXJnZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uaGFtYnVyZ2VyIHtcbiAgcGFkZGluZzogJGhhbWJ1cmdlci1wYWRkaW5nLXkgJGhhbWJ1cmdlci1wYWRkaW5nLXg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG5cbiAgLy8gTm9ybWFsaXplICg8YnV0dG9uPilcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICY6aG92ZXIge1xuICAgIEBpZiAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgPT0gdHJ1ZSB7XG4gICAgICBmaWx0ZXI6ICRoYW1idXJnZXItaG92ZXItZmlsdGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBvcGFjaXR5OiAkaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgICY6aG92ZXIge1xuICAgICAgQGlmICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciA9PSB0cnVlIHtcbiAgICAgICAgZmlsdGVyOiAkaGFtYnVyZ2VyLWFjdGl2ZS1ob3Zlci1maWx0ZXI7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG9wYWNpdHk6ICRoYW1idXJnZXItYWN0aXZlLWhvdmVyLW9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lcixcbiAgICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4gICAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1hY3RpdmUtbGF5ZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5oYW1idXJnZXItYm94IHtcbiAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XG4gIGhlaWdodDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAzICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oYW1idXJnZXItaW5uZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gLTI7XG5cbiAgJixcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6ICRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB9XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgYm90dG9tOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHgpIHtcbiAgLypcbiAgICogM0RYXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHgge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeC1yKSB7XG4gIC8qXG4gICAqIDNEWCBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHgtciB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeSkge1xuICAvKlxuICAgKiAzRFlcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeSB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeS1yKSB7XG4gIC8qXG4gICAqIDNEWSBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHktciB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R4eSkge1xuICAvKlxuICAgKiAzRFhZXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHh5IHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHJvdGF0ZVkoMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R4eS1yKSB7XG4gIC8qXG4gICAqIDNEWFkgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R4eS1yIHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHJvdGF0ZVkoMTgwZGVnKSByb3RhdGVaKC0xODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvdykge1xuICAvKlxuICAgKiBBcnJvd1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3cuaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMiwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93LXIpIHtcbiAgLypcbiAgICogQXJyb3cgUmlnaHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93LXIuaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvd2FsdCkge1xuICAvKlxuICAgKiBBcnJvdyBBbHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93YWx0IHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yNSwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjI1LCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3dhbHQtcikge1xuICAvKlxuICAgKiBBcnJvdyBBbHQgUmlnaHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93YWx0LXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMjUsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMjUsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3d0dXJuKSB7XG4gIC8qXG4gICAqIEFycm93IFR1cm5cbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93dHVybi5pcy1hY3RpdmUge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoOHB4LCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4cHgsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3d0dXJuLXIpIHtcbiAgLypcbiAgICogQXJyb3cgVHVybiBSaWdodFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3d0dXJuLXIuaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC04cHgsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtOHB4LCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYm9yaW5nKSB7XG4gIC8qXG4gICAqIEJvcmluZ1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tYm9yaW5nIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICYsXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgY29sbGFwc2UpIHtcbiAgLypcbiAgICogQ29sbGFwc2VcbiAgICovXG4gIC5oYW1idXJnZXItLWNvbGxhcHNlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xM3M7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMiArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKiAtMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4yMnMgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE2cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIDAuMjVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgY29sbGFwc2Utcikge1xuICAvKlxuICAgKiBDb2xsYXBzZSBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xM3M7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMiArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKiAtMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMSwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyAwLjIycyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjI1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVsYXN0aWMpIHtcbiAgLypcbiAgICogRWxhc3RpY1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tZWxhc3RpYyB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjc1cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjEyNXMgMC4yNzVzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjc1cyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCwgMCkgcm90YXRlKDEzNWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQgKiAtMiwgMCkgcm90YXRlKC0yNzBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVsYXN0aWMtcikge1xuICAvKlxuICAgKiBFbGFzdGljIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLWVsYXN0aWMtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjc1cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjEyNXMgMC4yNzVzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjc1cyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCwgMCkgcm90YXRlKC0xMzVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVtcGhhdGljKSB7XG4gIC8qXG4gICAqIEVtcGhhdGljXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1lbXBoYXRpYyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMiwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMTI1cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICByaWdodDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yO1xuICAgICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMiwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4xMjVzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgZW1waGF0aWMtcikge1xuICAvKlxuICAgKiBFbXBoYXRpYyBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1lbXBoYXRpYy1yIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksXG4gICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yO1xuICAgICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMTI1cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICByaWdodDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yO1xuICAgICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMiwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjEyNXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBtaW51cykge1xuICAvKlxuICAgKiBNaW51c1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tbWludXMge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wOHMgMHMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgIHRvcCAwLjA4cyAwcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwcyBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDhzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRvcCAwLjA4cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDBzIDAuMDhzIGxpbmVhcjtcbiAgICAgICAgfVxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzbGlkZXIpIHtcbiAgLypcbiAgICogU2xpZGVyXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zbGlkZXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICR5LW9mZnNldDogJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggLyAtNywgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogLTEsIDApO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQgKiAtMiwgMCkgcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzbGlkZXItcikge1xuICAvKlxuICAgKiBTbGlkZXIgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICR5LW9mZnNldDogJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSgtNDVkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggLyA3LCAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAtMSwgMCk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCAqIC0yLCAwKSByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3Bpbikge1xuICAvKlxuICAgKiBTcGluXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcGluIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjJzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjI1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgZWFzZS1pbjtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjI1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4yMnMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4xMnMgZWFzZS1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMjJzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3Bpbi1yKSB7XG4gIC8qXG4gICAqIFNwaW4gUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3Bpbi1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjJzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjI1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgZWFzZS1pbjtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjI1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4yMnMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMjVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIDAuMTJzIGVhc2Utb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMjJzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3ByaW5nKSB7XG4gIC8qXG4gICAqIFNwcmluZ1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3ByaW5nIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAyO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwcyAwLjEzcyBsaW5lYXI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0LCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3ByaW5nLXIpIHtcbiAgLypcbiAgICogU3ByaW5nIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXNwcmluZy1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMiArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKiAtMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMHMgbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDBzIDAuMjJzIGxpbmVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE1cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3RhbmQpIHtcbiAgLypcbiAgICogU3RhbmRcbiAgICovXG4gIC5oYW1idXJnZXItLXN0YW5kIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMDc1cyBsaW5lYXI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjA3NXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xNXMgbGluZWFyO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHN0YW5kLXIpIHtcbiAgLypcbiAgICogU3RhbmQgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3RhbmQtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjA3NXMgbGluZWFyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMDc1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3F1ZWV6ZSkge1xuICAvKlxuICAgKiBTcXVlZXplXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcXVlZXplIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDc1cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjEycyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMDc1cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4xMnMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4wNzVzIDAuMTJzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCB2b3J0ZXgpIHtcbiAgLypcbiAgICogVm9ydGV4XG4gICAqL1xuICAuaGFtYnVyZ2VyLS12b3J0ZXgge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHM7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgb3BhY2l0eTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3R0b20sIHRyYW5zZm9ybTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNzY1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHZvcnRleC1yKSB7XG4gIC8qXG4gICAqIFZvcnRleCBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS12b3J0ZXgtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCBvcGFjaXR5O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvdHRvbSwgdHJhbnNmb3JtO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNzY1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXHJcbi8vIEF3ZXNvbWUgRm91bmRhdGlvbiA2IENoZWNrYm94ZXMgYW5kIHJhZGlvc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AaW1wb3J0IFwic2V0dGluZ3NcIjtcclxuXHJcbkBtaXhpbiBjaGVja2JveC12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xyXG4gICN7JHBhcmVudH0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCxcclxuICAjeyRwYXJlbnR9IGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwge1xyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XHJcbiAgICB9XHJcbiAgICAmOjphZnRlcntcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gY2hlY2tib3gtdmFyaWFudC1pbmRldGVybWluYXRlKCRwYXJlbnQsICRjb2xvcikge1xyXG4gICN7JHBhcmVudH0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmluZGV0ZXJtaW5hdGUgKyBsYWJlbCxcclxuICAjeyRwYXJlbnR9IGlucHV0W3R5cGU9XCJyYWRpb1wiXTppbmRldGVybWluYXRlICsgbGFiZWwge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuICAgICY6OmFmdGVye1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4uY2hlY2tib3h7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxuICBtYXJnaW46IDAgMCAkYWZjLW1hcmdpbjtcclxuXHJcbiAgbGFiZWx7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICBoZWlnaHQ6IDIzcHg7XHJcblxyXG4gICAgJjo6YmVmb3Jle1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgd2lkdGg6IDIxcHg7XHJcbiAgICAgIGhlaWdodDogMjFweDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0yOHB4O1xyXG4gICAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjE1cyBlYXNlLWluLW91dCwgY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXJ7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB3aWR0aDogMjBweDtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB0b3A6IC0ycHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjdweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICBjb2xvcjogJGlucHV0LWNvbG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxyXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBtYXJnaW46IDRweCA0cHggNHB4IC0xOHB4O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogMThweDtcclxuICAgIGhlaWdodDogMTdweDtcclxuXHJcbiAgICAmOmZvY3VzICsgbGFiZWw6OmJlZm9yZXtcclxuICAgICAgb3V0bGluZTogMDtcclxuICAgIH1cclxuXHJcbiAgICAmOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXJ7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkYWZjLWZvbnQtZmFtaWx5O1xyXG4gICAgICBjb250ZW50OiAkYWZjLXZhci1jaGVjaztcclxuICAgIH1cclxuXHJcbiAgICAmOmluZGV0ZXJtaW5hdGUgKyBsYWJlbDo6YWZ0ZXJ7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICB3aWR0aDogMTBweDtcclxuICAgICAgaGVpZ2h0OiAzcHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU1NTU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjIuNXB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMXB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6ZGlzYWJsZWQgKyBsYWJlbHtcclxuICAgICAgb3BhY2l0eTogMC42NTtcclxuXHJcbiAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJi5jaGVja2JveC1jaXJjbGUgbGFiZWw6OmJlZm9yZXtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICB9XHJcblxyXG4gICYuY2hlY2tib3gtaW5saW5le1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB9XHJcbn1cclxuXHJcblxyXG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCcuY2hlY2tib3gucHJpbWFyeScsICRwcmltYXJ5LWNvbG9yKTtcclxuQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudCgnLmNoZWNrYm94LnNlY29uZGFyeScsICRzZWNvbmRhcnktY29sb3IpO1xyXG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCcuY2hlY2tib3guYWxlcnQnLCAkYWxlcnQtY29sb3IpO1xyXG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCcuY2hlY2tib3gud2FybmluZycsICR3YXJuaW5nLWNvbG9yKTtcclxuQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudCgnLmNoZWNrYm94LnN1Y2Nlc3MnLCAkc3VjY2Vzcy1jb2xvcik7XHJcblxyXG5cclxuQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudC1pbmRldGVybWluYXRlKCcuY2hlY2tib3gucHJpbWFyeScsICRwcmltYXJ5LWNvbG9yKTtcclxuQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudC1pbmRldGVybWluYXRlKCcuY2hlY2tib3guc2Vjb25kYXJ5JywgJHNlY29uZGFyeS1jb2xvcik7XHJcbkBpbmNsdWRlIGNoZWNrYm94LXZhcmlhbnQtaW5kZXRlcm1pbmF0ZSgnLmNoZWNrYm94LmFsZXJ0JywgJGFsZXJ0LWNvbG9yKTtcclxuQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudC1pbmRldGVybWluYXRlKCcuY2hlY2tib3gud2FybmluZycsICR3YXJuaW5nLWNvbG9yKTtcclxuQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudC1pbmRldGVybWluYXRlKCcuY2hlY2tib3guc3VjY2VzcycsICRzdWNjZXNzLWNvbG9yKTtcclxuXHJcblxyXG4vL1xyXG4vLyBSYWRpb3NcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbkBtaXhpbiByYWRpby12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xyXG4gICN7JHBhcmVudH0gaW5wdXRbdHlwZT1cInJhZGlvXCJde1xyXG4gICAgKyBsYWJlbHtcclxuICAgICAgJjo6YWZ0ZXJ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmNoZWNrZWQgKyBsYWJlbHtcclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgICAgfVxyXG4gICAgICAmOjphZnRlcntcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5yYWRpb3tcclxuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcblxyXG4gIGxhYmVse1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgaGVpZ2h0OiAyM3B4O1xyXG5cclxuICAgICY6OmJlZm9yZXtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHdpZHRoOiAyMXB4O1xyXG4gICAgICBoZWlnaHQ6IDIxcHg7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjhweDtcclxuICAgICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjE1cyBlYXNlLWluLW91dDtcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlcntcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICB3aWR0aDogMTNweDtcclxuICAgICAgaGVpZ2h0OiAxM3B4O1xyXG4gICAgICBsZWZ0OiA0cHg7XHJcbiAgICAgIHRvcDogNHB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogLTI4cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWNvbG9yO1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xyXG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjFzIGN1YmljLWJlemllciguOCwtMC4zMywuMiwxLjMzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXXtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG1hcmdpbjogNHB4IDRweCA0cHggLTE4cHg7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgaGVpZ2h0OiAxN3B4O1xyXG5cclxuICAgICY6Zm9jdXMgKyBsYWJlbDo6YmVmb3Jle1xyXG4gICAgICBvdXRsaW5lOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6Y2hlY2tlZCArIGxhYmVsOjphZnRlcntcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcclxuICAgIH1cclxuXHJcbiAgICAmOmRpc2FibGVkICsgbGFiZWx7XHJcbiAgICAgIG9wYWNpdHk6IDAuNjU7XHJcblxyXG4gICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gICYucmFkaW8taW5saW5le1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJy5yYWRpby5wcmltYXJ5JywgJHByaW1hcnktY29sb3IpO1xyXG5AaW5jbHVkZSByYWRpby12YXJpYW50KCcucmFkaW8uc2Vjb25kYXJ5JywgJHNlY29uZGFyeS1jb2xvcik7XHJcbkBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJy5yYWRpby5hbGVydCcsICRhbGVydC1jb2xvcik7XHJcbkBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJy5yYWRpby53YXJuaW5nJywgJHdhcm5pbmctY29sb3IpO1xyXG5AaW5jbHVkZSByYWRpby12YXJpYW50KCcucmFkaW8uc3VjY2VzcycsICRzdWNjZXNzLWNvbG9yKTtcclxuXHJcblxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgJi5zdHlsZWQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkYWZjLWZvbnQtZmFtaWx5O1xyXG4gICAgY29udGVudDogJGFmYy12YXItY2hlY2s7XHJcbiAgfVxyXG4gIC5zdHlsZWQ6Y2hlY2tlZCArIGxhYmVsIHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy9cclxuLy8gQXdlc29tZSBGb3VuZGF0aW9uIDYgQ2hlY2tib3hlcyBhbmQgcmFkaW9zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYWZjLWZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCIgIWRlZmF1bHQ7XHJcbiRhZmMtdmFyLWNoZWNrOiAgIFwiXFxmMDBjXCIgICAgICAgIWRlZmF1bHQ7XHJcbiRhZmMtbWFyZ2luOiAgICAgIHJlbS1jYWxjKDgpICAgIWRlZmF1bHQ7XHJcbiIsIkBpbXBvcnQgXCJyYy1iYXNlLXpmL2ZvdW5kYXRpb25cIjtcbkBpbXBvcnQgXCJ+Zm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb25cIjtcbkBpbXBvcnQgXCJ+aGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL2hhbWJ1cmdlcnNcIjtcbkBpbXBvcnQgXCJ+YXdlc29tZS1mb3VuZGF0aW9uNi1jaGVja2JveC9zcmMvYXdlc29tZS1mb3VuZGF0aW9uNi1jaGVja2JveFwiO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGdsb2JhbC1mbGV4Ym94KTtcblxuLy8gRm9yY2UgRW5hYmxlIEdyaWQgWFkgd2l0aCBncmlkIGZsZXhib3ggZmFsc2Vcbi8vICEhISBUbyB1c2UgZ3JpZCB3aXRoIGZsb2F0IGdyaWQgbm90IGluY2x1ZGUgZ3JpZCB4eSBpbiBncmlkIGZsb2F0IHJvdyAgISEhXG5AaWYgbm90ICRnbG9iYWwtZmxleGJveCBhbmQgJHh5LWdyaWQge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3Nlcztcbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuXG5AaW1wb3J0IFwifmZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL3V0aWxcIjtcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogJGJhc2UtcGFsZXR0ZTtcbiRsaWdodC1ncmF5OiAkbGlnaHQtZ3JheS1iYXNlO1xuJG1lZGl1bS1ncmF5OiAkbWVkaXVtLWdyYXktYmFzZTtcbiRkYXJrLWdyYXk6ICRkYXJrLWdyYXktYmFzZTtcbiRibGFjazogJGJsYWNrLWJhc2U7XG4kd2hpdGU6ICR3aGl0ZS1iYXNlO1xuJGJvZHktYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZC1iYXNlO1xuJGJvZHktZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvci1iYXNlO1xuJGJvZHktZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5LWJhc2U7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHI7XG4kZ2xvYmFsLWZsZXhib3g6ICRnbG9iYWwtZmxleGJveC1iYXNlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4O1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJ1xcMDAyRic7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXDAwNUMnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdDtcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGw7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZTtcblxuLy8gMjAuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1wYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2s7XG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpLCAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogNHB4IHNvbGlkICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5AaW1wb3J0ICd1bml0JztcbkBpbXBvcnQgJ3ZhbHVlJztcbkBpbXBvcnQgJ2RpcmVjdGlvbic7XG5AaW1wb3J0ICdjb2xvcic7XG5AaW1wb3J0ICdzZWxlY3Rvcic7XG5AaW1wb3J0ICdmbGV4JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQnO1xuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwsIHBlcmNlbnRhZ2UsIHJlbSBvciBlbSB2YWx1ZSB0byBhIHVuaXRsZXNzIHZhbHVlIGJhc2VkIG9uIGEgZ2l2ZW4gZm9udCBzaXplLiBJZGVhbCBmb3Igd29ya2luZyBvdXQgdW5pdGxlc3MgbGluZSBoZWlnaHRzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnQgdG8gYSB1bml0bGVzcyBsaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBmb250IHNpemUgdG8gdXNlIHRvIHdvcmsgb3V0IHRoZSBsaW5lIGhlaWdodCAtIGRlZmF1bHRzIHRvICRnbG9iYWwtZm9udC1zaXplXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG5AZnVuY3Rpb24gdW5pdGxlc3MtY2FsYygkdmFsdWUsICRiYXNlOiBudWxsKSB7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gRmlyc3QsIGxldHMgY29udmVydCBvdXIgJGJhc2UgdG8gcGl4ZWxzXG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6ICgkdmFsdWUgLyAxMDAlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAkYmFzZTtcbiAgfVxuXG4gIC8vICdweCdcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIHtcbiAgICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBub3QgZmFsc2V5LCBpbiBDU1MgdGVybXMuIEZhbHNleSB2YWx1ZXMgYXJlIGBudWxsYCwgYG5vbmVgLCBgMGAgd2l0aCBhbnkgdW5pdCwgb3IgYW4gZW1wdHkgbGlzdC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICR2YWwgLSBWYWx1ZSB0byBjaGVjay5cbi8vL1xuLy8vIEByZXR1cm5zIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWxgIGlzIG5vdCBmYWxzZXkuXG5AZnVuY3Rpb24gaGFzLXZhbHVlKCR2YWwpIHtcbiAgQGlmICR2YWwgPT0gbnVsbCBvciAkdmFsID09IG5vbmUge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJHZhbCkgPT0gMCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbGlzdCcgYW5kIGxlbmd0aCgkdmFsKSA9PSAwIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vIERldGVybWluZSBhIHRvcC9yaWdodC9ib3R0b20vcmlnaHQgdmFsdWUgb24gYSBwYWRkaW5nLCBtYXJnaW4sIGV0Yy4gcHJvcGVydHksIG5vIG1hdHRlciBob3cgbWFueSB2YWx1ZXMgd2VyZSBwYXNzZWQgaW4uIFVzZSB0aGlzIGZ1bmN0aW9uIGlmIHlvdSBuZWVkIHRvIGtub3cgdGhlIHNwZWNpZmljIHNpZGUgb2YgYSB2YWx1ZSwgYnV0IGRvbid0IGtub3cgaWYgdGhlIHZhbHVlIGlzIHVzaW5nIGEgc2hvcnRoYW5kIGZvcm1hdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxOdW1iZXJ9ICR2YWwgLSBWYWx1ZSB0byBhbmFseXplLiBTaG91bGQgYmUgYSBzaG9ydGhhbmQgc2l6aW5nIHByb3BlcnR5LCBlLmcuIFwiMWVtIDJlbSAxZW1cIlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRvIHJldHVybi4gU2hvdWxkIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBzaW5nbGUgdmFsdWUgYmFzZWQgb24gYCR2YWxgIGFuZCBgJHNpZGVgLlxuQGZ1bmN0aW9uIGdldC1zaWRlKCR2YWwsICRzaWRlKSB7XG4gICRsZW5ndGg6IGxlbmd0aCgkdmFsKTtcblxuICBAaWYgJGxlbmd0aCA9PSAxIHtcbiAgICBAcmV0dXJuICR2YWw7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICksICRzaWRlKTtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAzIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgMiksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMyksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDQge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCA0KSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbn1cblxuLy8vIEdpdmVuIGJvcmRlciAkdmFsLCBmaW5kIGEgc3BlY2lmaWMgZWxlbWVudCBvZiB0aGUgYm9yZGVyLCB3aGljaCBpcyAkZWxlbS4gVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgJGVsZW0gYXJlIHdpZHRoLCBzdHlsZSwgYW5kIGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsIC0gQm9yZGVyIHZhbHVlIHRvIGZpbmQgYSB2YWx1ZSBpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIC0gQm9yZGVyIGNvbXBvbmVudCB0byBleHRyYWN0LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBJZiB0aGUgdmFsdWUgZXhpc3RzLCByZXR1cm5zIHRoZSB2YWx1ZS4gSWYgdGhlIHZhbHVlIGlzIG5vdCBpbiB0aGUgYm9yZGVyIGRlZmluaXRpb24sIHRoZSBmdW5jdGlvbiB3aWxsIHJldHVybiBhIDBweCB3aWR0aCwgc29saWQgc3R5bGUsIG9yIGJsYWNrIGJvcmRlci5cbkBmdW5jdGlvbiBnZXQtYm9yZGVyLXZhbHVlKCR2YWwsICRlbGVtKSB7XG4gIC8vIEZpbmQgdGhlIHdpZHRoLCBzdHlsZSwgb3IgY29sb3IgYW5kIHJldHVybiBpdFxuICBAZWFjaCAkdiBpbiAkdmFsIHtcbiAgICAkdHlwZTogdHlwZS1vZigkdik7XG4gICAgQGlmICRlbGVtID09IHdpZHRoIGFuZCAkdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgICBAaWYgJGVsZW0gPT0gc3R5bGUgYW5kICR0eXBlID09ICdzdHJpbmcnIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICAgIEBpZiAkZWxlbSA9PSBjb2xvciBhbmQgJHR5cGUgPT0gJ2NvbG9yJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmF1bHRzXG4gICRkZWZhdWx0czogKFxuICAgIHdpZHRoOiAwLFxuICAgIHN0eWxlOiBzb2xpZCxcbiAgICBjb2xvcjogIzAwMCxcbiAgKTtcblxuICBAcmV0dXJuIG1hcC1nZXQoJGRlZmF1bHRzLCAkZWxlbSk7XG59XG5cbi8vLyBGaW5kcyBhIHZhbHVlIGluIGEgbmVzdGVkIG1hcC5cbi8vLyBAbGluayBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL3Nhc3MvZGVlcC1nZXRzZXQtbWFwcy8gRGVlcCBHZXQvU2V0IGluIE1hcHNcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHB1bGwgYSB2YWx1ZSBmcm9tLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5cy4uLiAtIEtleXMgdG8gdXNlIHdoZW4gbG9va2luZyBmb3IgYSB2YWx1ZS5cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICB9XG4gIEByZXR1cm4gJG1hcDtcbn1cblxuLy8vIENhc3RzIGEgbWFwIGludG8gYSBsaXN0LlxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDQvMjgvY2FzdGluZy1tYXAtaW50by1saXN0L1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRGVwZW5kaW5nIG9uIHRoZSBmbGFnLCByZXR1cm5zIGVpdGhlciAka2V5cyBvciAkdmFsdWVzIG9yIGJvdGguXG5AZnVuY3Rpb24gbWFwLXRvLWxpc3QoJG1hcCwgJGtlZXA6ICdib3RoJykge1xuICAka2VlcDogaWYoaW5kZXgoJ2tleXMnICd2YWx1ZXMnLCAka2VlcCksICRrZWVwLCAnYm90aCcpO1xuXG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAka2V5czogKCk7XG4gICAgJHZhbHVlczogKCk7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRtYXAge1xuICAgICAgJGtleXM6IGFwcGVuZCgka2V5cywgJGtleSk7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHZhbCk7XG4gICAgfVxuXG4gICAgQGlmICRrZWVwID09ICdrZXlzJyB7XG4gICAgICBAcmV0dXJuICRrZXlzO1xuICAgIH1cbiAgICBAZWxzZSBpZiAka2VlcCA9PSAndmFsdWVzJyB7XG4gICAgICBAcmV0dXJuICR2YWx1ZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEByZXR1cm4gemlwKCRrZXlzLCAkdmFsdWVzKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKHR5cGUtb2YoJG1hcCkgIT0gJ2xpc3QnLCAoJHZhbHVlLCksICRtYXApO1xuXG59XG5cbi8vLyBTYWZlbHkgcmV0dXJuIGEgdmFsdWUgZnJvbSBhIG1hcC5cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHJldHJpZXZlIGEgdmFsdWUgZnJvbS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIE5hbWUgb2YgdGhlIG1hcCBrZXkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRm91bmQgdmFsdWUuXG5AZnVuY3Rpb24gbWFwLXNhZmUtZ2V0KCRtYXAsICRrZXkpIHtcbiAgQGlmICh0eXBlLW9mKCRtYXApID09ICdtYXAnIG9yICh0eXBlLW9mKCRtYXApID09ICdsaXN0JyBhbmQgbGVuZ3RoKCRtYXApID09IDApKSB7XG4gICAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0tleTogYCN7JGtleX1gIGlzIG5vdCBhdmFpbGFibGUgaW4gYCN7JG1hcH1gJztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnYCN7JG1hcH1gIGlzIG5vdCBhIHZhbGlkIG1hcCc7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uIG9mICRkaXJcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFVzZWQgZGlyZWN0aW9uIGJldHdlZW4gXCJ0b3BcIiwgXCJyaWdodFwiLCBcImJvdHRvbVwiIGFuZCBcImxlZnRcIi5cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBPcHBvc2l0ZSBkaXJlY3Rpb24gb2YgJGRpclxuQGZ1bmN0aW9uIGRpcmVjdGlvbi1vcHBvc2l0ZShcbiAgJGRpclxuKSB7XG4gICRkaXJzOiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0KTtcbiAgJHBsYWNlOiBpbmRleCgkZGlycywgJGRpcik7XG5cbiAgQGlmICRwbGFjZSA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ2RpcmVjdGlvbi1vcHBvc2l0ZTogSW52YWxpZCAkZGlyIHBhcmFtZXRlciwgZXhwZWN0ZWQgYSB2YWx1ZSBmcm9tIFwiI3skZGlyc31cIiwgZm91bmQgXCIjeyRkaXJ9XCIuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIG9wcG9zaXRlIHBsYWNlIGluIGEgY2lyY2xlLCB3aXRoIGEgc3RhcnRpbmcgaW5kZXggb2YgMVxuICAkbGVuZ3RoOiBsZW5ndGgoJGRpcnMpO1xuICAkZGVtaTogJGxlbmd0aCAvIDI7XG4gICRvcHBvc2l0ZS1wbGFjZTogKCgkcGxhY2UgKyAkZGVtaSAtIDEpICUgJGxlbmd0aCkgKyAxO1xuXG4gIEByZXR1cm4gbnRoKCRkaXJzLCAkb3Bwb3NpdGUtcGxhY2UpO1xufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBHZW5lcmF0ZXMgYSBzZWxlY3RvciB3aXRoIGV2ZXJ5IHRleHQgaW5wdXQgdHlwZS4gWW91IGNhbiBhbHNvIGZpbHRlciB0aGUgbGlzdCB0byBvbmx5IG91dHB1dCBhIHN1YnNldCBvZiB0aG9zZSBzZWxlY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R8S2V5d29yZH0gJHR5cGVzIFsoKV0gLSBBIGxpc3Qgb2YgdGV4dCBpbnB1dCB0eXBlcyB0byB1c2UuIExlYXZlIGJsYW5rIHRvIHVzZSBhbGwgb2YgdGhlbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtb2RpZmllciBbJyddIC0gQSBtb2RpZmllciB0byBiZSBhcHBsaWVkIHRvIGVhY2ggdGV4dCBpbnB1dCB0eXBlIChlLmcuIGEgY2xhc3Mgb3IgYSBwc2V1ZG8tY2xhc3MpLiBMZWF2ZSBibGFuayB0byBpZ25vcmUuXG5AZnVuY3Rpb24gdGV4dC1pbnB1dHMoJHR5cGVzOiAoKSwgJG1vZGlmaWVyOiAnJykge1xuICAkcmV0dXJuOiAoKTtcblxuICAkYWxsLXR5cGVzOlxuICAgIHRleHRcbiAgICBwYXNzd29yZFxuICAgIGRhdGVcbiAgICBkYXRldGltZVxuICAgIGRhdGV0aW1lLWxvY2FsXG4gICAgbW9udGhcbiAgICB3ZWVrXG4gICAgZW1haWxcbiAgICBudW1iZXJcbiAgICBzZWFyY2hcbiAgICB0ZWxcbiAgICB0aW1lXG4gICAgdXJsXG4gICAgY29sb3I7XG5cbiAgQGlmIG5vdCBoYXMtdmFsdWUoJHR5cGVzKSB7XG4gICAgJHR5cGVzOiAkYWxsLXR5cGVzO1xuICB9XG5cbiAgQGVhY2ggJHR5cGUgaW4gJHR5cGVzIHtcbiAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnW3R5cGU9XFwnI3skdHlwZX1cXCddI3skbW9kaWZpZXJ9JyksIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cbiIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbil7XG4gICQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICAgJ2xlZnQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LWVuZCwgZmxleC1zdGFydCksXG4gICAgJ3JpZ2h0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1zdGFydCwgZmxleC1lbmQpLFxuICAgICdjZW50ZXInOiBjZW50ZXIsXG4gICAgJ2p1c3RpZnknOiBzcGFjZS1iZXR3ZWVuLFxuICAgICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4gICk7XG5cbiAgQHJldHVybiAkLXpmLWZsZXgtanVzdGlmeTtcbn1cblxuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuJC16Zi1mbGV4LWRpcmVjdGlvbjogKFxuICAncm93Jzogcm93LFxuICAncm93LXJldmVyc2UnOiByb3ctcmV2ZXJzZSxcbiAgJ2NvbHVtbic6IGNvbHVtbixcbiAgJ2NvbHVtbi1yZXZlcnNlJzogY29sdW1uLXJldmVyc2UsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLic7XG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAganVzdGlmeS1jb250ZW50OiAkeDtcbiAgYWxpZ24taXRlbXM6ICR5O1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHk6IG51bGwpIHtcbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtY29sdW1uLWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLic7XG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuLy8vIENoYW5nZSBmbGV4LWRpcmVjdGlvblxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbcm93XSAtIEZsZXggZGlyZWN0aW9uIHRvIHVzZS4gQ2FuIGJlXG4vLy8gICAtIHJvdyAoZGVmYXVsdCk6IHNhbWUgYXMgdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gcm93LXJldmVyc2U6IG9wcG9zaXRlIHRvIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIGNvbHVtbjogc2FtZSBhcyByb3cgYnV0IHRvcCB0byBib3R0b21cbi8vLyAgIC0gY29sdW1uLXJldmVyc2U6IHNhbWUgYXMgcm93LXJldmVyc2UgdG9wIHRvIGJvdHRvbVxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gLjAwMTI1O1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG59XG5cbi8vLyBDb252ZXJ0cyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kLXpmLWZvbnQtc3RhY2s6IChcbiAgJ2dlb3JnaWEnOiAoR2VvcmdpYSwgXCJVUlcgQm9va21hbiBMXCIsIHNlcmlmKSxcbiAgJ2hlbHZldGljYSc6IChIZWx2ZXRpY2EsIEFyaWFsLCBcIk5pbWJ1cyBTYW5zIExcIiwgc2Fucy1zZXJpZiksXG4gICdsdWNpZGEtZ3JhbmRlJzogKFwiTHVjaWRhIEdyYW5kZVwiLCBcIkx1Y2lkYSBTYW5zIFVuaWNvZGVcIiwgXCJCaXRzdHJlYW0gVmVyYSBTYW5zXCIsIHNhbnMtc2VyaWYpLFxuICAnbW9ub3NwYWNlJzogKFwiQ291cmllciBOZXdcIiwgQ291cmllciwgXCJOaW1idXMgU2FucyBMXCIsIG1vbm9zcGFjZSksXG4gICdzeXN0ZW0nOiAoLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJPeHlnZW5cIiwgXCJVYnVudHVcIiwgXCJDYW50YXJlbGxcIiwgXCJGaXJhIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmKSxcbiAgJ3ZlcmRhbmEnOiAoVmVyZGFuYSwgR2VuZXZhLCBcIkRlamFWdSBTYW5zXCIsIHNhbnMtc2VyaWYpLFxuKTtcblxuLy8vIFJldHVybiBhIGZvbnQgc3RhY2sgbGlzdCBmcm9tIGEgbWFwLiBFcXVpdmFsZW50IHRvIGBtYXAtc2FmZS1nZXQoJG5hbWUsICQtemYtZm9udC1zdGFjaylgLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdGFjayAtIE5hbWUgb2YgdGhlIGZvbnQgc3RhY2suXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgWyQtemYtZm9udC1zdGFja10gLSBNYXAgb2YgZm9udCBzdGFja3MgdG8gcmV0cmlldmUgYSBsaXN0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gRm91bmQgZm9udCBzdGFjay5cbkBmdW5jdGlvbiBmb250LXN0YWNrKCRzdGFjaywgJG1hcDogJC16Zi1mb250LXN0YWNrKSB7XG4gIEByZXR1cm4gbWFwLXNhZmUtZ2V0KCRtYXAsICRzdGFjayk7XG59XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi41LjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvLy9cbi8vLyBDaGVja3Mgd2hldGhlciBgJGZ1bmN0aW9uc2AgZXhpc3QgaW4gZ2xvYmFsIHNjb3BlLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ0xpc3R9ICRmdW5jdGlvbnMgLSBsaXN0IG9mIGZ1bmN0aW9ucyB0byBjaGVjayBmb3Jcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9IFdoZXRoZXIgb3Igbm90IHRoZXJlIGFyZSBtaXNzaW5nIGRlcGVuZGVuY2llc1xuLy8vXG4gXG5AZnVuY3Rpb24gc2wtbWlzc2luZy1kZXBlbmRlbmNpZXMoJGZ1bmN0aW9ucy4uLikge1xuICAkbWlzc2luZy1kZXBlbmRlbmNpZXM6ICgpO1xuICBcbiAgQGVhY2ggJGZ1bmN0aW9uIGluICRmdW5jdGlvbnMge1xuICAgIEBpZiBub3QgZnVuY3Rpb24tZXhpc3RzKCRmdW5jdGlvbikge1xuICAgICAgJG1pc3NpbmctZGVwZW5kZW5jaWVzOiBhcHBlbmQoJG1pc3NpbmctZGVwZW5kZW5jaWVzLCAkZnVuY3Rpb24sIGNvbW1hKTtcbiAgICB9XG4gIH1cbiAgXG4gIEBpZiBsZW5ndGgoJG1pc3NpbmctZGVwZW5kZW5jaWVzKSA+IDAge1xuICAgIEBlcnJvciAnVW5tZXQgZGVwZW5kZW5jaWVzISBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhcmUgcmVxdWlyZWQ6ICN7JG1pc3NpbmctZGVwZW5kZW5jaWVzfS4nO1xuICB9XG5cbiAgQHJldHVybiBsZW5ndGgoJG1pc3NpbmctZGVwZW5kZW5jaWVzKSA+IDA7XG59XG4iLCIvLy9cbi8vLyBSZXR1cm5zIHRydXRoaW5lc3Mgb2YgYCR2YWx1ZWAuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gdmFsdWUgdG8gY2hlY2tcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1pcy10cnVlKCR2YWx1ZSkge1xuICBAcmV0dXJuIGlmKCR2YWx1ZSA9PSBudWxsLCBmYWxzZSwgJHZhbHVlIGFuZCAkdmFsdWUgIT0gbnVsbCBhbmQgJHZhbHVlICE9ICcnIGFuZCAkdmFsdWUgIT0gKCkpO1xufVxuIiwiLy8vXG4vLy8gUmV0dXJucyB3aGV0aGVyIGAkbGlzdGAgY29udGFpbnMgYCR2YWx1ZWAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtY29udGFpblxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAgICAkbGlzdCAgLSBsaXN0IHRvIGNoZWNrXG4vLy8gQHBhcmFtIHsqfSAgICAgICAkdmFsdWUgLSB2YWx1ZSB0byBsb29rIGZvclxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1jb250YWluKGEgYiBjLCBhKVxuLy8vIC8vIHRydWVcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtY29udGFpbihhIGIgYywgeilcbi8vLyAvLyBmYWxzZVxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtY29udGFpbigkbGlzdCwgJHZhbHVlKSB7XG4gIEByZXR1cm4gbm90IG5vdCBpbmRleCgkbGlzdCwgJHZhbHVlKTtcbn1cblxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLWNvbnRhaW5cbi8vLyBAYWxpYXMgc2wtY29udGFpblxuLy8vXG4gXG5AZnVuY3Rpb24gc2wtaW5jbHVkZSgkbGlzdCwgJHZhbHVlKSB7XG4gIEByZXR1cm4gc2wtY29udGFpbigkbGlzdCwgJHZhbHVlKTtcbn1cbiIsIi8vLyBSZW1vdmVzIGFsbCBmYWxzZSBhbmQgbnVsbCB2YWx1ZXMgZnJvbSBgJGxpc3RgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXB1cmdlXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtaXMtdHJ1ZVxuLy8vIEByZXF1aXJlcyBzbC10by1saXN0XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gbGlzdCB0byBwdXJnZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1wdXJnZShudWxsIGEgZmFsc2UgYilcbi8vLyAvLyBhIGJcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cblxuQGZ1bmN0aW9uIHNsLXB1cmdlKCRsaXN0KSB7XG4gICRfOiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygnc2wtaXMtdHJ1ZScsICdzbC10by1saXN0Jyk7XG4gIFxuICAkcmVzdWx0OiAoKTtcblxuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgQGlmIHNsLWlzLXRydWUoJGl0ZW0pIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkaXRlbSwgbGlzdC1zZXBhcmF0b3IoJGxpc3QpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHNsLXRvLWxpc3QoJHJlc3VsdCk7XG59XG5cbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1wdXJnZVxuLy8vIEBhbGlhcyBzbC1wdXJnZVxuLy8vXG4gXG5AZnVuY3Rpb24gc2wtY2xlYW4oJGxpc3QpIHtcbiAgQHJldHVybiBzbC1wdXJnZSgkbGlzdCk7XG59XG4iLCIvLy9cbi8vLyBSZW1vdmVzIHZhbHVlKHMpIGAkdmFsdWVgIGZyb20gYCRsaXN0YC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1yZW1vdmVcbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1yZXBsYWNlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICAgICRsaXN0ICAgICAgLSBsaXN0IHRvIHVwZGF0ZVxuLy8vIEBwYXJhbSB7Kn0gICAgICAgJHZhbHVlICAgICAtIHZhbHVlIHRvIHJlbW92ZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1yZW1vdmUoYSBiIGMsIGEpXG4vLy8gLy8gYiBjXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG5cbkBmdW5jdGlvbiBzbC1yZW1vdmUoJGxpc3QsICR2YWx1ZSkge1xuICAkXzogc2wtbWlzc2luZy1kZXBlbmRlbmNpZXMoJ3NsLXJlcGxhY2UnKTtcblxuICBAcmV0dXJuIHNsLXJlcGxhY2UoJGxpc3QsICR2YWx1ZSwgbnVsbCk7XG59XG5cbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1yZW1vdmVcbi8vLyBAYWxpYXMgc2wtcmVtb3ZlXG4vLy9cblxuQGZ1bmN0aW9uIHNsLXdpdGhvdXQoJGxpc3QsICR2YWx1ZSkge1xuICBAcmV0dXJuIHNsLXJlbW92ZSgkbGlzdCwgJHZhbHVlKTtcbn1cbiIsIi8vL1xuLy8vIFJlcGxhY2VzIGAkb2xkYCBieSBgJG5ld2AgaW4gYCRsaXN0YC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1yZXBsYWNlXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtaXMtdHJ1ZVxuLy8vIEByZXF1aXJlcyBzbC1wdXJnZVxuLy8vIEByZXF1aXJlcyBzbC10by1saXN0XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICAgICRsaXN0ICAtIGxpc3QgdG8gdXBkYXRlXG4vLy8gQHBhcmFtIHsqfSAgICAgICAkb2xkICAgLSB2YWx1ZSB0byByZXBsYWNlXG4vLy8gQHBhcmFtIHsqfSAgICAgICAkdmFsdWUgLSBuZXcgdmFsdWUgZm9yICRvbGRcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtcmVwbGFjZShhIGIgYywgYiwgeilcbi8vLyAvLyBhIHogY1xuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1yZXBsYWNlKGEgYiBjLCB5LCB6KVxuLy8vIC8vIGEgYiBjXG4vLy8gXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLXJlcGxhY2UoJGxpc3QsICRvbGQsICR2YWx1ZSkge1xuICAkXzogc2wtbWlzc2luZy1kZXBlbmRlbmNpZXMoJ3NsLWlzLXRydWUnLCAnc2wtcHVyZ2UnLCAnc2wtdG8tbGlzdCcpO1xuXG4gICRydW5uaW5nOiB0cnVlO1xuXG4gIEB3aGlsZSAkcnVubmluZyB7XG4gICAgJGluZGV4OiBpbmRleCgkbGlzdCwgJG9sZCk7XG5cbiAgICBAaWYgbm90ICRpbmRleCB7XG4gICAgICAkcnVubmluZzogZmFsc2U7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJGxpc3Q6IHNldC1udGgoJGxpc3QsICRpbmRleCwgJHZhbHVlKTtcbiAgICB9XG5cbiAgfVxuXG4gICRsaXN0OiBpZihzbC1pcy10cnVlKCR2YWx1ZSksICRsaXN0LCBzbC1wdXJnZSgkbGlzdCkpO1xuICBcbiAgQHJldHVybiBzbC10by1saXN0KCRsaXN0KTtcbn1cbiIsIi8vL1xuLy8vIENhc3RzIGAkdmFsdWVgIGludG8gYSBsaXN0LlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXRvLWxpc3Rcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gdmFsdWUgdG8gY2FzdCB0byBsaXN0XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZXBhcmF0b3IgW3NwYWNlXSAtIHNlcGFyYXRvciB0byB1c2Vcbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gc2wtdG8tbGlzdChhIGIgYywgY29tbWEpXG4vLy8gLy8gYSwgYiwgY1xuLy8vIFxuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cblxuQGZ1bmN0aW9uIHNsLXRvLWxpc3QoJHZhbHVlLCAkc2VwYXJhdG9yOiBsaXN0LXNlcGFyYXRvcigkdmFsdWUpKSB7XG4gIEByZXR1cm4gam9pbigoKSwgJHZhbHVlLCAkc2VwYXJhdG9yKTtcbn1cblxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXRvLWxpc3Rcbi8vLyBAYWxpYXMgc2wtdG8tbGlzdFxuLy8vXG5cbkBmdW5jdGlvbiBzbC1saXN0aWZ5KCR2YWx1ZSkge1xuICBAcmV0dXJuIHNsLXRvLWxpc3QoJHZhbHVlKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcbkBpbXBvcnQgJ3VuaXQnO1xuQGltcG9ydCAndmFsdWUnO1xuQGltcG9ydCAnZGlyZWN0aW9uJztcbkBpbXBvcnQgJ2NvbG9yJztcbkBpbXBvcnQgJ3NlbGVjdG9yJztcbkBpbXBvcnQgJ2ZsZXgnO1xuQGltcG9ydCAnYnJlYWtwb2ludCc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAndHlwb2dyYXBoeSc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIERldGVybWluZSBpZiBhIHZhbHVlIGlzIG5vdCBmYWxzZXksIGluIENTUyB0ZXJtcy4gRmFsc2V5IHZhbHVlcyBhcmUgYG51bGxgLCBgbm9uZWAsIGAwYCB3aXRoIGFueSB1bml0LCBvciBhbiBlbXB0eSBsaXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJHZhbCAtIFZhbHVlIHRvIGNoZWNrLlxuLy8vXG4vLy8gQHJldHVybnMge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbGAgaXMgbm90IGZhbHNleS5cbkBmdW5jdGlvbiBoYXMtdmFsdWUoJHZhbCkge1xuICBAaWYgJHZhbCA9PSBudWxsIG9yICR2YWwgPT0gbm9uZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkdmFsKSA9PSAwIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEBpZiB0eXBlLW9mKCR2YWwpID09ICdsaXN0JyBhbmQgbGVuZ3RoKCR2YWwpID09IDAge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8gRGV0ZXJtaW5lIGEgdG9wL3JpZ2h0L2JvdHRvbS9yaWdodCB2YWx1ZSBvbiBhIHBhZGRpbmcsIG1hcmdpbiwgZXRjLiBwcm9wZXJ0eSwgbm8gbWF0dGVyIGhvdyBtYW55IHZhbHVlcyB3ZXJlIHBhc3NlZCBpbi4gVXNlIHRoaXMgZnVuY3Rpb24gaWYgeW91IG5lZWQgdG8ga25vdyB0aGUgc3BlY2lmaWMgc2lkZSBvZiBhIHZhbHVlLCBidXQgZG9uJ3Qga25vdyBpZiB0aGUgdmFsdWUgaXMgdXNpbmcgYSBzaG9ydGhhbmQgZm9ybWF0LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fE51bWJlcn0gJHZhbCAtIFZhbHVlIHRvIGFuYWx5emUuIFNob3VsZCBiZSBhIHNob3J0aGFuZCBzaXppbmcgcHJvcGVydHksIGUuZy4gXCIxZW0gMmVtIDFlbVwiXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdG8gcmV0dXJuLiBTaG91bGQgYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIHNpbmdsZSB2YWx1ZSBiYXNlZCBvbiBgJHZhbGAgYW5kIGAkc2lkZWAuXG5AZnVuY3Rpb24gZ2V0LXNpZGUoJHZhbCwgJHNpZGUpIHtcbiAgJGxlbmd0aDogbGVuZ3RoKCR2YWwpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDEge1xuICAgIEByZXR1cm4gJHZhbDtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAyIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDMge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gNCB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDMpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDQpLFxuICAgICksICRzaWRlKTtcbiAgfVxufVxuXG4vLy8gR2l2ZW4gYm9yZGVyICR2YWwsIGZpbmQgYSBzcGVjaWZpYyBlbGVtZW50IG9mIHRoZSBib3JkZXIsIHdoaWNoIGlzICRlbGVtLiBUaGUgcG9zc2libGUgdmFsdWVzIGZvciAkZWxlbSBhcmUgd2lkdGgsIHN0eWxlLCBhbmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWwgLSBCb3JkZXIgdmFsdWUgdG8gZmluZCBhIHZhbHVlIGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gLSBCb3JkZXIgY29tcG9uZW50IHRvIGV4dHJhY3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IElmIHRoZSB2YWx1ZSBleGlzdHMsIHJldHVybnMgdGhlIHZhbHVlLiBJZiB0aGUgdmFsdWUgaXMgbm90IGluIHRoZSBib3JkZXIgZGVmaW5pdGlvbiwgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGEgMHB4IHdpZHRoLCBzb2xpZCBzdHlsZSwgb3IgYmxhY2sgYm9yZGVyLlxuQGZ1bmN0aW9uIGdldC1ib3JkZXItdmFsdWUoJHZhbCwgJGVsZW0pIHtcbiAgLy8gRmluZCB0aGUgd2lkdGgsIHN0eWxlLCBvciBjb2xvciBhbmQgcmV0dXJuIGl0XG4gIEBlYWNoICR2IGluICR2YWwge1xuICAgICR0eXBlOiB0eXBlLW9mKCR2KTtcbiAgICBAaWYgJGVsZW0gPT0gd2lkdGggYW5kICR0eXBlID09ICdudW1iZXInIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICAgIEBpZiAkZWxlbSA9PSBzdHlsZSBhbmQgJHR5cGUgPT0gJ3N0cmluZycge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gICAgQGlmICRlbGVtID09IGNvbG9yIGFuZCAkdHlwZSA9PSAnY29sb3InIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmYXVsdHNcbiAgJGRlZmF1bHRzOiAoXG4gICAgd2lkdGg6IDAsXG4gICAgc3R5bGU6IHNvbGlkLFxuICAgIGNvbG9yOiAjMDAwLFxuICApO1xuXG4gIEByZXR1cm4gbWFwLWdldCgkZGVmYXVsdHMsICRlbGVtKTtcbn1cblxuLy8vIEZpbmRzIGEgdmFsdWUgaW4gYSBuZXN0ZWQgbWFwLlxuLy8vIEBsaW5rIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9kZWVwLWdldHNldC1tYXBzLyBEZWVwIEdldC9TZXQgaW4gTWFwc1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXlzLi4uIC0gS2V5cyB0byB1c2Ugd2hlbiBsb29raW5nIGZvciBhIHZhbHVlLlxuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gbWFwLWRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG4gIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gIH1cbiAgQHJldHVybiAkbWFwO1xufVxuXG4vLy8gQ2FzdHMgYSBtYXAgaW50byBhIGxpc3QuXG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNC8wNC8yOC9jYXN0aW5nLW1hcC1pbnRvLWxpc3QvXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBwdWxsIGEgdmFsdWUgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBEZXBlbmRpbmcgb24gdGhlIGZsYWcsIHJldHVybnMgZWl0aGVyICRrZXlzIG9yICR2YWx1ZXMgb3IgYm90aC5cbkBmdW5jdGlvbiBtYXAtdG8tbGlzdCgkbWFwLCAka2VlcDogJ2JvdGgnKSB7XG4gICRrZWVwOiBpZihpbmRleCgna2V5cycgJ3ZhbHVlcycsICRrZWVwKSwgJGtlZXAsICdib3RoJyk7XG5cbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgICRrZXlzOiAoKTtcbiAgICAkdmFsdWVzOiAoKTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XG4gICAgICAka2V5czogYXBwZW5kKCRrZXlzLCAka2V5KTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdmFsKTtcbiAgICB9XG5cbiAgICBAaWYgJGtlZXAgPT0gJ2tleXMnIHtcbiAgICAgIEByZXR1cm4gJGtleXM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRrZWVwID09ICd2YWx1ZXMnIHtcbiAgICAgIEByZXR1cm4gJHZhbHVlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiB6aXAoJGtleXMsICR2YWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYodHlwZS1vZigkbWFwKSAhPSAnbGlzdCcsICgkdmFsdWUsKSwgJG1hcCk7XG5cbn1cblxuLy8vIFNhZmVseSByZXR1cm4gYSB2YWx1ZSBmcm9tIGEgbWFwLlxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcmV0cmlldmUgYSB2YWx1ZSBmcm9tLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gTmFtZSBvZiB0aGUgbWFwIGtleS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBGb3VuZCB2YWx1ZS5cbkBmdW5jdGlvbiBtYXAtc2FmZS1nZXQoJG1hcCwgJGtleSkge1xuICBAaWYgKHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcgb3IgKHR5cGUtb2YoJG1hcCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJG1hcCkgPT0gMCkpIHtcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnS2V5OiBgI3ska2V5fWAgaXMgbm90IGF2YWlsYWJsZSBpbiBgI3skbWFwfWAnO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdgI3skbWFwfWAgaXMgbm90IGEgdmFsaWQgbWFwJztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gb2YgJGRpclxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gVXNlZCBkaXJlY3Rpb24gYmV0d2VlbiBcInRvcFwiLCBcInJpZ2h0XCIsIFwiYm90dG9tXCIgYW5kIFwibGVmdFwiLlxuLy8vIEByZXR1cm4ge0tleXdvcmR9IE9wcG9zaXRlIGRpcmVjdGlvbiBvZiAkZGlyXG5AZnVuY3Rpb24gZGlyZWN0aW9uLW9wcG9zaXRlKFxuICAkZGlyXG4pIHtcbiAgJGRpcnM6ICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQpO1xuICAkcGxhY2U6IGluZGV4KCRkaXJzLCAkZGlyKTtcblxuICBAaWYgJHBsYWNlID09IG51bGwge1xuICAgIEBlcnJvciAnZGlyZWN0aW9uLW9wcG9zaXRlOiBJbnZhbGlkICRkaXIgcGFyYW1ldGVyLCBleHBlY3RlZCBhIHZhbHVlIGZyb20gXCIjeyRkaXJzfVwiLCBmb3VuZCBcIiN7JGRpcn1cIi4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgb3Bwb3NpdGUgcGxhY2UgaW4gYSBjaXJjbGUsIHdpdGggYSBzdGFydGluZyBpbmRleCBvZiAxXG4gICRsZW5ndGg6IGxlbmd0aCgkZGlycyk7XG4gICRkZW1pOiAkbGVuZ3RoIC8gMjtcbiAgJG9wcG9zaXRlLXBsYWNlOiAoKCRwbGFjZSArICRkZW1pIC0gMSkgJSAkbGVuZ3RoKSArIDE7XG5cbiAgQHJldHVybiBudGgoJGRpcnMsICRvcHBvc2l0ZS1wbGFjZSk7XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEdlbmVyYXRlcyBhIHNlbGVjdG9yIHdpdGggZXZlcnkgdGV4dCBpbnB1dCB0eXBlLiBZb3UgY2FuIGFsc28gZmlsdGVyIHRoZSBsaXN0IHRvIG9ubHkgb3V0cHV0IGEgc3Vic2V0IG9mIHRob3NlIHNlbGVjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxLZXl3b3JkfSAkdHlwZXMgWygpXSAtIEEgbGlzdCBvZiB0ZXh0IGlucHV0IHR5cGVzIHRvIHVzZS4gTGVhdmUgYmxhbmsgdG8gdXNlIGFsbCBvZiB0aGVtLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1vZGlmaWVyIFsnJ10gLSBBIG1vZGlmaWVyIHRvIGJlIGFwcGxpZWQgdG8gZWFjaCB0ZXh0IGlucHV0IHR5cGUgKGUuZy4gYSBjbGFzcyBvciBhIHBzZXVkby1jbGFzcykuIExlYXZlIGJsYW5rIHRvIGlnbm9yZS5cbkBmdW5jdGlvbiB0ZXh0LWlucHV0cygkdHlwZXM6ICgpLCAkbW9kaWZpZXI6ICcnKSB7XG4gICRyZXR1cm46ICgpO1xuXG4gICRhbGwtdHlwZXM6XG4gICAgdGV4dFxuICAgIHBhc3N3b3JkXG4gICAgZGF0ZVxuICAgIGRhdGV0aW1lXG4gICAgZGF0ZXRpbWUtbG9jYWxcbiAgICBtb250aFxuICAgIHdlZWtcbiAgICBlbWFpbFxuICAgIG51bWJlclxuICAgIHNlYXJjaFxuICAgIHRlbFxuICAgIHRpbWVcbiAgICB1cmxcbiAgICBjb2xvcjtcblxuICBAaWYgbm90IGhhcy12YWx1ZSgkdHlwZXMpIHtcbiAgICAkdHlwZXM6ICRhbGwtdHlwZXM7XG4gIH1cblxuICBAZWFjaCAkdHlwZSBpbiAkdHlwZXMge1xuICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCdbdHlwZT1cXCcjeyR0eXBlfVxcJ10jeyRtb2RpZmllcn0nKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAuMDAxMjU7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiQtemYtZm9udC1zdGFjazogKFxuICAnZ2VvcmdpYSc6IChHZW9yZ2lhLCBcIlVSVyBCb29rbWFuIExcIiwgc2VyaWYpLFxuICAnaGVsdmV0aWNhJzogKEhlbHZldGljYSwgQXJpYWwsIFwiTmltYnVzIFNhbnMgTFwiLCBzYW5zLXNlcmlmKSxcbiAgJ2x1Y2lkYS1ncmFuZGUnOiAoXCJMdWNpZGEgR3JhbmRlXCIsIFwiTHVjaWRhIFNhbnMgVW5pY29kZVwiLCBcIkJpdHN0cmVhbSBWZXJhIFNhbnNcIiwgc2Fucy1zZXJpZiksXG4gICdtb25vc3BhY2UnOiAoXCJDb3VyaWVyIE5ld1wiLCBDb3VyaWVyLCBcIk5pbWJ1cyBTYW5zIExcIiwgbW9ub3NwYWNlKSxcbiAgJ3N5c3RlbSc6ICgtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYpLFxuICAndmVyZGFuYSc6IChWZXJkYW5hLCBHZW5ldmEsIFwiRGVqYVZ1IFNhbnNcIiwgc2Fucy1zZXJpZiksXG4pO1xuXG4vLy8gUmV0dXJuIGEgZm9udCBzdGFjayBsaXN0IGZyb20gYSBtYXAuIEVxdWl2YWxlbnQgdG8gYG1hcC1zYWZlLWdldCgkbmFtZSwgJC16Zi1mb250LXN0YWNrKWAuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0YWNrIC0gTmFtZSBvZiB0aGUgZm9udCBzdGFjay5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCBbJC16Zi1mb250LXN0YWNrXSAtIE1hcCBvZiBmb250IHN0YWNrcyB0byByZXRyaWV2ZSBhIGxpc3QgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBGb3VuZCBmb250IHN0YWNrLlxuQGZ1bmN0aW9uIGZvbnQtc3RhY2soJHN0YWNrLCAkbWFwOiAkLXpmLWZvbnQtc3RhY2spIHtcbiAgQHJldHVybiBtYXAtc2FmZS1nZXQoJG1hcCwgJHN0YWNrKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuQGltcG9ydCAndW5pdCc7XG5AaW1wb3J0ICd2YWx1ZSc7XG5AaW1wb3J0ICdkaXJlY3Rpb24nO1xuQGltcG9ydCAnY29sb3InO1xuQGltcG9ydCAnc2VsZWN0b3InO1xuQGltcG9ydCAnZmxleCc7XG5AaW1wb3J0ICdicmVha3BvaW50JztcbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5JztcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0J3MgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVyIHRoYW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgbm90IGZhbHNleSwgaW4gQ1NTIHRlcm1zLiBGYWxzZXkgdmFsdWVzIGFyZSBgbnVsbGAsIGBub25lYCwgYDBgIHdpdGggYW55IHVuaXQsIG9yIGFuIGVtcHR5IGxpc3QuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkdmFsIC0gVmFsdWUgdG8gY2hlY2suXG4vLy9cbi8vLyBAcmV0dXJucyB7Qm9vbGVhbn0gYHRydWVgIGlmIGAkdmFsYCBpcyBub3QgZmFsc2V5LlxuQGZ1bmN0aW9uIGhhcy12YWx1ZSgkdmFsKSB7XG4gIEBpZiAkdmFsID09IG51bGwgb3IgJHZhbCA9PSBub25lIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEBpZiB0eXBlLW9mKCR2YWwpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCR2YWwpID09IDAge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQGlmIHR5cGUtb2YoJHZhbCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJHZhbCkgPT0gMCB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLyBEZXRlcm1pbmUgYSB0b3AvcmlnaHQvYm90dG9tL3JpZ2h0IHZhbHVlIG9uIGEgcGFkZGluZywgbWFyZ2luLCBldGMuIHByb3BlcnR5LCBubyBtYXR0ZXIgaG93IG1hbnkgdmFsdWVzIHdlcmUgcGFzc2VkIGluLiBVc2UgdGhpcyBmdW5jdGlvbiBpZiB5b3UgbmVlZCB0byBrbm93IHRoZSBzcGVjaWZpYyBzaWRlIG9mIGEgdmFsdWUsIGJ1dCBkb24ndCBrbm93IGlmIHRoZSB2YWx1ZSBpcyB1c2luZyBhIHNob3J0aGFuZCBmb3JtYXQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R8TnVtYmVyfSAkdmFsIC0gVmFsdWUgdG8gYW5hbHl6ZS4gU2hvdWxkIGJlIGEgc2hvcnRoYW5kIHNpemluZyBwcm9wZXJ0eSwgZS5nLiBcIjFlbSAyZW0gMWVtXCJcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0byByZXR1cm4uIFNob3VsZCBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgc2luZ2xlIHZhbHVlIGJhc2VkIG9uIGAkdmFsYCBhbmQgYCRzaWRlYC5cbkBmdW5jdGlvbiBnZXQtc2lkZSgkdmFsLCAkc2lkZSkge1xuICAkbGVuZ3RoOiBsZW5ndGgoJHZhbCk7XG5cbiAgQGlmICRsZW5ndGggPT0gMSB7XG4gICAgQHJldHVybiAkdmFsO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDIge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDEpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDIpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gMyB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDIpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDMpLFxuICAgICksICRzaWRlKTtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSA0IHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICByaWdodDogbnRoKCR2YWwsIDIpLFxuICAgICAgYm90dG9tOiBudGgoJHZhbCwgMyksXG4gICAgICBsZWZ0OiBudGgoJHZhbCwgNCksXG4gICAgKSwgJHNpZGUpO1xuICB9XG59XG5cbi8vLyBHaXZlbiBib3JkZXIgJHZhbCwgZmluZCBhIHNwZWNpZmljIGVsZW1lbnQgb2YgdGhlIGJvcmRlciwgd2hpY2ggaXMgJGVsZW0uIFRoZSBwb3NzaWJsZSB2YWx1ZXMgZm9yICRlbGVtIGFyZSB3aWR0aCwgc3R5bGUsIGFuZCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbCAtIEJvcmRlciB2YWx1ZSB0byBmaW5kIGEgdmFsdWUgaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSAtIEJvcmRlciBjb21wb25lbnQgdG8gZXh0cmFjdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gSWYgdGhlIHZhbHVlIGV4aXN0cywgcmV0dXJucyB0aGUgdmFsdWUuIElmIHRoZSB2YWx1ZSBpcyBub3QgaW4gdGhlIGJvcmRlciBkZWZpbml0aW9uLCB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gYSAwcHggd2lkdGgsIHNvbGlkIHN0eWxlLCBvciBibGFjayBib3JkZXIuXG5AZnVuY3Rpb24gZ2V0LWJvcmRlci12YWx1ZSgkdmFsLCAkZWxlbSkge1xuICAvLyBGaW5kIHRoZSB3aWR0aCwgc3R5bGUsIG9yIGNvbG9yIGFuZCByZXR1cm4gaXRcbiAgQGVhY2ggJHYgaW4gJHZhbCB7XG4gICAgJHR5cGU6IHR5cGUtb2YoJHYpO1xuICAgIEBpZiAkZWxlbSA9PSB3aWR0aCBhbmQgJHR5cGUgPT0gJ251bWJlcicge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gICAgQGlmICRlbGVtID09IHN0eWxlIGFuZCAkdHlwZSA9PSAnc3RyaW5nJyB7XG4gICAgICBAcmV0dXJuICR2O1xuICAgIH1cbiAgICBAaWYgJGVsZW0gPT0gY29sb3IgYW5kICR0eXBlID09ICdjb2xvcicge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZhdWx0c1xuICAkZGVmYXVsdHM6IChcbiAgICB3aWR0aDogMCxcbiAgICBzdHlsZTogc29saWQsXG4gICAgY29sb3I6ICMwMDAsXG4gICk7XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRkZWZhdWx0cywgJGVsZW0pO1xufVxuXG4vLy8gRmluZHMgYSB2YWx1ZSBpbiBhIG5lc3RlZCBtYXAuXG4vLy8gQGxpbmsgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9zbmlwcGV0cy9zYXNzL2RlZXAtZ2V0c2V0LW1hcHMvIERlZXAgR2V0L1NldCBpbiBNYXBzXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBwdWxsIGEgdmFsdWUgZnJvbS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleXMuLi4gLSBLZXlzIHRvIHVzZSB3aGVuIGxvb2tpbmcgZm9yIGEgdmFsdWUuXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcbiAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgJG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgfVxuICBAcmV0dXJuICRtYXA7XG59XG5cbi8vLyBDYXN0cyBhIG1hcCBpbnRvIGEgbGlzdC5cbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE0LzA0LzI4L2Nhc3RpbmctbWFwLWludG8tbGlzdC9cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHB1bGwgYSB2YWx1ZSBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IERlcGVuZGluZyBvbiB0aGUgZmxhZywgcmV0dXJucyBlaXRoZXIgJGtleXMgb3IgJHZhbHVlcyBvciBib3RoLlxuQGZ1bmN0aW9uIG1hcC10by1saXN0KCRtYXAsICRrZWVwOiAnYm90aCcpIHtcbiAgJGtlZXA6IGlmKGluZGV4KCdrZXlzJyAndmFsdWVzJywgJGtlZXApLCAka2VlcCwgJ2JvdGgnKTtcblxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgJGtleXM6ICgpO1xuICAgICR2YWx1ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkbWFwIHtcbiAgICAgICRrZXlzOiBhcHBlbmQoJGtleXMsICRrZXkpO1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR2YWwpO1xuICAgIH1cblxuICAgIEBpZiAka2VlcCA9PSAna2V5cycge1xuICAgICAgQHJldHVybiAka2V5cztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGtlZXAgPT0gJ3ZhbHVlcycge1xuICAgICAgQHJldHVybiAkdmFsdWVzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAcmV0dXJuIHppcCgka2V5cywgJHZhbHVlcyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZih0eXBlLW9mKCRtYXApICE9ICdsaXN0JywgKCR2YWx1ZSwpLCAkbWFwKTtcblxufVxuXG4vLy8gU2FmZWx5IHJldHVybiBhIHZhbHVlIGZyb20gYSBtYXAuXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byByZXRyaWV2ZSBhIHZhbHVlIGZyb20uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBOYW1lIG9mIHRoZSBtYXAga2V5LlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEZvdW5kIHZhbHVlLlxuQGZ1bmN0aW9uIG1hcC1zYWZlLWdldCgkbWFwLCAka2V5KSB7XG4gIEBpZiAodHlwZS1vZigkbWFwKSA9PSAnbWFwJyBvciAodHlwZS1vZigkbWFwKSA9PSAnbGlzdCcgYW5kIGxlbmd0aCgkbWFwKSA9PSAwKSkge1xuICAgIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yICdLZXk6IGAjeyRrZXl9YCBpcyBub3QgYXZhaWxhYmxlIGluIGAjeyRtYXB9YCc7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2AjeyRtYXB9YCBpcyBub3QgYSB2YWxpZCBtYXAnO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIG9wcG9zaXRlIGRpcmVjdGlvbiBvZiAkZGlyXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBVc2VkIGRpcmVjdGlvbiBiZXR3ZWVuIFwidG9wXCIsIFwicmlnaHRcIiwgXCJib3R0b21cIiBhbmQgXCJsZWZ0XCIuXG4vLy8gQHJldHVybiB7S2V5d29yZH0gT3Bwb3NpdGUgZGlyZWN0aW9uIG9mICRkaXJcbkBmdW5jdGlvbiBkaXJlY3Rpb24tb3Bwb3NpdGUoXG4gICRkaXJcbikge1xuICAkZGlyczogKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCk7XG4gICRwbGFjZTogaW5kZXgoJGRpcnMsICRkaXIpO1xuXG4gIEBpZiAkcGxhY2UgPT0gbnVsbCB7XG4gICAgQGVycm9yICdkaXJlY3Rpb24tb3Bwb3NpdGU6IEludmFsaWQgJGRpciBwYXJhbWV0ZXIsIGV4cGVjdGVkIGEgdmFsdWUgZnJvbSBcIiN7JGRpcnN9XCIsIGZvdW5kIFwiI3skZGlyfVwiLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBvcHBvc2l0ZSBwbGFjZSBpbiBhIGNpcmNsZSwgd2l0aCBhIHN0YXJ0aW5nIGluZGV4IG9mIDFcbiAgJGxlbmd0aDogbGVuZ3RoKCRkaXJzKTtcbiAgJGRlbWk6ICRsZW5ndGggLyAyO1xuICAkb3Bwb3NpdGUtcGxhY2U6ICgoJHBsYWNlICsgJGRlbWkgLSAxKSAlICRsZW5ndGgpICsgMTtcblxuICBAcmV0dXJuIG50aCgkZGlycywgJG9wcG9zaXRlLXBsYWNlKTtcbn1cblxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kY29udHJhc3Qtd2FybmluZ3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogJHJnYiAvIDI1NTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCAkcmdiIC8gMTIuOTIsIHBvdygoJHJnYiArIDAuMDU1KSAvIDEuMDU1LCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiAkbHVtaW5hbmNlMSAvICRsdW1pbmFuY2UyO1xuXG4gIEBpZiAkbHVtaW5hbmNlMiA+ICRsdW1pbmFuY2UxIHtcbiAgICAkcmF0aW86IDEgLyAkcmF0aW87XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAvIDEwO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCBtYXAgaW50byB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRwcmltYXJ5LWNvbG9yOiAjMTc3OWJhICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiAjNzY3Njc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHdhcm5pbmctY29sb3I6ICNmZmFlMDAgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRhbGVydC1jb2xvcjogI2NjNGIzNyAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gR2VuZXJhdGVzIGEgc2VsZWN0b3Igd2l0aCBldmVyeSB0ZXh0IGlucHV0IHR5cGUuIFlvdSBjYW4gYWxzbyBmaWx0ZXIgdGhlIGxpc3QgdG8gb25seSBvdXRwdXQgYSBzdWJzZXQgb2YgdGhvc2Ugc2VsZWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fEtleXdvcmR9ICR0eXBlcyBbKCldIC0gQSBsaXN0IG9mIHRleHQgaW5wdXQgdHlwZXMgdG8gdXNlLiBMZWF2ZSBibGFuayB0byB1c2UgYWxsIG9mIHRoZW0uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbW9kaWZpZXIgWycnXSAtIEEgbW9kaWZpZXIgdG8gYmUgYXBwbGllZCB0byBlYWNoIHRleHQgaW5wdXQgdHlwZSAoZS5nLiBhIGNsYXNzIG9yIGEgcHNldWRvLWNsYXNzKS4gTGVhdmUgYmxhbmsgdG8gaWdub3JlLlxuQGZ1bmN0aW9uIHRleHQtaW5wdXRzKCR0eXBlczogKCksICRtb2RpZmllcjogJycpIHtcbiAgJHJldHVybjogKCk7XG5cbiAgJGFsbC10eXBlczpcbiAgICB0ZXh0XG4gICAgcGFzc3dvcmRcbiAgICBkYXRlXG4gICAgZGF0ZXRpbWVcbiAgICBkYXRldGltZS1sb2NhbFxuICAgIG1vbnRoXG4gICAgd2Vla1xuICAgIGVtYWlsXG4gICAgbnVtYmVyXG4gICAgc2VhcmNoXG4gICAgdGVsXG4gICAgdGltZVxuICAgIHVybFxuICAgIGNvbG9yO1xuXG4gIEBpZiBub3QgaGFzLXZhbHVlKCR0eXBlcykge1xuICAgICR0eXBlczogJGFsbC10eXBlcztcbiAgfVxuXG4gIEBlYWNoICR0eXBlIGluICR0eXBlcyB7XG4gICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJ1t0eXBlPVxcJyN7JHR5cGV9XFwnXSN7JG1vZGlmaWVyfScpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXR1cm47XG59XG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pe1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtIC4wMDEyNTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgaXRlcmF0ZSBvdmVyIGJyZWFrcG9pbnRzIHdpdGhvdXQgZG9pbmcgdGhlIG1lZGlhIHF1ZXJ5IGl0c2VsZi4gVXNlZnVsIGZvciBtb3JlIGNvbXBsZXggbWVkaWEgcXVlcnkgZ2VuZXJhdGlvbiBhcyBpbiB0aGUgbWFyZ2luIGdyaWQuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUsICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpZiAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJC16Zi1mb250LXN0YWNrOiAoXG4gICdnZW9yZ2lhJzogKEdlb3JnaWEsIFwiVVJXIEJvb2ttYW4gTFwiLCBzZXJpZiksXG4gICdoZWx2ZXRpY2EnOiAoSGVsdmV0aWNhLCBBcmlhbCwgXCJOaW1idXMgU2FucyBMXCIsIHNhbnMtc2VyaWYpLFxuICAnbHVjaWRhLWdyYW5kZSc6IChcIkx1Y2lkYSBHcmFuZGVcIiwgXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsIFwiQml0c3RyZWFtIFZlcmEgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcbiAgJ21vbm9zcGFjZSc6IChcIkNvdXJpZXIgTmV3XCIsIENvdXJpZXIsIFwiTmltYnVzIFNhbnMgTFwiLCBtb25vc3BhY2UpLFxuICAnc3lzdGVtJzogKC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiksXG4gICd2ZXJkYW5hJzogKFZlcmRhbmEsIEdlbmV2YSwgXCJEZWphVnUgU2Fuc1wiLCBzYW5zLXNlcmlmKSxcbik7XG5cbi8vLyBSZXR1cm4gYSBmb250IHN0YWNrIGxpc3QgZnJvbSBhIG1hcC4gRXF1aXZhbGVudCB0byBgbWFwLXNhZmUtZ2V0KCRuYW1lLCAkLXpmLWZvbnQtc3RhY2spYC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RhY2sgLSBOYW1lIG9mIHRoZSBmb250IHN0YWNrLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIFskLXpmLWZvbnQtc3RhY2tdIC0gTWFwIG9mIGZvbnQgc3RhY2tzIHRvIHJldHJpZXZlIGEgbGlzdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEZvdW5kIGZvbnQgc3RhY2suXG5AZnVuY3Rpb24gZm9udC1zdGFjaygkc3RhY2ssICRtYXA6ICQtemYtZm9udC1zdGFjaykge1xuICBAcmV0dXJuIG1hcC1zYWZlLWdldCgkbWFwLCAkc3RhY2spO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEdsb2JhbCBzcGFjaW5nIGZvciBmb3JtIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG5AaW1wb3J0ICd0ZXh0JztcbkBpbXBvcnQgJ2NoZWNrYm94JztcbkBpbXBvcnQgJ2xhYmVsJztcbkBpbXBvcnQgJ2hlbHAtdGV4dCc7XG5AaW1wb3J0ICdpbnB1dC1ncm91cCc7XG5AaW1wb3J0ICdmaWVsZHNldCc7XG5AaW1wb3J0ICdzZWxlY3QnO1xuQGltcG9ydCAncmFuZ2UnO1xuQGltcG9ydCAncHJvZ3Jlc3MnO1xuQGltcG9ydCAnbWV0ZXInO1xuQGltcG9ydCAnZXJyb3InO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS10ZXh0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tZXJyb3I7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBoZWlnaHQgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNsaWRlcidzIHRyYWNrLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgYWN0aXZlIGZpbGwgY29sb3Igb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgaGFuZGxlIGZvciB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSBhbW91bnQgb2YgYSBkaXNhYmxlZCBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1yYW5nZS1pbnB1dCB7XG4gIGlucHV0W3R5cGU9J3JhbmdlJ10geyAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJG1hcmdpbjogKCRzbGlkZXItaGFuZGxlLWhlaWdodCAtICRzbGlkZXItaGVpZ2h0KSAvIDI7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbjtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAvLyBDaHJvbWUvU2FmYXJpXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IC0kbWFyZ2luO1xuXG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZpcmVmb3hcbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IC0kbWFyZ2luO1xuXG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRzbGlkZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEludGVybmV0IEV4cGxvcmVyXG4gICAgJjo6LW1zLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci10b3A6ICRtYXJnaW4gc29saWQgJGJvZHktYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1ib3R0b206ICRtYXJnaW4gc29saWQgJGJvZHktYmFja2dyb3VuZDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcblxuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGF0LXJvb3Qge1xuICAgICAgb3V0cHV0IHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvZ3Jlc3MtYmFyXG4vLy8vXG5cbi8vLyBIZWlnaHQgb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyJ3MgbWV0ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWVsZW1lbnQge1xuICBwcm9ncmVzcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICB9XG5cbiAgICAvLyBGb3IgRmlyZWZveFxuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciBzZXRzIHRoZSBmaWxsIHdpdGggY29sb3JcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9yIElFIGFuZCBFZGdlXG4gICAgJjo6LW1zLWZpbGwgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1ldGVyXG4vLy8vXG5cbi8vLyBIZWlnaHQgb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRtZXRlci1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1ldGVyIGZpbGwgZm9yIGFuIG9wdGltYWwgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhbiBhdmVyYWdlIHZhbHVlIGluIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhIHN1Ym9wdGltYWwgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1ldGVyLWVsZW1lbnQge1xuICBtZXRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkbWV0ZXItaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAvLyBEaXNhYmxlIGAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmVgIGZyb20gZ2V0dGluZyBwcmVmaXhlZCxcbiAgICAvLyBXZSBoYXZlIGRpc2FibGVkIGF1dG9wcmVmaXhlciBmaXJzdCBhbmQgYXJlIGp1c3Qgb25seSB1c2luZyBcbiAgICAvLyBgLW1vei1hcHBlYXJhbmNlOiBub25lYCBhcyBhIHByZWZpeCBhbmQgbmVnbGVjdGluZyB0aGUgd2Via2l0LlxuICAgIFxuICAgIC8qISBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgIH1cblxuICAgIC8vIEZvciBGaXJlZm94XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICRtZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgLy8gQ2hyb21lL1NhZmFyaS9FZGdlXG4gICAgJjo6LXdlYmtpdC1tZXRlci1iYXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItaW5uZXItZWxlbWVudCB7XG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLW9wdGltdW0tdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtZ29vZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1zdWJvcHRpbXVtLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLW1lZGl1bTtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1ldmVuLWxlc3MtZ29vZC12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1iYWQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tb3otbWV0ZXItYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItb3B0aW11bTo6LW1vei1tZXRlci1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtZ29vZDtcbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLW1lZGl1bTtcbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItc3ViLXN1Yi1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1iYWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuLy8vL1xuXG4vLyBCYXNlIHR5cG9ncmFwaHkgc3R5bGVzICh0YWdzIG9ubHkpXG5AaW1wb3J0ICdiYXNlJztcblxuLy8gVHlwb2dyYXBoeSBoZWxwZXIgY2xhc3NlcyAoY2xhc3NlcyBvbmx5KVxuQGltcG9ydCAnaGVscGVycyc7XG5cbi8vIFRleHQgYWxpZ25tZW50IGNsYXNzZXNcbkBpbXBvcnQgJ2FsaWdubWVudCc7XG5cbi8vIFByaW50IHN0eWxlc1xuQGltcG9ydCAncHJpbnQnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5IHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByaW50LXN0eWxlcztcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG5cbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIG9mIGEgcm93LlxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gVGhlIGRlZmF1bHQgY29sdW1uIGNvdW50IG9mIGEgZ3JpZC4gQ2hhbmdpbmcgdGhpcyB2YWx1ZSBhZmZlY3RzIHRoZSBsb2dpYyBvZiB0aGUgZ3JpZCBtaXhpbnMsIGFuZCB0aGUgbnVtYmVyIG9mIENTUyBjbGFzc2VzIG91dHB1dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLWNvbHVtbi1jb3VudDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gY29sdW1ucyBhdCBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLiBUbyB1c2UganVzdCBvbmUgc2l6ZSwgc2V0IHRoZSB2YXJpYWJsZSB0byBhIG51bWJlciBpbnN0ZWFkIG9mIGEgbWFwLlxuLy8vIEB0eXBlIE1hcCB8IExlbmd0aFxuLy8vIEBzaW5jZSA2LjEuMFxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IHdpbGwgYWxpZ24gdG8gdGhlIG9wcG9zaXRlIGVkZ2Ugb2YgdGhlIHJvdy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIHVzZWQgZm9yIGFuIGFsaWFzIG9mIGNvbHVtbiAod2l0aCBAZXh0ZW5kKS4gSWYgYGZhbHNlYCwgbm8gYWxpYXMgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnICFkZWZhdWx0O1xuXG4vLy8gVGhlIGhpZ2hlc3QgbnVtYmVyIG9mIGAueC11cGAgY2xhc3NlcyBhdmFpbGFibGUgd2hlbiB1c2luZyB0aGUgYmxvY2sgZ3JpZCBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmxvY2stZ3JpZC1tYXg6IDggIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhbHVlIHRvIHN0b3JlIHRoZSBlbmQgY29sdW1uIGZsb2F0IGRpcmVjdGlvblxuJC16Zi1lbmQtZmxvYXQ6IGlmKCRncmlkLWNvbHVtbi1hbGlnbi1lZGdlLCAkZ2xvYmFsLXJpZ2h0LCAkZ2xvYmFsLWxlZnQpO1xuXG5AaW1wb3J0ICdyb3cnO1xuQGltcG9ydCAnY29sdW1uJztcbkBpbXBvcnQgJ3NpemUnO1xuQGltcG9ydCAncG9zaXRpb24nO1xuQGltcG9ydCAnZ3V0dGVyJztcbkBpbXBvcnQgJ2NsYXNzZXMnO1xuQGltcG9ydCAnbGF5b3V0JztcblxuQGltcG9ydCAnZmxleC1ncmlkJztcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIGxpc3Qgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiICh3aXRob3V0IHF1b3Rlcykgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gUG9zaXRpb25cbiAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGF1dG8pO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVycyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gSXQgY2FuIGJlOlxuLy8vICAgKiBBIG51bWJlcjogVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnRcbi8vLyAgICAgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlXG4vLy8gICAgIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbi8vLyAgICogYGNlbnRlcmA6IENvbHVtbiB3aWxsIGJlIGNlbnRlcmVkXG4vLy8gICAqIGBhdXRvYDogQ29sdW1uIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBsZWZ0IChvciB0byB0aGUgcmlnaHQgZm9yIHRoZSBsYXN0IGNvbHVtbikuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIC8vIEF1dG8gcG9zaXRpb25pbmdcbiAgQGlmICRwb3NpdGlvbiA9PSBhdXRvIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQdXNoL3B1bGxcbiAgQGVsc2UgaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG5cbiAgLy8gQ2VudGVyIHBvc2l0aW9uaW5nXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIFwiY2VudGVyXCIgb3IgXCJhdXRvXCIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihhdXRvKTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtblxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRndXR0ZXIgW2F1dG9dXG4vLy8gICBTcGFjaW5nIGJldHdlZW4gY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJGd1dHRlcnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIGd1dHRlciByZXNwb25zaXZlLCB1c2luZyB0aGUgJGd1dHRlcnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLWNvbHVtbi1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJGd1dHRlciwgJGd1dHRlcnMpIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkZ3V0dGVyOiAnZ3V0dGVyJyxcbiAgJHB1c2g6ICdwdXNoJyxcbiAgJHB1bGw6ICdwdWxsJyxcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcbiAgJHVuY2VudGVyOiAndW5jZW50ZXJlZCcsXG4gICRjb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcbiAgJG9mZnNldDogJ29mZnNldCcsXG4gICRlbmQ6ICdlbmQnLFxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCcsXG4gICRibG9jazogJ2Jsb2NrJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLiN7JGV4cGFuZGVkfSkgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRncmlkLWNvbHVtbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgIC8vIFN0YXRpYyAodW5yZXNwb25zaXZlKSByb3cgZ3V0dGVyc1xuICAgICAgLy9cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICYuI3skZ3V0dGVyfS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICB9XG5cbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9LFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC4jeyRjb2x1bW59LSN7JGJsb2NrfSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicgYW5kIGhhcy12YWx1ZSgkZ3JpZC1jb2x1bW4tYWxpYXMpIHtcbiAgICAuI3skZ3JpZC1jb2x1bW4tYWxpYXN9IHtcbiAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBoYXZlIHJvdyB3cmFwcGluZyBiZWhhdmlvciBzZXQgdG8gbm93cmFwXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJHdyYXA6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgJHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYGV4cGFuZGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogZXhwYW5kKSB7XG4gICRmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBleHBhbmQge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycyB3aWR0aC4gU2VlIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyYCBtaXhpbi5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogZXhwYW5kLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSgkY29sdW1ucyk7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBleHBhbmQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHdpZHRoIGZsZXggZ3JpZCBjb2x1bW4uXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBmbGV4LWdyaWQtc2l6ZSgkY29sdW1uczogbnVsbCkge1xuICAkY29sdW1uczogJGNvbHVtbnMgb3IgZXhwYW5kO1xuXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gZXhwYW5kIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAucm93IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCwgJGJhc2U6IGZhbHNlKTtcblxuICAgICAgJi5jb2xsYXBzZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbnNcbiAgICAvLyBGcm9tIGNvbGxhcHNlZCBjaGlsZFxuICAgICYuaXMtY29sbGFwc2UtY2hpbGQsXG4gICAgJi5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLnJvdyAuY29sdW1uLnJvdy5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyAoc2hyaW5rKVxuICAuc2hyaW5rIHtcbiAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC5jb2x1bW4tYmxvY2sge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICBAZXh0ZW5kIC5jb2x1bW47IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gRW5hYmxlcyB0aGUgWFkgZ3JpZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4keHktZ3JpZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIG9mIGEgZ3JpZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUgZ3JpZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLWNvbHVtbnM6IDEyICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBtYXJnaW4gYmV0d2VlbiBjZWxscyBhdCBkaWZmZXJlbnQgc2NyZWVuIHNpemVzIHdoZW4gdXNpbmcgdGhlIG1hcmdpbiBncmlkLiBUbyB1c2UganVzdCBvbmUgc2l6ZSwgc2V0IHRoZSB2YXJpYWJsZSB0byBhIG51bWJlciBpbnN0ZWFkIG9mIGEgbWFwLlxuLy8vIEB0eXBlIE1hcCB8IExlbmd0aFxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2YgcGFkZGluZyBpbiBjZWxscyBhdCBkaWZmZXJlbnQgc2NyZWVuIHNpemVzIHdoZW4gdXNpbmcgdGhlIHBhZGRpbmcgZ3JpZC4gVG8gdXNlIGp1c3Qgb25lIHNpemUsIHNldCB0aGUgdmFyaWFibGUgdG8gYSBudW1iZXIgaW5zdGVhZCBvZiBhIG1hcC5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYW1vdW50IG9mIHBhZGRpbmcgdG8gdXNlIHdoZW4gcGFkZGluZyB0aGUgZ3JpZC1jb250YWluZXIuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzICFkZWZhdWx0O1xuXG4vLy8gVGhlIG1heGltdW0gd2lkdGggdG8gYXBwbHkgdG8gYSBncmlkIGNvbnRhaW5lclxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjZWxscyBpbiBhbiBYWSBibG9jayBncmlkLlxuLy8vIEB0eXBlIE51bWJlclxuJHh5LWJsb2NrLWdyaWQtbWF4OiA4ICFkZWZhdWx0O1xuXG5AaW1wb3J0ICdndXR0ZXJzJztcbkBpbXBvcnQgJ2dyaWQnO1xuQGltcG9ydCAnY2VsbCc7XG5AaW1wb3J0ICdmcmFtZSc7XG5AaW1wb3J0ICdwb3NpdGlvbic7XG5AaW1wb3J0ICdsYXlvdXQnO1xuQGltcG9ydCAnY29sbGFwc2UnO1xuQGltcG9ydCAnY2xhc3Nlcyc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8zYC5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIG4gb2YgbiBhbmQgbnVtYmVyIGNvdW50c1xuICBAaWYgdHlwZS1vZigkc2l6ZSkgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRzaXplKSA9PSAnJScge1xuICAgICAgJHNpemU6ICRzaXplO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkc2l6ZSA8IDEge1xuICAgICAgJHNpemU6IHBlcmNlbnRhZ2UoJHNpemUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZSgkc2l6ZSAvICRncmlkLWNvbHVtbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBvciBcIm4vblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJHNpemUpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkc2l6ZSkgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIgb3IgXCJuL25cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkc2l6ZTogcGVyY2VudGFnZShudGgoJHNpemUsIDEpIC8gbnRoKCRzaXplLCAzKSk7XG4gICAgfVxuICB9XG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgeHktY2VsbC1zaXplKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIiAvIFwibi9uXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHNpemU7XG59XG5cbi8vLyBTZXRzIGJhc2UgZmxleCBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBgZ3Jvd2AuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBiYXNlIHN0eWxlLCBhbGwgb3RoZXJzIGluaGVyaXQgZnJvbSBpdFxuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDBweDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHdpZHRoLCBoZWlnaHQpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8gU2V0cyBvdXIgY2VsbCB3aWR0aHMgb3IgaGVpZ2h0cyBkZXBlbmRpbmcgb24gZ3V0dGVyIHR5cGUuXG5AbWl4aW4gLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJG1hcmdpbi1ndXR0ZXIsICR2ZXJ0aWNhbCkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICAkdmFsOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAxMDAlLCBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICAjeyRkaXJlY3Rpb259OiAkdmFsO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsIDEwMCUsIGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgICR2YWw6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICN7eHktY2VsbC1zaXplKCRzaXplKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJHNpemUpfSAtICN7cmVtLWNhbGMoJG1hcmdpbi1ndXR0ZXIpfSkpO1xuICAgICN7JGRpcmVjdGlvbn06ICR2YWw7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJwLWlzLWZhbGxiYWNrOiBmYWxzZTtcblxuICBAaWYoJGJyZWFrcG9pbnQgPT0gbnVsbCkge1xuICAgIC8vIElmIGAkYnAtc2l6ZWAgaXMgYXZhaWxhYmxlIHRoZW4gdXNlIHRoaXMsIG90aGVyd2lzZSByZXZlcnQgdG8gdGhlIHNtYWxsZXN0IGJwLlxuICAgIEBpZih2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi1zaXplO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICAgICAkYnAtaXMtZmFsbGJhY2s6IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgZm9yIHRoZSBnaXZlbiBicmVha3BvaW50L3ZhbHVlLlxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIGZhbGxiYWNrLCB1c2UgYSBmYWxsYmFjayBndXR0ZXIgYXMgd2VsbFxuICBAaWYgKCRicC1pcy1mYWxsYmFjayA9PSB0cnVlIGFuZCAkZ3V0dGVyID09IG51bGwpIHtcbiAgICAkZ3V0dGVyOiAwO1xuICB9XG5cbiAgQGlmKCRndXR0ZXIgIT0gbnVsbCkge1xuICAgIC8vIEJhc2UgZmxleCBwcm9wZXJ0aWVzXG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcblxuICAgIEBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGlmICRndXR0ZXItb3V0cHV0IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICd4eS1jZWxsOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIiwgY2VsbCB3YXMgbm90IGdlbmVyYXRlZGAnXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKGRlZmF1bHQpIGZvciAxMDAlIHdpZHRoLCBgYXV0b2AgdG8gdXNlIHVwIGF2YWlsYWJsZSBzcGFjZSBhbmQgYHNocmlua2AgdG8gdXNlIHVwIG9ubHkgcmVxdWlyZWQgc3BhY2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgQGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICRndXR0ZXIsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsIDAsICR2ZXJ0aWNhbCk7XG4gIH1cblxuICAvLyBJZiB3ZSB3YW50IHRvIG91dHB1dCB0aGUgZ3V0dGVyc1xuICBAaWYoJGd1dHRlci1vdXRwdXQpIHtcbiAgICAvLyBUT0RPOiBGaWd1cmUgb3V0IGlmIHdlIG5lZWQgdG8gcGFzcyBicmVha3BvaW50IGluIGhlcmUgdG9vLlxuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0L2JvdHRvbSBieSBgJG5gIGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFNpemUgdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgemYtY2VsbCgpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gTWFwIG9mIGd1dHRlcnMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIFRoZSB0eXBlIG9mIGd1dHRlciB0byB1c2UuIENhbiBiZSBgbWFyZ2luYCBvciBgcGFkZGluZ2Bcbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIFNlZSBgLXpmLWJyZWFrcG9pbnQtdmFsdWUoKWAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkYnJlYWtwb2ludCwgJGd1dHRlcnMpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG4gICAgJGd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG4gICAgJHNpemU6IGlmKCRndXR0ZXItbWFyZ2luID09IDAsICN7eHktY2VsbC1zaXplKCRuKX0sIGNhbGMoI3t4eS1jZWxsLXNpemUoJG4pfSArICN7JGd1dHRlci1tYXJnaW59KSk7XG5cbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogI3skc2l6ZX07XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNlbGwnXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAgb3IgYHBhZGRpbmdgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoJHNpemUsICRndXR0ZXItb3V0cHV0LCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgJGd1dHRlci1vdXRwdXQ6IGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGdyaWQtY29sdW1ucywgZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhzaHJpbmssIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09IHNtYWxsKSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoYXV0bywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkaSwgZmFsc2UsICRicmVha3BvaW50OiAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYygkYnJlYWtwb2ludDogJC16Zi1zaXplLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIGFsbCBwcmlvciBicmVha3BvaW50cy5cbiAgICAgIC8vIEFzIHRoZWlyIGd1dHRlciBpcyBkZWZpbmVkIHdpdGggdGhlaXIgd2lkdGgvaGVpZ2h0LCBldmVuIGJyZWFrcG9pbnQgd2l0aG91dCBhIG5ldyBtYXJnaW4gbXVzdCBiZVxuICAgICAgLy8gZ2VuZXJhdGVkIHRvIG5vdCBoYXZpbmcgdGhlaXIgd2lkdGgvaGVpZ2h0IG92ZXJyaWRlZCBieSByZS1hZGp1c3RlZCBzbWFsbGVyIGJyZWFrcG9pbnRzLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLW91dHB1dDogZmFsc2UsICRndXR0ZXItdHlwZTogcGFkZGluZywgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItb3V0cHV0OiBmYWxzZSwgJGd1dHRlci10eXBlOiBtYXJnaW4sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8sICRicmVha3BvaW50OiAkLXpmLXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSBzbWFsbCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoc2hyaW5rLCBmYWxzZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzIGFuZCBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LWF1dG8ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXN0YXRpYyhhdXRvLCBmYWxzZSwgJGJyZWFrcG9pbnQ6ICQtemYtc2l6ZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gc21hbGwpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc3RhdGljKHNocmluaywgZmFsc2UsICRicmVha3BvaW50OiAkLXpmLXNpemUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zdGF0aWMoJGksIGZhbHNlLCAkdmVydGljYWw6IHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdIHtcbiAgICAmLFxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcblxuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2xlYXIgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGNsZWFyIHtcbiAgICAgICYuY2xlYXIge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuXG4gICAgICAgICAgICAmLCAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICYsXG4gICAgICAgICAgICAgICYuZGlzYWJsZWQsXG4gICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC4gKE9ubHkgbmVlZGVkIHdoZW4gJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTspXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcblxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0KHMpIGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKHNtYWxsKSB9XG4gICAgJiwgJi5tZWRpdW0geyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShtZWRpdW0pIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG5cbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkbGFiZWwtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkbGFiZWwtY29sb3IsICRsYWJlbC1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICR0YWJsZS1pcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlIGlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZS1zdGFjay1icmVha3BvaW50IGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGJhZGdlLWNvbG9yLCAkYmFkZ2UtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkY2FsbG91dC1mb250LWNvbG9yLCAkY2FsbG91dC1mb250LWNvbG9yLWFsdCkpO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FyZFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhcmRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNhcmQgc2hhZG93LlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbi5cbi8vLyBAdHlwZSBudW1iZXJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIGZvbnQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXJnaW4gLSBCb3R0b20gbWFyZ2luIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGJvcmRlciAtIEJvcmRlciBhcm91bmQgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmFkaXVzIC0gYm9yZGVyIHJhZGl1cyBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaGFkb3cgLSBib3ggc2hhZG93IG9mIHRoZSBjYXJkLlxuQG1peGluIGNhcmQtY29udGFpbmVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkY2FyZC1mb250LWNvbG9yLFxuICAkbWFyZ2luOiAkY2FyZC1tYXJnaW4tYm90dG9tLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxuQG1peGluIGNhcmQtc2VjdGlvbihcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xuICB9XG5cbiAgLmNhcmQtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2FyZC1zZWN0aW9uO1xuICB9XG5cbiAgLy8gRm9yIElFIDExIC0gRmxleGJ1Z1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzL2lzc3Vlcy83NVxuICAuY2FyZC1pbWFnZSB7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBwYWdpbmF0aW9uIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rc1xuLy8vIGFuZCBvcHRpb25hbGx5IGN1cnJlbnQgcGFnZSBudW1iZXIuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheSB0aGUgY3VycmVudCBwYWdlIG51bWJlciBvbiBtb2JpbGUgZXZlbiBpZiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYGZhbHNlYC5cbi8vLyBUaGlzIHBhcmFtZXRlciB3aWxsIG9ubHkgb3ZlcnJpZGUgdGhlIHZpc2liaWxpdHkgc2V0dGluZyBvZiB0aGUgY3VycmVudCBpdGVtIGZvciBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtgLFxuLy8vIGl0IHdpbGwgbm90IGFmZmVjdCB0aGUgY3VycmVudCBwYWdlIG51bWJlciB2aXNpYmlsaXR5IHdoZW4gYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGB0cnVlYC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJysnO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxMyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIGJsb2NrKTtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJi5taWRkbGUge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAmLmJvdHRvbSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG4gICAgfVxuXG4gICAgLy8gQnJlYWtwb2ludCBzcGVjaWZpYyB2ZXJzaW9uc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiBmYWxzZSkge1xuICAgICAgJi4jeyQtemYtc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgfVxuXG4gICAgICAmLiN7JC16Zi1zaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tc2ltcGxlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEljb24gQmFzZSBTdHlsZXNcbiAgICAmLmljb25zIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG4gICAgfVxuXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LWljb25zLWJhY2stY29tcGF0IHtcbiAgICAgICYuaWNvbi10b3AsXG4gICAgICAmLmljb24tcmlnaHQsXG4gICAgICAmLmljb24tYm90dG9tLFxuICAgICAgJi5pY29uLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEljb24gTGVmdFxuICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBJY29uIFJpZ2h0XG4gICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihyaWdodCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBUb3BcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbih0b3ApO1xuICAgIH1cblxuICAgIC8vIEljb24gQm90dG9tXG4gICAgJi5pY29uLWJvdHRvbSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgLy8gQmFja3dhcmQgQ29tcGF0aWJpbGl0eSBmb3IgYWN0aXZlIHN0YXRlXG4gICAgQGlmICRtZW51LXN0YXRlLWJhY2stY29tcGF0IHtcbiAgICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gbGVmdFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLWxlZnR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihyaWdodCk7XG5cbiAgICAgIC5uZXN0ZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkbmVzdGVkLWFsaWdubWVudDogcmlnaHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGNlbnRlclxuICAgICYuYWxpZ24tY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICB9XG5cbiAgICAubWVudS10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQge1xuICAgIC5tZW51LWNlbnRlcmVkIHtcbiAgICAgID4gLm1lbnUge1xuICAgICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gYm9yZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIExpc3RcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCBoZWlnaHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6bm90KC5oYXMtc3VibWVudS10b2dnbGUpID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcblxuICAuYWNjb3JkaW9uLW1lbnUge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1yaWdodDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItbGVmdDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gICAgICBwYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW4sIHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzO1xuXG4gICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkge1xuICAgIEBpZiAkYWNjb3JkaW9ubWVudS1ib3JkZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgfVxuXG4gIC8vIFN1Ym1lbnUgdG9nZ2xlXG4gIC5zdWJtZW51LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuXG4gICAgd2lkdGg6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuICAgIGhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI7XG5cbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgYXJyb3cgdG8gdGhlIHRvZ2dsZVxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcblxuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdGF0ZSB0aGUgYXJyb3cgd2hlbiBtZW51IGlzIG9wZW5cbiAgLnN1Ym1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9J3RydWUnXTo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB9XG5cbiAgLnN1Ym1lbnUtdG9nZ2xlLXRleHQge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBtYXAgb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTWFwXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgbWFwIG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBmb3IgdGhlIG9mZi1jYW52YXMgb3ZlcmxhcCBwYW5lbC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KSAhZGVmYXVsdDtcblxuLy8vIElubmVyIGJveCBzaGFkb3cgc2l6ZSBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IGNvbG9yIGZvciB0aGUgb2ZmLWNhbnZhcyBwdXNoIHBhbmVsLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIGNvbnRlbnQgb3ZlcmxheS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgd2l0aCB0aGUgYG92ZXJsYXBgIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMyAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB1c2luZyB0aGUgYHJldmVhbC1mb3ItKmAgY2xhc3NlcyBvciBtaXhpbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTIgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cyAhZGVmYXVsdDtcblxuLy8vIFRpbWluZyBmdW5jdGlvbiBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuLy8vIEB0eXBlIEJvb2xcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gQ1NTIGNsYXNzIHVzZWQgZm9yIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhlIG9mZi1jYW52YXMgbWl4aW5zIHVzZSB0aGlzIHRvIHRhcmdldCB0aGUgcGFnZSBjb250ZW50LlxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG5cbiAgLy8vIFRyYW5zZm9ybSBkZXByZWNhdGVkIHNpemUgc2V0dGluZ3MgaW50byBtYXAgJiBzaG93IHdhcm5pbmdcbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy1zaXplcyBpbnN0ZWFkJztcbiAgfVxuICBAaWYgdmFyaWFibGUtZXhpc3RzKG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSB7XG4gICAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKHNtYWxsOiAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUsIG1lZGl1bTogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplKSAhZ2xvYmFsO1xuICAgIEB3YXJuICckb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUgaXMgZGVwcmVjYXRlZCBhbmQgbm90IHVzZWQgYW55bW9yZSEgUGxlYXNlIHVwZGF0ZSB5b3VyIHNldHRpbmdzIGFuZCB1c2UgdGhlIG1hcCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzIGluc3RlYWQnO1xuICB9XG5cbiAgLy8gQ2hlY2tzIHRoZSB6LWluZGV4ZXMgYW5kIGluY3JlYXNlIHRoZW0gZHVlIHRvIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSBvdmVybGF5J3Mgei1pbmRleCBpcyBuZXcgc2luY2UgdjYuNCBhbmQgbWF5IGJlIGlkZW50aWNhbCB0byB0aGUgdXNlciBjdXN0b20gc2V0dGluZ3Mgb2YgdGhlIHB1c2ggei1pbmRleC5cbiAgQGlmICRvZmZjYW52YXMtcHVzaC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcHVzaC16aW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXggPD0gJG9mZmNhbnZhcy1wdXNoLXppbmRleCB7ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXggKyAxICFnbG9iYWw7IH1cbiAgQGlmICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCA8PSAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4IHsgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG5cbiAgLy8gSGlkZXMgb3ZlcmZsb3cgb24gYm9keSB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgb3ZlcmxheSAoZ2VuZXJhdGVkIGJ5IEphdmFTY3JpcHQpXG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmLmlzLW92ZXJsYXktZml4ZWQge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyB3cmFwcGVyLlxuQG1peGluIG9mZi1jYW52YXMtd3JhcHBlcigpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgcGFuZWwuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlKFxuICAkYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kLFxuICAkdHJhbnNpdGlvbjogJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLFxuICAkZml4ZWQ6IHRydWVcbikge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgQGlmICRmaXhlZCA9PSB0cnVlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFNldCB0aGUgb2ZmLWNhbnZhcyB6LWluZGV4LlxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIC8vIEluY3JlYXNlIENTUyBzcGVjaWZpY2l0eVxuICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcbiAgfVxuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIEhpZGUgaW5hY3RpdmUgb2ZmLWNhbnZhcyB3aXRoaW4gdGhlIGNvbnRlbnQgdGhhdCBoYXZlIHRoZSBzYW1lIHBvc2l0aW9uXG4gICYuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBPdmVybGFwIG9ubHkgc3R5bGVzLlxuICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDtcblxuICAgICYuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBTZXRzIHRyYW5zZm9ybSB0byAwIHRvIHNob3cgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbiAgJi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gcG9zaXRpb24gYW4gb2ZmLWNhbnZhcyBwYW5lbCB0byB0aGUgbGVmdC9yaWdodC90b3AvYm90dG9tLlxuQG1peGluIG9mZi1jYW52YXMtcG9zaXRpb24oXG4gICRwb3NpdGlvbjogbGVmdCxcbiAgJG9yaWVudGF0aW9uOiBob3Jpem9udGFsLFxuICAkc2l6ZXM6IGlmKCRvcmllbnRhdGlvbiA9PSBob3Jpem9udGFsLCAkb2ZmY2FudmFzLXNpemVzLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzKVxuKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcblxuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUgaXMgc2V0LCBhZGQgaW5uZXIgYm94LXNoYWRvdy5cbiAgLy8gVGhpcyBtaW1pY3MgdGhlIG9mZi1jYW52YXMgcGFuZWwgaGF2aW5nIGEgbG93ZXIgei1pbmRleCwgd2l0aG91dCBoYXZpbmcgdG8gaGF2ZSBvbmUuXG4gIEBpZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhyaWdodCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cobGVmdCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGJvdHRvbSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHRvcCwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSwgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vLyBTZXRzIHRoZSBzdHlsZXMgZm9yIHRoZSBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiBvZmYtY2FudmFzLWNvbnRlbnQoKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuLy8gVGhpcyBzaG91bGQgYmUgaW4gdGhlIHNhbWUgYnJlYWtwb2ludCB0aGVuIGBAbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoYFxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIC8vIFdvcmthcm91bmQgYW5kcm9pZCBicm93c2VyIHotaW5kZXggYnVnXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbiB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgLy8gRXh0ZW5kcyBtdXN0IGJlIG1hZGUgb3V0c2lkZSBvZiBicmVha3BvaW50cyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5ld2VyIFNhc3MgdmVyc2lvbnMgKGxpYnNhc3MgdjMuNSlcbiAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG5cbiAgLy8vIERpc2FibGVzIHRoZSBzY3JvbGwgd2hlbiBSZXZlYWwgaXMgc2hvd24gdG8gcHJldmVudCB0aGUgYmFja2dyb3VuZCBmcm9tIHNoaWZ0aW5nXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAmLnpmLWhhcy1zY3JvbGwge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIGJvZHkgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbjogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6ICR0b3BiYXItdGl0bGUtc3BhY2luZztcblxuICAgICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yKCRzaXplKSB7XG4gICRzaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAuMDAxMjU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAuMDAxMjU7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGVcbi8vLy9cblxuLy8gUmVsYXRpb25hbCBNaXhpbnNcbkBpbXBvcnQgJ3JlbGF0aW9uJztcblxuLy8gQm94IE1peGluXG5AaW1wb3J0ICdib3gnO1xuXG4vLyBSb3RhdGUgTWl4aW5cbkBpbXBvcnQgJ3JvdGF0ZSc7XG5cbi8vIFRleHQgdXRpbGl0aWVzXG5AaW1wb3J0ICd0ZXh0LXV0aWxpdGllcyc7XG5cbi8vIFRleHQgdHJhbnNmb3JtYXRpb24gY2xhc3Nlc1xuQGltcG9ydCAndGV4dC10cmFuc2Zvcm1hdGlvbic7XG5cbi8vIFRleHQgRGVjb3JhdGlvbiBjbGFzc2VzXG5AaW1wb3J0ICd0ZXh0LWRlY29yYXRpb24nO1xuXG4vLyBGb250IFN0eWxpbmdcbkBpbXBvcnQgJ2ZvbnQtc3R5bGluZyc7XG5cbi8vIExpc3QgU3R5bGUgdHlwZVxuQGltcG9ydCAnbGlzdC1zdHlsZS10eXBlJztcblxuLy8gUm91bmRlZCBVdGlsaXR5XG5AaW1wb3J0ICdyb3VuZGVkJztcblxuLy8gQm9yZGVyZWQgVXRpbGl0eVxuQGltcG9ydCAnYm9yZGVyZWQnO1xuXG4vLyBTaGFkb3cgVXRpbGl0eVxuQGltcG9ydCAnc2hhZG93JztcblxuLy8gQXJyb3cgVXRpbGl0eVxuQGltcG9ydCAnYXJyb3cnO1xuXG4vLyBTZXBhcmF0b3IgVXRpbGl0eVxuQGltcG9ydCAnc2VwYXJhdG9yJztcblxuLy8gT3ZlcmZsb3cgaGVscGVyIGNsYXNzZXNcbkBpbXBvcnQgJ292ZXJmbG93JztcblxuLy8gRGlzcGxheSBjbGFzc2VzXG5AaW1wb3J0ICdkaXNwbGF5JztcblxuLy8gUG9zaXRpb24gSGVscGVyc1xuQGltcG9ydCAncG9zaXRpb24nO1xuXG4vLyBCb3JkZXIgYm94XG5AaW1wb3J0ICdib3JkZXItYm94JztcblxuLy8gQm9yZGVyIG5vbmUgVXRpbHR5XG5AaW1wb3J0ICdib3JkZXItbm9uZSc7XG5cbi8vIFNpemluZyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3NpemluZyc7XG5cbi8vIFNwYWNpbmcgVXRpbGl0aWVzXG5AaW1wb3J0ICdzcGFjaW5nJztcblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXV0aWxpdGllcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1mb250LXN0eWxpbmc7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtcm91bmRlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXNoYWRvdztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtYXJyb3c7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXNlcGFyYXRvcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtb3ZlcmZsb3c7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWRpc3BsYXk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXBvc2l0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItYm94O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXItbm9uZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc2l6aW5nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zcGFjaW5nO1xufVxuIiwiLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gZnJvbSB0aGUgZmlyc3QgdG8gYCRudW1gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gRmlyc3QgYG5gIG51bWJlcnMgb2YgdG90YWwgY2hpbGRyZW4gXG5AbWl4aW4gZmlyc3QoJG51bSkge1xuICBAaWYgJG51bSA9PSAxIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJjpudGgtY2hpbGQoLW4gKyAjeyRudW19KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNlbGVjdCB0aGUgZmlyc3QgZXhhY3QgY2hpbGRcbkBtaXhpbiBmaXJzdC1jaGlsZCB7XG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gZnJvbSB0aGUgbGFzdCB0byBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBMYXN0IGBuYCBudW1iZXJzIG9mIHRvdGFsIGNoaWxkcmVuIFxuQG1peGluIGxhc3QoJG51bSkge1xuICAmOm50aC1sYXN0LWNoaWxkKC1uICsgI3skbnVtfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgdGhlIGxhc3QgZXhhY3QgY2hpbGRcbkBtaXhpbiBsYXN0LWNoaWxkIHtcbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgY2hpbGRyZW4gZXZlcnkgYCRudW1gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gRXZlcnkgYG5gIG51bWJlciBvZiBhbGwgY2hpbGRyZW5cbkBtaXhpbiBldmVyeSgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKCN7JG51bX1uKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBvbmx5IHRoZSBmaXJzdCBhbmQgbGFzdCBjaGlsZC5cbkBtaXhpbiBmaXJzdC1sYXN0IHtcbiAgJjpmaXJzdC1jaGlsZCxcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBhZnRlciB0aGUgZmlyc3QgdG8gYCRudW1gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gQWZ0ZXIgRmlyc3QgYG5gIG51bWJlcnMgb2YgdG90YWwgY2hpbGRyZW4gXG5AbWl4aW4gYWZ0ZXItZmlyc3QoJG51bSkge1xuICAmOm50aC1jaGlsZChuICsgI3skbnVtICsgMX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBiZWZvcmUgYCRudW1gIGZyb20gdGhlIGxhc3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBGcm9tIExhc3QgYG5gIG51bWJlcnMgb2YgdG90YWwgY2hpbGRyZW4gXG5AbWl4aW4gZnJvbS1sYXN0KCRudW0pIHtcbiAgJjpudGgtbGFzdC1jaGlsZCgjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCB0aGUgYCRudW1gIGNoaWxkIGZyb20gdGhlIGZpcnN0IGFuZCB0aGUgYCRudW1gIGNoaWxkIGZyb20gdGhlIGxhc3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBgbmAgbnVtYmVyIGNhbGxlZCBmcm9tIGZpcnN0IGFuZCBsYXN0IFxuQG1peGluIGZyb20tZmlyc3QtbGFzdCgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKCN7JG51bX0pLFxuICAmOm50aC1sYXN0LWNoaWxkKCN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBidXQgYCRudW1gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gYG5gIG51bWJlciB0aGF0IHNob3VsZCBiZSBleGNsdWRlZCBmcm9tIGFsbCBvdGhlciBjaGlsZHJlbiBcbkBtaXhpbiBhbGwtYnV0KCRudW0pIHtcbiAgJjpub3QoOm50aC1jaGlsZCgjeyRudW19KSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGJldHdlZW4gdGhlIGAkbnVtYCBmaXJzdCBhbmQgdGhlIGAkbnVtYCBsYXN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtW10gYG5gIG51bWJlciBleGNsdWRlZCBmcm9tIGZpcnN0IGFuZCBsYXN0IGZyb20gYWxsIG90aGVyIGNoaWxkcmVuXG5AbWl4aW4gYWxsLWJ1dC1maXJzdC1sYXN0KCRudW0pIHtcbiAgJjpudGgtY2hpbGQobiArICN7JG51bX0pOm50aC1sYXN0LWNoaWxkKG4gKyAjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFdpbGwgb25seSBzZWxlY3QgdGhlIGNoaWxkIGlmIGl0J3MgdW5pcXVlLiBUaGF0IG1lYW5zIHRoYXQgaWYgdGhlcmUgYXJlIGF0IGxlYXN0IDIgY2hpbGRyZW4sIHRoZSBzdHlsZSB3aWxsIG5vdCBiZSBhcHBsaWVkLlxuQG1peGluIHVuaXF1ZSB7XG4gICY6b25seS1jaGlsZCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFdpbGwgb25seSBzZWxlY3QgY2hpbGRyZW4gaWYgdGhleSBhcmUgbm90IHVuaXF1ZS4gVGhhdCBtZWFucyB0aGF0IGlmIHRoZXJlIGFyZSBhdCBsZWFzdCAyIGNoaWxkcmVuLCB0aGUgc3R5bGUgd2lsbCBiZSBhcHBsaWVkLlxuQG1peGluIG5vdC11bmlxdWUoKSB7XG4gICY6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG50aGAgbnVtYmVyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsYXN0W10gTGFzdCBgbnRoYCBudW1iZXJcbkBtaXhpbiBiZXR3ZWVuKCRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBldmVuIGNoaWxkcmVuLlxuQG1peGluIGV2ZW4ge1xuICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgZXZlbiBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbnRoYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBudGhgIG51bWJlclxuQG1peGluIGV2ZW4tYmV0d2VlbigkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKGV2ZW4pOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIG9kZCBjaGlsZHJlbi5cbkBtaXhpbiBvZGQge1xuICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBvZGQgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG50aGAgbnVtYmVyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsYXN0W10gTGFzdCBgbnRoYCBudW1iZXJcbkBtaXhpbiBvZGQtYmV0d2VlbigkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKG9kZCk6bnRoLWNoaWxkKG4gKyAjeyRmaXJzdH0pOm50aC1jaGlsZCgtbiArICN7JGxhc3R9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgYCRudW1gIGNoaWxkcmVuIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBFdmVyeSBgbmAgbnVtYmVyIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmaXJzdFtdIEZpcnN0IGBuYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBuYCBudW1iZXJcbkBtaXhpbiBudW1iZXItYmV0d2VlbigkbnVtLCAkZmlyc3QsICRsYXN0KSB7XG4gICY6bnRoLWNoaWxkKCN7JG51bX1uKTpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJveFxuLy8vL1xuXG4vLy8gQm94IE1peGluOiBFYXNpbHkgY3JlYXRlIGEgc3F1YXJlLCByZWN0YW5nbGUgb3IgYSBjaXJjbGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoW10gV2lkdGggb2YgdGhlIGJveFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0WyR3aWR0aF0gSGVpZ2h0IG9mIHRoZSBib3gsIGRlZmF1bHRzIHRvIGAkd2lkdGhgIHRvIGVhc2lseSBtYWtlIGEgc3F1YXJlXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2lyY2xlW2ZhbHNlXSBNYWtlcyB0aGUgYm94IGEgY2lyY2xlLCBieSBkZWZhdWx0IGBmYWxzZWAuXG5AbWl4aW4gYm94KFxuICAkd2lkdGgsIFxuICAkaGVpZ2h0OiAkd2lkdGgsIFxuICAkY2lyY2xlOiBmYWxzZVxuKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGlmICRjaXJjbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm90YXRlXG4vLy8vXG5cbi8vLyBSb3RhdGUgTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWdcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZSgkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGUoJGRlZyArIGRlZyk7XG59XG5cbi8vLyBSb3RhdGVYIE1peGluOiBSb3RhdGUgYW4gZWxlbWVudCB0byBhIGNlcnRhaW4gZGVnIG9uIFgtQXhpc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVnW10gRGVncmVlIG9mIHJvdGF0aW9uXG5AbWl4aW4gcm90YXRlWCgkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGVYKCRkZWcgKyBkZWcpO1xufVxuXG4vLy8gUm90YXRlWSBNaXhpbjogUm90YXRlIGFuIGVsZW1lbnQgdG8gYSBjZXJ0YWluIGRlZyBvbiBZLUF4aXNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZVkoJGRlZykge1xuXHR0cmFuc2Zvcm06cm90YXRlWSgkZGVnICsgZGVnKTtcbn1cblxuLy8vIFJvdGF0ZVogTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWcgb24gWi1BeGlzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdbXSBEZWdyZWUgb2Ygcm90YXRpb25cbkBtaXhpbiByb3RhdGVaKCRkZWcpIHtcblx0dHJhbnNmb3JtOnJvdGF0ZVooJGRlZyArIGRlZyk7XG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHV0aWxpdGllc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgVmFsdWUgZm9yIGB0ZXh0LW92ZXJmbG93YCB2YXJpYWJsZVxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhZGVmYXVsdDtcblxuLy8vIEltYWdlIFJlcGxhY2VtZW50IHV0aWxpdHkuIGB0ZXh0LWhpZGVgXG5AbWl4aW4gdGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4vLy8gVHJ1bmNhdGluZyB0aGUgdGV4dCwgZWxpcHNpcyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgWyRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd10gVGV4dCBUcnVuY2F0ZVxuQG1peGluIHRleHQtdHJ1bmNhdGUoXG4gICRvdmVyZmxvdzogJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XG4pIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdGV4dC1vdmVyZmxvdzogJG92ZXJmbG93OyBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gTm8gd3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LW5vd3JhcGBcbkBtaXhpbiB0ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIFdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC13cmFwYFxuQG1peGluIHRleHQtd3JhcCB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC11dGlsaXRpZXMge1xuICAudGV4dC1oaWRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gIH1cblxuICAudGV4dC10cnVuY2F0ZSB7XG4gICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgfVxuXG4gIC50ZXh0LW5vd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gIH1cblxuICAudGV4dC13cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1oaWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC10cnVuY2F0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LW5vd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHRyYW5zZm9ybWF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtdHJhbnNmb3JtYXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgVHJhbnNmb3JtYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRyYW5zZm9ybWF0aW9uIFtdIFRleHQgVHJhbnNmb3JtYXRpb25cbkBtaXhpbiB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pIHtcbiAgdGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1hdGlvbiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgIC50ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gIFx0QGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICBcdFx0XHQgICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICBcdFx0XHQgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCBkZWNvcmF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgdGV4dC1kZWNvcmF0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBEZWNvcmF0aW9uLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlY29yYXRpb24gW10gVGV4dCBEZWNvcmF0aW9uXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogJGRlY29yYXRpb24gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAudGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRlY29yYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRkZWNvcmF0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZm9udC1zdHlsaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBmb250IHN0eWxpbmcgdHlwZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTGV0dGVyIHNwYWNpbmcgZm9yIGAuZm9udC13aWRlYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtbm9ybWFsYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtYm9sZGAsIGRlZmF1bHRlZCB0byBgZ2xvYmFsLXdlaWdodC1ib2xkYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdpZGUgbGV0dGVyIHNwYWNpbmchXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXR0ZXItc3BhY2luZyBbJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXSBXaWRlIGxldHRlciBzcGFjaW5nIGZvciB0aGUgZm9udFxuQG1peGluIGZvbnQtd2lkZShcbiAgJGxldHRlci1zcGFjaW5nOiAkcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmdcbikge1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nO1xufVxuXG4vLy8gRm9udCBXZWlnaHQgTm9ybWFsLCBkZWZhdWx0IHZhbHVlIGNvbWluZyB0aHJvdWdoIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LW5vcm1hbF0gV2VpZ2h0IG9mIHRoZSBmb250IChub3JtYWwpXG5AbWl4aW4gZm9udC1ub3JtYWwoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ub3JtYWxcbikge1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuLy8vIEZvbnQgV2VpZ2h0IEJvbGQsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtYm9sZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LWJvbGRdIFdlaWdodCBvZiB0aGUgZm9udCAoYm9sZClcbkBtaXhpbiBmb250LWJvbGQoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ib2xkXG4pIHtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbi8vLyBGb250IFN0eWxlIEl0YWxpY1xuQG1peGluIGZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1mb250LXN0eWxpbmcge1xuICAuZm9udC13aWRle1xuICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcbiAgfVxuXG4gIC5mb250LW5vcm1hbCB7XG4gICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XG4gIH1cblxuICAuZm9udC1ib2xkIHtcbiAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gIH1cblxuICAuZm9udC1pdGFsaWMge1xuICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mb250LXdpZGV7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXdpZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtbm9ybWFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtbm9ybWFsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWJvbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWl0YWxpYyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGxpc3Qgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLXVub3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtb3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKSAhZGVmYXVsdDtcblxuXG4vLy8gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS11bm9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtdW5vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtb3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS1vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBsaXN0LXVub3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICB1bC5saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICB1bC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LW9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICBvbC5saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG9sLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5vcmRlcmVkO1xuICBAaW5jbHVkZSBsaXN0LW9yZGVyZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcm91bmRlZFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igcm91bmRlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1yYWRpdXNgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuXG4vLy8gUm91bmRlZCB1dGlsaXR5IChhbGwgY29ybmVycyk6IEFkZHMgcmFkaXVzIGNvcm5lcnMgKGFsbCBjb3JuZXJzKSB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYWRpdXMgWyRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c10gQm9yZGVyIHJhZGl1cyAoYWxsIGNvcm5lcnMpXG5AbWl4aW4gYm9yZGVyLXJhZGl1cyhcbiAgJHJhZGl1czogJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXG4pIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuLy8vIFJvdW5kZWQgc3F1YXJlIHV0aWxpdHkgb3IgcmVjdGFuZ2xlIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogUm91bmRzIGFsbCBjb3JuZXJzIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCB0byBtYWtlIGEgcGlsbCBzaGFwZS5cbkBtaXhpbiBib3JkZXItcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcm91bmRlZCB7XG4gIC5yb3VuZGVkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgLy8gRm9yIHN3aXRjaGVzXG4gICAgfVxuICB9XG5cbiAgLnJhZGl1cyB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcm91bmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXJhZGl1cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlcmVkXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXJlZCB1dGlsaXR5LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItd2lkdGhgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci10eXBlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci1jb2xvcmAgZGVmYXVsdGVkIHRvIGBtZWRpdW0tZ3JheWBcbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlcmVkIFV0aWxpdHk6IEFkZHMgYSBsaWdodCBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRwcm90b3R5cGUtYm9yZGVyLXdpZHRoXSBXaWR0aCBvZiB0aGUgYm9yZGVyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0eXBlIFskcHJvdG90eXBlLWJvcmRlci10eXBlXSBUeXBlIG9mIHRoZSBib3JkZXJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRwcm90b3R5cGUtYm9yZGVyLWNvbG9yXSBDb2xvciBvZiB0aGUgYm9yZGVyXG5AbWl4aW4gYm9yZGVyZWQoXG4gICR3aWR0aDogJHByb3RvdHlwZS1ib3JkZXItd2lkdGgsXG4gICR0eXBlOiAkcHJvdG90eXBlLWJvcmRlci10eXBlLFxuICAkY29sb3I6ICRwcm90b3R5cGUtYm9yZGVyLWNvbG9yXG4pIHtcbiAgYm9yZGVyOiAkd2lkdGggJHR5cGUgJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyZWQge1xuICAuYm9yZGVyZWQge1xuICAgIEBpbmNsdWRlIGJvcmRlcmVkO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2hhZG93XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzaGFkb3cgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJveC1zaGFkb3dgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSAhZGVmYXVsdDtcblxuLy8vIFNoYWRvdyBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm94IHNoYWRvdyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaGFkb3cgWyRwcm90b3R5cGUtYm94LXNoYWRvd10gQm94IFNoYWRvdyBvZiBhIGNvbXBvbmVudFxuQG1peGluIHNoYWRvdyhcbiAgJHNoYWRvdzogJHByb3RvdHlwZS1ib3gtc2hhZG93XG4pIHtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNoYWRvdyB7XG4gIC5zaGFkb3cge1xuICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zaGFkb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWFycm93XG4vLy8vXG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBhcnJvd2AgZGlyZWN0aW9uXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgdGhlIEFycm93LCBgMC40Mzc1cmVtYCBieSBkZWZhdWx0LlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG5cbi8vLyBDb2xvciBvZiB0aGUgQXJyb3csIGAkYmxhY2tgIGJ5IGRlZmF1bHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWFycm93IHtcbiAgQGVhY2ggJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb24gaW4gJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zIHtcbiAgICAuYXJyb3ctI3skcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LXNpemUsIFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LWNvbG9yLCBcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25cbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2VwYXJhdG9yXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhbGlnbm1lbnQgb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIGEgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRvcCBNYXJnaW4gb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRpdGxlIHNlcGFyYXRvciBVdGlsaXR5LCBtb3N0bHkgdXNlZCB0byBzdHlsZSB0aGUgbWFpbiBoZWFkaW5nIG9mIGEgc2VjdGlvblxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYWxpZ24gWyRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduXSAtIHNlcGFyYXRvciBBbGlnbm1lbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0XSAtIFdpZHRoXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGhdIC0gSGVpZ2h0XG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFskcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wXSAtIE1hcmdpbiBUb3BcbkBtaXhpbiBzZXBhcmF0b3IgKFxuICAkYWxpZ246ICRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduLFxuICAkaGVpZ2h0OiAkcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQsXG4gICR3aWR0aDogJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGgsXG4gICRiYWNrZ3JvdW5kOiAkcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kLFxuICAkdG9wOiAkcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wXG4pIHtcbiAgdGV4dC1hbGlnbjogJGFsaWduICFpbXBvcnRhbnQ7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSk7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRiYWNrZ3JvdW5kO1xuICAgIG1hcmdpbjogJHRvcCBhdXRvIDA7XG5cbiAgICBAaWYgJGFsaWduID09IGxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaWYgJGFsaWduID09IHJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2VwYXJhdG9yIHtcblx0LnNlcGFyYXRvci1jZW50ZXIge1xuXHRcdEBpbmNsdWRlIHNlcGFyYXRvcihjZW50ZXIpO1xuXHR9XG5cbiAgLnNlcGFyYXRvci1sZWZ0IHtcbiAgICBAaW5jbHVkZSBzZXBhcmF0b3IobGVmdCk7XG4gIH1cblxuICAuc2VwYXJhdG9yLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xuICB9XG5cblx0QGlmICgkcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1jZW50ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItbGVmdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IobGVmdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1zZXBhcmF0b3ItcmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2VwYXJhdG9yKHJpZ2h0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1vdmVyZmxvd1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igb3ZlcmZsb3cgaGVscGVyIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYG92ZXJmbG93YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pICFkZWZhdWx0O1xuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXNcbkBtaXhpbiBvdmVyZmxvdygkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3c6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiBob3Jpem9udGFsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzIChob3Jpem9udGFsIGF4aXMpXG5AbWl4aW4gb3ZlcmZsb3cteCgkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3cteDogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzIG9uIHZlcnRpY2FsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzICh2ZXJ0aWNhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXkoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXk6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtb3ZlcmZsb3cge1xuICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgLm92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRvdmVyZmxvdyBpbiAkcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy14KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy15KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZGlzcGxheVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgZGlzcGxheSBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGRpc3BsYXlgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGlzcGxheSBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLWRpc3BsYXlgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtdIERpc3BsYXkgY2xhc3Nlc1xuQG1peGluIGRpc3BsYXkoJGRpc3BsYXkpIHtcbiAgZGlzcGxheTogJGRpc3BsYXkgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWRpc3BsYXkge1xuICBAZWFjaCAkZGlzcGxheSBpbiAkcHJvdG90eXBlLWRpc3BsYXkge1xuICAgIC5kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgIEBpbmNsdWRlIGRpc3BsYXkoJGRpc3BsYXkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LWRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1wb3NpdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcG9zaXRpb24gaGVscGVyc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgcG9zaXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgZml4ZWQgcG9zaXRpb25pbmdcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1ICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb24gY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1wb3NpdGlvbmAsIHdoZXJlYXMgYWxsIHRoZSBvZmZzZXQgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLXBvc2l0aW9uYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHBvc2l0aW9uIFtdIFBvc2l0aW9uIGNsYXNzZXMsIEVpdGhlciBgc3RhdGljYCwgYHJlbGF0aXZlYCwgYGFic29sdXRlYCBvciBgZml4ZWRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgW251bGxdIC0gVG9wIG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmlnaHQgW251bGxdIC0gUmlnaHQgb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gQm90dG9tIG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGVmdCBbbnVsbF0gLSBMZWZ0IG9mZnNldFxuQG1peGluIHBvc2l0aW9uKFxuICAkcG9zaXRpb24sXG4gICR0b3A6IG51bGwsXG4gICRyaWdodDogbnVsbCxcbiAgJGJvdHRvbTogbnVsbCxcbiAgJGxlZnQ6IG51bGxcbikge1xuICBwb3NpdGlvbjogJHBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHRvcDogJHRvcCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJHJpZ2h0ICE9IG51bGwge1xuICAgIHJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgYm90dG9tOiAkYm90dG9tICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBsZWZ0OiAkbGVmdCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gdG9wIGNvcm5lcnNcbi8vLyBAcGFyYW0ge051bWJlcn0gJHotaW5kZXggWyRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleF0gei1pbmRleCBmb3IgYHBvc2l0aW9uLWZpeGVkLXRvcGBcbkBtaXhpbiBwb3NpdGlvbi1maXhlZC10b3AoXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcbikge1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCwgMCwgbnVsbCwgMCk7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xufVxuXG4vLy8gUG9zaXRpb24gRml4ZWQgb24gYm90dG9tIGNvcm5lcnNcbi8vLyBAcGFyYW0ge051bWJlcn0gJHotaW5kZXggWyRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleF0gei1pbmRleCBmb3IgYHBvc2l0aW9uLWZpeGVkLWJvdHRvbWBcbkBtaXhpbiBwb3NpdGlvbi1maXhlZC1ib3R0b20oXG4gICR6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhcbikge1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCwgMCwgMCwgMCk7XG4gIHotaW5kZXg6ICR6LWluZGV4O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtcG9zaXRpb24ge1xuICAvLyBQb3NpdGlvbjogU3RhdGljLCBSZWxhdGl2ZSwgRml4ZWQsIEFic29sdXRlXG4gIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgICAucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLy8gUG9zaXRpb246IEZpeGVkIFRvcCwgRml4ZWQgQm90dG9tXG4gIC5wb3NpdGlvbi1maXhlZC10b3Age1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgfVxuICAucG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAvLyBQb3NpdGlvbjogU3RhdGljLCBSZWxhdGl2ZSwgRml4ZWQsIEFic29sdXRlXG4gICAgICAgIEBlYWNoICRwb3NpdGlvbiBpbiAkcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKCRwb3NpdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUG9zaXRpb246IEZpeGVkIFRvcCwgRml4ZWQgQm90dG9tXG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC10b3A7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC1ib3R0b207XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLWJveFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIGJveC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGJveCB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLWJveCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ib3gge1xuICAuYm9yZGVyLWJveCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJveDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJvcmRlci1ub25lXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBib3JkZXIgbm9uZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBub25lIHV0aWxpdHlcbkBtaXhpbiBib3JkZXItbm9uZSB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLW5vbmUge1xuICAuYm9yZGVyLW5vbmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLW5vbmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLW5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2l6aW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzcGFjaW5nIGNsYXNzZXMgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzaXppbmdgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIHNpemVzLlxuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXggV2lkdGggMTAwIHV0aWxpdHkuXG5AbWl4aW4gbWF4LXdpZHRoLTEwMCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4vLy8gTWF4IEhlaWdodCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtaGVpZ2h0LTEwMCB7XG4gIG1heC1oZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNpemluZyB7XG4gIC8vIEVsZW1lbnQgU2l6aW5nXG4gIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xuICAgICAgLiN7JHNpemluZ30tI3skbGVuZ3RofSB7XG4gICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTWF4IHdpZHRoICYgaGVpZ2h0XG4gIC5tYXgtd2lkdGgtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtd2lkdGgtMTAwO1xuICB9XG4gIC5tYXgtaGVpZ2h0LTEwMCB7XG4gICAgQGluY2x1ZGUgbWF4LWhlaWdodC0xMDA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAZWFjaCAkc2l6aW5nIGluICRwcm90b3R5cGUtc2l6aW5nIHtcbiAgICAgICAgICAgIEBlYWNoICRsZW5ndGgsICRwZXJjZW50YWdlIGluICRwcm90b3R5cGUtc2l6ZXMge1xuICAgICAgICAgICAgICAuI3skc2l6ZX0tI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgICAgICAgICAjeyRzaXppbmd9OiAkcGVyY2VudGFnZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc3BhY2luZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbnVtYmVyIG9mIHNwYWNlcnMgY291bnQgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMyAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLW1hcmdpbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBNYXJnaW4gVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBNYXJnaW4gUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBNYXJnaW4gQm90dG9tXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIE1hcmdpbiBMZWZ0XG5AbWl4aW4gbWFyZ2luKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXRvcDogJHRvcCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgaGVscGVyIG1peGluLCBhbGwgdGhlIHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wYWRkaW5nYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFBhZGRpbmcgVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBQYWRkaW5nIFJpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gUGFkZGluZyBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gUGFkZGluZyBMZWZ0XG5AbWl4aW4gcGFkZGluZyhcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHBhZGRpbmctdG9wOiAkdG9wICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIE1hcmdpbiBjbGFzc2VzIGZvciBzcGVjaWZpYyBkaXJlY3Rpb24gcHJvcGVydGllc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxuQG1peGluIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcikge1xuICBAaWYgKCRkaXIgPT0gdG9wKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRyaWdodDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGxlZnQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyLCAkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgY2xhc3NlcyBmb3Igc3BlY2lmaWMgZGlyZWN0aW9uIHByb3BlcnRpZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpciBbXSBEaXJlY3Rpb25cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNlciBbXSBTcGFjZXJcbkBtaXhpbiBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKSB7XG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkcmlnaHQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBib3R0b20pIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlciwgJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSB2ZXJ0aWNhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZyB7XG4gIEBmb3IgJHNwYWNlciBmcm9tIDAgdGhyb3VnaCAkcHJvdG90eXBlLXNwYWNlcnMtY291bnQge1xuICAgIFxuICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgLiN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbjsgXG4gICAgICAgIH1cbiAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXG4gICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZzsgXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGVhY2ggJGRpciBpbiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCBob3Jpem9udGFsLCB2ZXJ0aWNhbCkge1xuICAgICAgICAvLyBUb3AgU2lkZVxuICAgICAgICAuI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0ge1xuICAgICAgICAgICAgICBAZWFjaCAkcHJvcCBpbiAobWFyZ2luLCBwYWRkaW5nKSB7XG4gICAgICAgICAgICAgICAgLy8gQWxsIFNpZGVzXG4gICAgICAgICAgICAgICAgJi0jeyRwcm9wfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbjsgXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZzsgXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGVhY2ggJGRpciBpbiAodG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCBob3Jpem9udGFsLCB2ZXJ0aWNhbCkge1xuICAgICAgICAgICAgICAgICAgLy8gVG9wIFNpZGVcbiAgICAgICAgICAgICAgICAgICYtI3skcHJvcH0tI3skZGlyfS0jeyRzcGFjZXJ9IHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyohXG4gKiBIYW1idXJnZXJzXG4gKiBAZGVzY3JpcHRpb24gVGFzdHkgQ1NTLWFuaW1hdGVkIGhhbWJ1cmdlcnNcbiAqIEBhdXRob3IgSm9uYXRoYW4gU3VoIEBqb25zdWhcbiAqIEBzaXRlIGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcbiAqL1xuXG4vLyBTZXR0aW5nc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRoYW1idXJnZXItcGFkZGluZy14ICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLXBhZGRpbmcteSAgICAgICAgICAgOiAxNXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci13aWR0aCAgICAgICAgIDogNDBweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICAgICAgICA6IDRweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAgICAgICA6IDZweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItY29sb3IgICAgICAgICA6ICMwMDAgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXMgOiA0cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgICAgICAgOiAwLjcgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWFjdGl2ZS1sYXllci1jb2xvciAgOiAkaGFtYnVyZ2VyLWxheWVyLWNvbG9yICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItb3BhY2l0eTogJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5ICFkZWZhdWx0O1xuXG4vLyBUbyB1c2UgQ1NTIGZpbHRlcnMgYXMgdGhlIGhvdmVyIGVmZmVjdCBpbnN0ZWFkIG9mIG9wYWNpdHksXG4vLyBzZXQgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyIGFzIHRydWUgYW5kXG4vLyBjaGFuZ2UgdGhlIHZhbHVlIG9mICRoYW1idXJnZXItaG92ZXItZmlsdGVyIGFjY29yZGluZ2x5LlxuJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyICAgOiBmYWxzZSAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItZmlsdGVyICAgICAgIDogb3BhY2l0eSg1MCUpICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItZmlsdGVyOiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAhZGVmYXVsdDtcblxuLy8gVHlwZXMgKFJlbW92ZSBvciBjb21tZW50IG91dCB3aGF0IHlvdSBkb27igJl0IG5lZWQpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci10eXBlczogKFxuICAzZHgsXG4gIDNkeC1yLFxuICAzZHksXG4gIDNkeS1yLFxuICAzZHh5LFxuICAzZHh5LXIsXG4gIGFycm93LFxuICBhcnJvdy1yLFxuICBhcnJvd2FsdCxcbiAgYXJyb3dhbHQtcixcbiAgYXJyb3d0dXJuLFxuICBhcnJvd3R1cm4tcixcbiAgYm9yaW5nLFxuICBjb2xsYXBzZSxcbiAgY29sbGFwc2UtcixcbiAgZWxhc3RpYyxcbiAgZWxhc3RpYy1yLFxuICBlbXBoYXRpYyxcbiAgZW1waGF0aWMtcixcbiAgbWludXMsXG4gIHNsaWRlcixcbiAgc2xpZGVyLXIsXG4gIHNwaW4sXG4gIHNwaW4tcixcbiAgc3ByaW5nLFxuICBzcHJpbmctcixcbiAgc3RhbmQsXG4gIHN0YW5kLXIsXG4gIHNxdWVlemUsXG4gIHZvcnRleCxcbiAgdm9ydGV4LXJcbikgIWRlZmF1bHQ7XG5cbi8vIEJhc2UgSGFtYnVyZ2VyIChXZSBuZWVkIHRoaXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcImJhc2VcIjtcblxuLy8gSGFtYnVyZ2VyIHR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcInR5cGVzLzNkeFwiO1xuQGltcG9ydCBcInR5cGVzLzNkeC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHh5XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R4eS1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvdy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dhbHRcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuXCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3d0dXJuLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9ib3JpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZVwiO1xuQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljXCI7XG5AaW1wb3J0IFwidHlwZXMvZWxhc3RpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvZW1waGF0aWNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvbWludXNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXItclwiO1xuQGltcG9ydCBcInR5cGVzL3NwaW5cIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcGluLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmctclwiO1xuQGltcG9ydCBcInR5cGVzL3N0YW5kXCI7XG5AaW1wb3J0IFwidHlwZXMvc3RhbmQtclwiO1xuQGltcG9ydCBcInR5cGVzL3NxdWVlemVcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXhcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXgtclwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29va2luZyB1cCBhZGRpdGlvbmFsIHR5cGVzOlxuLy9cbi8vIFRoZSBTYXNzIGZvciBlYWNoIGhhbWJ1cmdlciB0eXBlIHNob3VsZCBiZSBuZXN0ZWRcbi8vIGluc2lkZSBhbiBAaWYgZGlyZWN0aXZlIHRvIGNoZWNrIHdoZXRoZXIgb3Igbm90XG4vLyBpdCBleGlzdHMgaW4gJGhhbWJ1cmdlci10eXBlcyBzbyBvbmx5IHRoZSBDU1MgZm9yXG4vLyBpbmNsdWRlZCB0eXBlcyBhcmUgZ2VuZXJhdGVkLlxuLy9cbi8vIGUuZy4gaGFtYnVyZ2Vycy90eXBlcy9fbmV3LXR5cGUuc2Nzc1xuLy9cbi8vIEBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBuZXctdHlwZSkge1xuLy8gICAuaGFtYnVyZ2VyLS1uZXctdHlwZSB7XG4vLyAgICAgLi4uXG4vLyAgIH1cbi8vIH1cbiIsIi8vIEhhbWJ1cmdlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5oYW1idXJnZXIge1xuICBwYWRkaW5nOiAkaGFtYnVyZ2VyLXBhZGRpbmcteSAkaGFtYnVyZ2VyLXBhZGRpbmcteDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcblxuICAvLyBOb3JtYWxpemUgKDxidXR0b24+KVxuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgJjpob3ZlciB7XG4gICAgQGlmICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciA9PSB0cnVlIHtcbiAgICAgIGZpbHRlcjogJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAaWYgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyID09IHRydWUge1xuICAgICAgICBmaWx0ZXI6ICRoYW1idXJnZXItYWN0aXZlLWhvdmVyLWZpbHRlcjtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1hY3RpdmUtaG92ZXItb3BhY2l0eTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyLFxuICAgIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbiAgICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGFtYnVyZ2VyLWFjdGl2ZS1sYXllci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmhhbWJ1cmdlci1ib3gge1xuICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDMgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhhbWJ1cmdlci1pbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAtMjtcblxuICAmLFxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItbGF5ZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIH1cblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBib3R0b206ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeCkge1xuICAvKlxuICAgKiAzRFhcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeCB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R4LXIpIHtcbiAgLypcbiAgICogM0RYIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeC1yIHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R5KSB7XG4gIC8qXG4gICAqIDNEWVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R5IHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgtMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R5LXIpIHtcbiAgLypcbiAgICogM0RZIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeS1yIHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHh5KSB7XG4gIC8qXG4gICAqIDNEWFlcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeHkge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlWSgxODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCAzZHh5LXIpIHtcbiAgLypcbiAgICogM0RYWSBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS0zZHh5LXIge1xuICAgIC5oYW1idXJnZXItYm94IHtcbiAgICAgIHBlcnNwZWN0aXZlOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlWSgxODBkZWcpIHJvdGF0ZVooLTE4MGRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93KSB7XG4gIC8qXG4gICAqIEFycm93XG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvdy5pcy1hY3RpdmUge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMiwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yLCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3ctcikge1xuICAvKlxuICAgKiBBcnJvdyBSaWdodFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3ctci5pcy1hY3RpdmUge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yLCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yLCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93YWx0KSB7XG4gIC8qXG4gICAqIEFycm93IEFsdFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3dhbHQge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjI1LCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMjUsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvd2FsdC1yKSB7XG4gIC8qXG4gICAqIEFycm93IEFsdCBSaWdodFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3dhbHQtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAwLjIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yNSwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yNSwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvd3R1cm4pIHtcbiAgLypcbiAgICogQXJyb3cgVHVyblxuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3d0dXJuLmlzLWFjdGl2ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4cHgsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDhweCwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvd3R1cm4tcikge1xuICAvKlxuICAgKiBBcnJvdyBUdXJuIFJpZ2h0XG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvd3R1cm4tci5pcy1hY3RpdmUge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLThweCwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC04cHgsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBib3JpbmcpIHtcbiAgLypcbiAgICogQm9yaW5nXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1ib3Jpbmcge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJixcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBjb2xsYXBzZSkge1xuICAvKlxuICAgKiBDb2xsYXBzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tY29sbGFwc2Uge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xM3M7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEzcztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSAqIC0xO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMTJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyAwLjIycyBsaW5lYXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTZzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBjb2xsYXBzZS1yKSB7XG4gIC8qXG4gICAqIENvbGxhcHNlIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLWNvbGxhcHNlLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xM3M7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEzcztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSAqIC0xO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMTJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIDAuMjJzIGxpbmVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE2cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIDAuMjVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgZWxhc3RpYykge1xuICAvKlxuICAgKiBFbGFzdGljXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1lbGFzdGljIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAyO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNzVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTI1cyAwLjI3NXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNzVzIGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAkeS1vZmZzZXQ6ICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0LCAwKSByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCAqIC0yLCAwKSByb3RhdGUoLTI3MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgZWxhc3RpYy1yKSB7XG4gIC8qXG4gICAqIEVsYXN0aWMgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tZWxhc3RpYy1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAyO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNzVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTI1cyAwLjI3NXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNzVzIGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAkeS1vZmZzZXQ6ICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0LCAwKSByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQgKiAtMiwgMCkgcm90YXRlKDI3MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgZW1waGF0aWMpIHtcbiAgLypcbiAgICogRW1waGF0aWNcbiAgICovXG4gIC5oYW1idXJnZXItLWVtcGhhdGljIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksXG4gICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLFxuICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yO1xuICAgICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4xMjVzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjEyNXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBlbXBoYXRpYy1yKSB7XG4gIC8qXG4gICAqIEVtcGhhdGljIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLWVtcGhhdGljLXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksXG4gICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICByaWdodCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTIsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4xMjVzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuMTI1cyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIG1pbnVzKSB7XG4gIC8qXG4gICAqIE1pbnVzXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1taW51cyB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA4cyAwcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDhzIDBzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDBzIGxpbmVhcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wOHMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDhzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMHMgMC4wOHMgbGluZWFyO1xuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNsaWRlcikge1xuICAvKlxuICAgKiBTbGlkZXJcbiAgICovXG4gIC5oYW1idXJnZXItLXNsaWRlciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCwgMCkgcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAvIC03LCAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAtMSwgMCk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCAqIC0yLCAwKSByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNsaWRlci1yKSB7XG4gIC8qXG4gICAqIFNsaWRlciBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zbGlkZXItciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCwgMCkgcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAvIDcsICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIC0xLCAwKTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcGluKSB7XG4gIC8qXG4gICAqIFNwaW5cbiAgICovXG4gIC5oYW1idXJnZXItLXNwaW4ge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjIycyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyAwLjEycyBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4yMnMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcGluLXIpIHtcbiAgLypcbiAgICogU3BpbiBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcGluLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMjVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjIycyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIyNWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4xMnMgZWFzZS1vdXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4yMnMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcHJpbmcpIHtcbiAgLypcbiAgICogU3ByaW5nXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcHJpbmcge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTNzIGxpbmVhcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE1cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTNzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgMC4yMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcHJpbmctcikge1xuICAvKlxuICAgKiBTcHJpbmcgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3ByaW5nLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xM3M7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSAqIC0xO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwcyBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMHMgMC4yMnMgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTVzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xM3MgMC4yMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzdGFuZCkge1xuICAvKlxuICAgKiBTdGFuZFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3RhbmQge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4wNzVzIGxpbmVhcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjA3NXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMDc1cyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjE1cyBsaW5lYXI7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3RhbmQtcikge1xuICAvKlxuICAgKiBTdGFuZCBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zdGFuZC1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMDc1cyBsaW5lYXI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjA3NXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTVzIGxpbmVhcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcXVlZXplKSB7XG4gIC8qXG4gICAqIFNxdWVlemVcbiAgICovXG4gIC5oYW1idXJnZXItLXNxdWVlemUge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wNzVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMTJzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4wNzVzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjEycyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4wNzVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjA3NXMgMC4xMnMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMDc1cyAwLjEycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHZvcnRleCkge1xuICAvKlxuICAgKiBWb3J0ZXhcbiAgICovXG4gIC5oYW1idXJnZXItLXZvcnRleCB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCBvcGFjaXR5O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvdHRvbSwgdHJhbnNmb3JtO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3NjVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgdm9ydGV4LXIpIHtcbiAgLypcbiAgICogVm9ydGV4IFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLXZvcnRleC1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIG9wYWNpdHk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC03NjVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cclxuLy8gQXdlc29tZSBGb3VuZGF0aW9uIDYgQ2hlY2tib3hlcyBhbmQgcmFkaW9zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBpbXBvcnQgXCJzZXR0aW5nc1wiO1xyXG5cclxuQG1peGluIGNoZWNrYm94LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XHJcbiAgI3skcGFyZW50fSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsLFxyXG4gICN7JHBhcmVudH0gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCB7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgIH1cclxuICAgICY6OmFmdGVye1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjaGVja2JveC12YXJpYW50LWluZGV0ZXJtaW5hdGUoJHBhcmVudCwgJGNvbG9yKSB7XHJcbiAgI3skcGFyZW50fSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06aW5kZXRlcm1pbmF0ZSArIGxhYmVsLFxyXG4gICN7JHBhcmVudH0gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmluZGV0ZXJtaW5hdGUgKyBsYWJlbCB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgfVxyXG4gICAgJjo6YWZ0ZXJ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5jaGVja2JveHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gIG1hcmdpbjogMCAwICRhZmMtbWFyZ2luO1xyXG5cclxuICBsYWJlbHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgIGhlaWdodDogMjNweDtcclxuXHJcbiAgICAmOjpiZWZvcmV7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB3aWR0aDogMjFweDtcclxuICAgICAgaGVpZ2h0OiAyMXB4O1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBtYXJnaW4tbGVmdDogLTI4cHg7XHJcbiAgICAgIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMTVzIGVhc2UtaW4tb3V0LCBjb2xvciAwLjE1cyBlYXNlLWluLW91dDtcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlcntcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHRvcDogLTJweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0yN3B4O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDNweDtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG1hcmdpbjogNHB4IDRweCA0cHggLTE4cHg7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgaGVpZ2h0OiAxN3B4O1xyXG5cclxuICAgICY6Zm9jdXMgKyBsYWJlbDo6YmVmb3Jle1xyXG4gICAgICBvdXRsaW5lOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6Y2hlY2tlZCArIGxhYmVsOjphZnRlcntcclxuICAgICAgZm9udC1mYW1pbHk6ICRhZmMtZm9udC1mYW1pbHk7XHJcbiAgICAgIGNvbnRlbnQ6ICRhZmMtdmFyLWNoZWNrO1xyXG4gICAgfVxyXG5cclxuICAgICY6aW5kZXRlcm1pbmF0ZSArIGxhYmVsOjphZnRlcntcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICBoZWlnaHQ6IDNweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTU1NTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0yMi41cHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDExcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpkaXNhYmxlZCArIGxhYmVse1xyXG4gICAgICBvcGFjaXR5OiAwLjY1O1xyXG5cclxuICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmLmNoZWNrYm94LWNpcmNsZSBsYWJlbDo6YmVmb3Jle1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIH1cclxuXHJcbiAgJi5jaGVja2JveC1pbmxpbmV7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbkBpbmNsdWRlIGNoZWNrYm94LXZhcmlhbnQoJy5jaGVja2JveC5wcmltYXJ5JywgJHByaW1hcnktY29sb3IpO1xyXG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCcuY2hlY2tib3guc2Vjb25kYXJ5JywgJHNlY29uZGFyeS1jb2xvcik7XHJcbkBpbmNsdWRlIGNoZWNrYm94LXZhcmlhbnQoJy5jaGVja2JveC5hbGVydCcsICRhbGVydC1jb2xvcik7XHJcbkBpbmNsdWRlIGNoZWNrYm94LXZhcmlhbnQoJy5jaGVja2JveC53YXJuaW5nJywgJHdhcm5pbmctY29sb3IpO1xyXG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50KCcuY2hlY2tib3guc3VjY2VzcycsICRzdWNjZXNzLWNvbG9yKTtcclxuXHJcblxyXG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50LWluZGV0ZXJtaW5hdGUoJy5jaGVja2JveC5wcmltYXJ5JywgJHByaW1hcnktY29sb3IpO1xyXG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50LWluZGV0ZXJtaW5hdGUoJy5jaGVja2JveC5zZWNvbmRhcnknLCAkc2Vjb25kYXJ5LWNvbG9yKTtcclxuQGluY2x1ZGUgY2hlY2tib3gtdmFyaWFudC1pbmRldGVybWluYXRlKCcuY2hlY2tib3guYWxlcnQnLCAkYWxlcnQtY29sb3IpO1xyXG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50LWluZGV0ZXJtaW5hdGUoJy5jaGVja2JveC53YXJuaW5nJywgJHdhcm5pbmctY29sb3IpO1xyXG5AaW5jbHVkZSBjaGVja2JveC12YXJpYW50LWluZGV0ZXJtaW5hdGUoJy5jaGVja2JveC5zdWNjZXNzJywgJHN1Y2Nlc3MtY29sb3IpO1xyXG5cclxuXHJcbi8vXHJcbi8vIFJhZGlvc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuQG1peGluIHJhZGlvLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XHJcbiAgI3skcGFyZW50fSBpbnB1dFt0eXBlPVwicmFkaW9cIl17XHJcbiAgICArIGxhYmVse1xyXG4gICAgICAmOjphZnRlcntcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6Y2hlY2tlZCArIGxhYmVse1xyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xyXG4gICAgICB9XHJcbiAgICAgICY6OmFmdGVye1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnJhZGlve1xyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxuXHJcbiAgbGFiZWx7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICBoZWlnaHQ6IDIzcHg7XHJcblxyXG4gICAgJjo6YmVmb3Jle1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgd2lkdGg6IDIxcHg7XHJcbiAgICAgIGhlaWdodDogMjFweDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0yOHB4O1xyXG4gICAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMTVzIGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG5cclxuICAgICY6OmFmdGVye1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgIHdpZHRoOiAxM3B4O1xyXG4gICAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICAgIGxlZnQ6IDRweDtcclxuICAgICAgdG9wOiA0cHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjhweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtY29sb3I7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XHJcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMXMgY3ViaWMtYmV6aWVyKC44LC0wLjMzLC4yLDEuMzMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJde1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbWFyZ2luOiA0cHggNHB4IDRweCAtMThweDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDE4cHg7XHJcbiAgICBoZWlnaHQ6IDE3cHg7XHJcblxyXG4gICAgJjpmb2N1cyArIGxhYmVsOjpiZWZvcmV7XHJcbiAgICAgIG91dGxpbmU6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjpjaGVja2VkICsgbGFiZWw6OmFmdGVye1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgICY6ZGlzYWJsZWQgKyBsYWJlbHtcclxuICAgICAgb3BhY2l0eTogMC42NTtcclxuXHJcbiAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJi5yYWRpby1pbmxpbmV7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgcmFkaW8tdmFyaWFudCgnLnJhZGlvLnByaW1hcnknLCAkcHJpbWFyeS1jb2xvcik7XHJcbkBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJy5yYWRpby5zZWNvbmRhcnknLCAkc2Vjb25kYXJ5LWNvbG9yKTtcclxuQGluY2x1ZGUgcmFkaW8tdmFyaWFudCgnLnJhZGlvLmFsZXJ0JywgJGFsZXJ0LWNvbG9yKTtcclxuQGluY2x1ZGUgcmFkaW8tdmFyaWFudCgnLnJhZGlvLndhcm5pbmcnLCAkd2FybmluZy1jb2xvcik7XHJcbkBpbmNsdWRlIHJhZGlvLXZhcmlhbnQoJy5yYWRpby5zdWNjZXNzJywgJHN1Y2Nlc3MtY29sb3IpO1xyXG5cclxuXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICAmLnN0eWxlZDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xyXG4gICAgZm9udC1mYW1pbHk6ICRhZmMtZm9udC1mYW1pbHk7XHJcbiAgICBjb250ZW50OiAkYWZjLXZhci1jaGVjaztcclxuICB9XHJcbiAgLnN0eWxlZDpjaGVja2VkICsgbGFiZWwge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvL1xyXG4vLyBBd2Vzb21lIEZvdW5kYXRpb24gNiBDaGVja2JveGVzIGFuZCByYWRpb3NcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRhZmMtZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIiAhZGVmYXVsdDtcclxuJGFmYy12YXItY2hlY2s6ICAgXCJcXGYwMGNcIiAgICAgICAhZGVmYXVsdDtcclxuJGFmYy1tYXJnaW46ICAgICAgcmVtLWNhbGMoOCkgICAhZGVmYXVsdDtcclxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG5cbkBpbXBvcnQgXCJ+Zm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvdXRpbFwiO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAkYmFzZS1wYWxldHRlO1xuJGxpZ2h0LWdyYXk6ICRsaWdodC1ncmF5LWJhc2U7XG4kbWVkaXVtLWdyYXk6ICRtZWRpdW0tZ3JheS1iYXNlO1xuJGRhcmstZ3JheTogJGRhcmstZ3JheS1iYXNlO1xuJGJsYWNrOiAkYmxhY2stYmFzZTtcbiR3aGl0ZTogJHdoaXRlLWJhc2U7XG4kYm9keS1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kLWJhc2U7XG4kYm9keS1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yLWJhc2U7XG4kYm9keS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHktYmFzZTtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWw7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xuJGdsb2JhbC1yYWRpdXM6IDA7XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogJGdsb2JhbC1mbGV4Ym94LWJhc2U7XG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG87XG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnXFwwMDJGJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcMDA1Qyc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNiksIDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHhcbik7XG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcbkBpbXBvcnQgJ3VuaXQnO1xuQGltcG9ydCAndmFsdWUnO1xuQGltcG9ydCAnZGlyZWN0aW9uJztcbkBpbXBvcnQgJ2NvbG9yJztcbkBpbXBvcnQgJ3NlbGVjdG9yJztcbkBpbXBvcnQgJ2ZsZXgnO1xuQGltcG9ydCAnYnJlYWtwb2ludCc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAndHlwb2dyYXBoeSc7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIERldGVybWluZSBpZiBhIHZhbHVlIGlzIG5vdCBmYWxzZXksIGluIENTUyB0ZXJtcy4gRmFsc2V5IHZhbHVlcyBhcmUgYG51bGxgLCBgbm9uZWAsIGAwYCB3aXRoIGFueSB1bml0LCBvciBhbiBlbXB0eSBsaXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJHZhbCAtIFZhbHVlIHRvIGNoZWNrLlxuLy8vXG4vLy8gQHJldHVybnMge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbGAgaXMgbm90IGZhbHNleS5cbkBmdW5jdGlvbiBoYXMtdmFsdWUoJHZhbCkge1xuICBAaWYgJHZhbCA9PSBudWxsIG9yICR2YWwgPT0gbm9uZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkdmFsKSA9PSAwIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEBpZiB0eXBlLW9mKCR2YWwpID09ICdsaXN0JyBhbmQgbGVuZ3RoKCR2YWwpID09IDAge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8gRGV0ZXJtaW5lIGEgdG9wL3JpZ2h0L2JvdHRvbS9yaWdodCB2YWx1ZSBvbiBhIHBhZGRpbmcsIG1hcmdpbiwgZXRjLiBwcm9wZXJ0eSwgbm8gbWF0dGVyIGhvdyBtYW55IHZhbHVlcyB3ZXJlIHBhc3NlZCBpbi4gVXNlIHRoaXMgZnVuY3Rpb24gaWYgeW91IG5lZWQgdG8ga25vdyB0aGUgc3BlY2lmaWMgc2lkZSBvZiBhIHZhbHVlLCBidXQgZG9uJ3Qga25vdyBpZiB0aGUgdmFsdWUgaXMgdXNpbmcgYSBzaG9ydGhhbmQgZm9ybWF0LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fE51bWJlcn0gJHZhbCAtIFZhbHVlIHRvIGFuYWx5emUuIFNob3VsZCBiZSBhIHNob3J0aGFuZCBzaXppbmcgcHJvcGVydHksIGUuZy4gXCIxZW0gMmVtIDFlbVwiXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdG8gcmV0dXJuLiBTaG91bGQgYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIHNpbmdsZSB2YWx1ZSBiYXNlZCBvbiBgJHZhbGAgYW5kIGAkc2lkZWAuXG5AZnVuY3Rpb24gZ2V0LXNpZGUoJHZhbCwgJHNpZGUpIHtcbiAgJGxlbmd0aDogbGVuZ3RoKCR2YWwpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDEge1xuICAgIEByZXR1cm4gJHZhbDtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAyIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDMge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gNCB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDMpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDQpLFxuICAgICksICRzaWRlKTtcbiAgfVxufVxuXG4vLy8gR2l2ZW4gYm9yZGVyICR2YWwsIGZpbmQgYSBzcGVjaWZpYyBlbGVtZW50IG9mIHRoZSBib3JkZXIsIHdoaWNoIGlzICRlbGVtLiBUaGUgcG9zc2libGUgdmFsdWVzIGZvciAkZWxlbSBhcmUgd2lkdGgsIHN0eWxlLCBhbmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWwgLSBCb3JkZXIgdmFsdWUgdG8gZmluZCBhIHZhbHVlIGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gLSBCb3JkZXIgY29tcG9uZW50IHRvIGV4dHJhY3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IElmIHRoZSB2YWx1ZSBleGlzdHMsIHJldHVybnMgdGhlIHZhbHVlLiBJZiB0aGUgdmFsdWUgaXMgbm90IGluIHRoZSBib3JkZXIgZGVmaW5pdGlvbiwgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGEgMHB4IHdpZHRoLCBzb2xpZCBzdHlsZSwgb3IgYmxhY2sgYm9yZGVyLlxuQGZ1bmN0aW9uIGdldC1ib3JkZXItdmFsdWUoJHZhbCwgJGVsZW0pIHtcbiAgLy8gRmluZCB0aGUgd2lkdGgsIHN0eWxlLCBvciBjb2xvciBhbmQgcmV0dXJuIGl0XG4gIEBlYWNoICR2IGluICR2YWwge1xuICAgICR0eXBlOiB0eXBlLW9mKCR2KTtcbiAgICBAaWYgJGVsZW0gPT0gd2lkdGggYW5kICR0eXBlID09ICdudW1iZXInIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICAgIEBpZiAkZWxlbSA9PSBzdHlsZSBhbmQgJHR5cGUgPT0gJ3N0cmluZycge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gICAgQGlmICRlbGVtID09IGNvbG9yIGFuZCAkdHlwZSA9PSAnY29sb3InIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmYXVsdHNcbiAgJGRlZmF1bHRzOiAoXG4gICAgd2lkdGg6IDAsXG4gICAgc3R5bGU6IHNvbGlkLFxuICAgIGNvbG9yOiAjMDAwLFxuICApO1xuXG4gIEByZXR1cm4gbWFwLWdldCgkZGVmYXVsdHMsICRlbGVtKTtcbn1cblxuLy8vIEZpbmRzIGEgdmFsdWUgaW4gYSBuZXN0ZWQgbWFwLlxuLy8vIEBsaW5rIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9kZWVwLWdldHNldC1tYXBzLyBEZWVwIEdldC9TZXQgaW4gTWFwc1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXlzLi4uIC0gS2V5cyB0byB1c2Ugd2hlbiBsb29raW5nIGZvciBhIHZhbHVlLlxuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gbWFwLWRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG4gIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gIH1cbiAgQHJldHVybiAkbWFwO1xufVxuXG4vLy8gQ2FzdHMgYSBtYXAgaW50byBhIGxpc3QuXG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNC8wNC8yOC9jYXN0aW5nLW1hcC1pbnRvLWxpc3QvXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBwdWxsIGEgdmFsdWUgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBEZXBlbmRpbmcgb24gdGhlIGZsYWcsIHJldHVybnMgZWl0aGVyICRrZXlzIG9yICR2YWx1ZXMgb3IgYm90aC5cbkBmdW5jdGlvbiBtYXAtdG8tbGlzdCgkbWFwLCAka2VlcDogJ2JvdGgnKSB7XG4gICRrZWVwOiBpZihpbmRleCgna2V5cycgJ3ZhbHVlcycsICRrZWVwKSwgJGtlZXAsICdib3RoJyk7XG5cbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgICRrZXlzOiAoKTtcbiAgICAkdmFsdWVzOiAoKTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XG4gICAgICAka2V5czogYXBwZW5kKCRrZXlzLCAka2V5KTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdmFsKTtcbiAgICB9XG5cbiAgICBAaWYgJGtlZXAgPT0gJ2tleXMnIHtcbiAgICAgIEByZXR1cm4gJGtleXM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRrZWVwID09ICd2YWx1ZXMnIHtcbiAgICAgIEByZXR1cm4gJHZhbHVlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiB6aXAoJGtleXMsICR2YWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYodHlwZS1vZigkbWFwKSAhPSAnbGlzdCcsICgkdmFsdWUsKSwgJG1hcCk7XG5cbn1cblxuLy8vIFNhZmVseSByZXR1cm4gYSB2YWx1ZSBmcm9tIGEgbWFwLlxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcmV0cmlldmUgYSB2YWx1ZSBmcm9tLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gTmFtZSBvZiB0aGUgbWFwIGtleS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBGb3VuZCB2YWx1ZS5cbkBmdW5jdGlvbiBtYXAtc2FmZS1nZXQoJG1hcCwgJGtleSkge1xuICBAaWYgKHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcgb3IgKHR5cGUtb2YoJG1hcCkgPT0gJ2xpc3QnIGFuZCBsZW5ndGgoJG1hcCkgPT0gMCkpIHtcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnS2V5OiBgI3ska2V5fWAgaXMgbm90IGF2YWlsYWJsZSBpbiBgI3skbWFwfWAnO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdgI3skbWFwfWAgaXMgbm90IGEgdmFsaWQgbWFwJztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gb2YgJGRpclxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gVXNlZCBkaXJlY3Rpb24gYmV0d2VlbiBcInRvcFwiLCBcInJpZ2h0XCIsIFwiYm90dG9tXCIgYW5kIFwibGVmdFwiLlxuLy8vIEByZXR1cm4ge0tleXdvcmR9IE9wcG9zaXRlIGRpcmVjdGlvbiBvZiAkZGlyXG5AZnVuY3Rpb24gZGlyZWN0aW9uLW9wcG9zaXRlKFxuICAkZGlyXG4pIHtcbiAgJGRpcnM6ICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQpO1xuICAkcGxhY2U6IGluZGV4KCRkaXJzLCAkZGlyKTtcblxuICBAaWYgJHBsYWNlID09IG51bGwge1xuICAgIEBlcnJvciAnZGlyZWN0aW9uLW9wcG9zaXRlOiBJbnZhbGlkICRkaXIgcGFyYW1ldGVyLCBleHBlY3RlZCBhIHZhbHVlIGZyb20gXCIjeyRkaXJzfVwiLCBmb3VuZCBcIiN7JGRpcn1cIi4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgb3Bwb3NpdGUgcGxhY2UgaW4gYSBjaXJjbGUsIHdpdGggYSBzdGFydGluZyBpbmRleCBvZiAxXG4gICRsZW5ndGg6IGxlbmd0aCgkZGlycyk7XG4gICRkZW1pOiAkbGVuZ3RoIC8gMjtcbiAgJG9wcG9zaXRlLXBsYWNlOiAoKCRwbGFjZSArICRkZW1pIC0gMSkgJSAkbGVuZ3RoKSArIDE7XG5cbiAgQHJldHVybiBudGgoJGRpcnMsICRvcHBvc2l0ZS1wbGFjZSk7XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gXCJDb250cmFzdCByYXRpbyBvZiAjeyRiZXN0fSBvbiAjeyRiYXNlfSBpcyBwcmV0dHkgYmFkLCBqdXN0ICN7JGNvbnRyYXN0fVwiO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMiA6IHBvdygxMCwgJHByZWMpO1xuICAgICRleHBvbmVudDogcm91bmQoJGV4cG9uZW50ICogJHByZWMyKTtcbiAgICAkZGVub21pbmF0b3I6IGdjZCgkZXhwb25lbnQsICRwcmVjMik7XG4gICAgQHJldHVybiBudGgtcm9vdChwb3coJGJhc2UsICRleHBvbmVudCAvICRkZW5vbWluYXRvciksICRwcmVjMiAvICRkZW5vbWluYXRvciwgJHByZWMpO1xuICB9XG5cbiAgJHZhbHVlOiAkYmFzZTtcbiAgQGlmICRleHBvbmVudCA+IDEge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogJGJhc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRleHBvbmVudCA8IDEge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggLSRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAvICRiYXNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gbnRoLXJvb3QoJG51bSwgJG46IDIsICRwcmVjOiAxMikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvTnRoX3Jvb3QjSmF2YVNjcmlwdFxuICAkeDogMTtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRwcmVjIHtcbiAgICAkeDogMSAvICRuICogKCgkbiAtIDEpICogJHggKyAoJG51bSAvIHBvdygkeCwgJG4gLSAxKSkpO1xuICB9XG5cbiAgQHJldHVybiAkeDtcbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGhlaWdodCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHdpZHRoIGZvciBhIGdpdmVuIHJhdGlvLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgZm9yIHRoZSBoZWlnaHQgcmVsYXRpdmUgdG8gdGhlIHdpZHRoIG9mIGEgcmVzcG9uc2l2ZSBjb250YWluZXIuXG5AZnVuY3Rpb24gcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEdlbmVyYXRlcyBhIHNlbGVjdG9yIHdpdGggZXZlcnkgdGV4dCBpbnB1dCB0eXBlLiBZb3UgY2FuIGFsc28gZmlsdGVyIHRoZSBsaXN0IHRvIG9ubHkgb3V0cHV0IGEgc3Vic2V0IG9mIHRob3NlIHNlbGVjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxLZXl3b3JkfSAkdHlwZXMgWygpXSAtIEEgbGlzdCBvZiB0ZXh0IGlucHV0IHR5cGVzIHRvIHVzZS4gTGVhdmUgYmxhbmsgdG8gdXNlIGFsbCBvZiB0aGVtLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1vZGlmaWVyIFsnJ10gLSBBIG1vZGlmaWVyIHRvIGJlIGFwcGxpZWQgdG8gZWFjaCB0ZXh0IGlucHV0IHR5cGUgKGUuZy4gYSBjbGFzcyBvciBhIHBzZXVkby1jbGFzcykuIExlYXZlIGJsYW5rIHRvIGlnbm9yZS5cbkBmdW5jdGlvbiB0ZXh0LWlucHV0cygkdHlwZXM6ICgpLCAkbW9kaWZpZXI6ICcnKSB7XG4gICRyZXR1cm46ICgpO1xuXG4gICRhbGwtdHlwZXM6XG4gICAgdGV4dFxuICAgIHBhc3N3b3JkXG4gICAgZGF0ZVxuICAgIGRhdGV0aW1lXG4gICAgZGF0ZXRpbWUtbG9jYWxcbiAgICBtb250aFxuICAgIHdlZWtcbiAgICBlbWFpbFxuICAgIG51bWJlclxuICAgIHNlYXJjaFxuICAgIHRlbFxuICAgIHRpbWVcbiAgICB1cmxcbiAgICBjb2xvcjtcblxuICBAaWYgbm90IGhhcy12YWx1ZSgkdHlwZXMpIHtcbiAgICAkdHlwZXM6ICRhbGwtdHlwZXM7XG4gIH1cblxuICBAZWFjaCAkdHlwZSBpbiAkdHlwZXMge1xuICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCdbdHlwZT1cXCcjeyR0eXBlfVxcJ10jeyRtb2RpZmllcn0nKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS96dXJiL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAuMDAxMjU7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgJGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICR2YWx1ZSk7XG4gICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuXG4gICRvbGQtemYtc2l6ZTogbnVsbDtcblxuICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICB9XG4gICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIC8vIEZvciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gJHByaW50LWJyZWFrcG9pbnQsIGFkZCBwcmludCB0byB0aGUgbWVkaWEgdHlwZXNcbiAgICBAaWYgJGJwICE9IG51bGwgYW5kICRicCA8PSAkcGJwIHtcbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoJHNtYWxsOiB0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHM6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaWYgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiQtemYtZm9udC1zdGFjazogKFxuICAnZ2VvcmdpYSc6IChHZW9yZ2lhLCBcIlVSVyBCb29rbWFuIExcIiwgc2VyaWYpLFxuICAnaGVsdmV0aWNhJzogKEhlbHZldGljYSwgQXJpYWwsIFwiTmltYnVzIFNhbnMgTFwiLCBzYW5zLXNlcmlmKSxcbiAgJ2x1Y2lkYS1ncmFuZGUnOiAoXCJMdWNpZGEgR3JhbmRlXCIsIFwiTHVjaWRhIFNhbnMgVW5pY29kZVwiLCBcIkJpdHN0cmVhbSBWZXJhIFNhbnNcIiwgc2Fucy1zZXJpZiksXG4gICdtb25vc3BhY2UnOiAoXCJDb3VyaWVyIE5ld1wiLCBDb3VyaWVyLCBcIk5pbWJ1cyBTYW5zIExcIiwgbW9ub3NwYWNlKSxcbiAgJ3N5c3RlbSc6ICgtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYpLFxuICAndmVyZGFuYSc6IChWZXJkYW5hLCBHZW5ldmEsIFwiRGVqYVZ1IFNhbnNcIiwgc2Fucy1zZXJpZiksXG4pO1xuXG4vLy8gUmV0dXJuIGEgZm9udCBzdGFjayBsaXN0IGZyb20gYSBtYXAuIEVxdWl2YWxlbnQgdG8gYG1hcC1zYWZlLWdldCgkbmFtZSwgJC16Zi1mb250LXN0YWNrKWAuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0YWNrIC0gTmFtZSBvZiB0aGUgZm9udCBzdGFjay5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCBbJC16Zi1mb250LXN0YWNrXSAtIE1hcCBvZiBmb250IHN0YWNrcyB0byByZXRyaWV2ZSBhIGxpc3QgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBGb3VuZCBmb250IHN0YWNrLlxuQGZ1bmN0aW9uIGZvbnQtc3RhY2soJHN0YWNrLCAkbWFwOiAkLXpmLWZvbnQtc3RhY2spIHtcbiAgQHJldHVybiBtYXAtc2FmZS1nZXQoJG1hcCwgJHN0YWNrKTtcbn1cbiIsIi8qKlxuICogUmMgQmFzZSBGb3VuZGF0aW9uIGJ5IFJlZENhc3RvclxuICogVmVyc2lvbiAxLjUuMTFcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8qKiBJbXBvcnQgRGVidWcgKi9cbkBpbXBvcnQgXCJkZWJ1Zy9kZWJ1Z1wiO1xuXG4vKiogSW1wb3J0IGNvbXBvbmVudHMgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL3N0eWxlc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2xhc3Nlc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaWNvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25nLWZvcm1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbW1lbnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9kcm9wZG93bi1tZW51XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ncmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zb2NpYWxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2JhZGdlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90YWJsZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaHJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3VuZGVybGluZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvd2ViaWNvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZml4XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy92YXJzXCI7XG5cbi8qKiBJbXBvcnQgd29yZHByZXNzIGNvbXBvbmVudHMgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL3dwL2dsb2JhbFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvd3AvYmxvY2tzL3RhYmxlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy93cC9ibG9ja3Mvc2VwYXJhdG9yXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy93cC9ibG9ja3MvYnV0dG9uXCI7XG5cbi8qKiBJbXBvcnQgZWxlbWVudG9yIGNvbXBvbmVudHMgKi9cbkBpbXBvcnQgXCJjb21wb25lbnRzL2VsZW1lbnRvci9idXR0b25zXCI7XG5cbkBtaXhpbiByYy1iYXNlLWVsZW1lbnRvci1ldmVyeXRoaW5nIHtcbiAgQGluY2x1ZGUgcmMtYmFzZS1lbGVtZW50b3ItYnV0dG9uO1xufVxuXG5AbWl4aW4gcmMtYmFzZS1zdHlsZSgkY2xhc3NlczogdHJ1ZSwgJGtleXM6IG51bGwpIHtcblxuICBAaWYgJGNsYXNzZXMgPT0gdHJ1ZSB7XG4gICAgQGluY2x1ZGUgYmFzZS1zdHlsZS1jbGFzc2VzKHRydWUpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJGtleXMpID09IFwibGlzdFwiIHtcbiAgICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICAgIEBpbmNsdWRlIHN0eWxlLWNsYXNzZXMoJHNlbGVjdG9yOiAka2V5LCAkc2VsZWN0LWNsYXNzOiB0cnVlKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHJjLWJhc2Utc3R5bGUtZm9udCgpIHtcblxuICBAaW5jbHVkZSBiYXNlLXN0eWxlLWZvbnQtY2xhc3MoKTtcbn1cbiIsIi8vXG4vLyBEZWJ1Z1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJkZWJ1Zy1tYXBcIjtcbiIsIi8vXG4vLyBEZWJ1ZyBtYXBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qXG4jIFByaW50IE1hcFxuXG5Vc2FnZTpcblxuICAvLyBvcHRpb24gMVxuICAuZGVidWcge1xuICAgIEBpbmNsdWRlIHByaW50LW1hcCgkbWFwKTtcbiAgfVxuXG4gIC8vIG9wdGlvbiAyXG4gIEBpbmNsdWRlIHByaW50LW1hcCgkbWFwLCBcImJvZHlcIik7XG5cbiovXG5AZnVuY3Rpb24gcHJpbnQtbWFwICggJG1hcCwgJHN0cjogXCJcIiApIHtcbiAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSBtYXAge1xuICAgICAgJHN0cjogXCIjeyRzdHJ9IFxcMDAwRFxcMDAwQSAjeyRrfTogKCAje3ByaW50LW1hcCgkdil9IFxcMDAwRFxcMDAwQSApLCBcIjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHN0cjogXCIjeyRzdHJ9IFxcMDAwRFxcMDAwQSBcXDAwMDkgI3ska306ICN7JHZ9LCBcIjtcbiAgICB9XG4gIH0gLy8gZWFjaFxuICBAcmV0dXJuICRzdHI7XG59IC8vIEBmdW5jdGlvbiBwcmludC1tYXBcblxuQG1peGluIHByaW50LW1hcCAoICRtYXAsICR0YWc6IFwiJlwiICkge1xuICAjeyR0YWd9IHtcbiAgICBtYXJnaW46IDAuMjVlbTtcbiAgICBwYWRkaW5nOiAwLjI1ZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcbiAgfSAvLyB0YWdcbiAgI3skdGFnfTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgIGNvbnRlbnQ6ICR0YWc7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgYmFja2dyb3VuZDogI2VmZWZlZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfSAvLyBiZWZvcmVcbiAgI3skdGFnfTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgY29udGVudDogcHJpbnQtbWFwKCRtYXApO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgY29sb3I6ICM0NDQ7XG4gICAgYmFja2dyb3VuZDogI2VmZWZlZjtcbiAgfSAvLyBhZnRlclxufSAvLyBAbWl4aW4gcHJpbnQtbWFwXG4iLCIvL1xuLy8gVGl0bGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRiYXNlLXN0eWxlczogKCkgIWRlZmF1bHQ7XG5cbi8vIEdldCBTdHlsZXMgbWVyZ2VkIHdpdGggaGVhZGVyIHN0eWxlc1xuQGZ1bmN0aW9uIGJ1aWxkX2Jhc2Utc3R5bGVzX3dpdGhfaGVhZGVyLXN0eWxlcygkYmFzZS1zdHlsZXMsICRoZWFkZXItc3R5bGVzKSB7XG5cbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcblxuICAgICQtYmFzZS1zdHlsZXM6ICgpO1xuXG4gICAgQGlmIG1hcC1oYXMta2V5KCRiYXNlLXN0eWxlcywgJHNpemUpIHtcbiAgICAgICQtYmFzZS1zdHlsZXM6IG1hcC1nZXQoJGJhc2Utc3R5bGVzLCAkc2l6ZSk7XG4gICAgfVxuXG4gICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlcl9zdHlsZSBpbiAkaGVhZGVycyB7XG4gICAgICAkYmFzZS1zdHlsZTogbWFwLWdldCgkLWJhc2Utc3R5bGVzLCAkaGVhZGVyKTtcblxuICAgICAgQGlmIHR5cGUtb2YoJGJhc2Utc3R5bGUpID09IFwibWFwXCIge1xuICAgICAgICAkLXN0eWxlOiBudWxsO1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGJhc2Utc3R5bGUsIFwic3R5bGVcIikge1xuICAgICAgICAgICQtc3R5bGU6IG1hcC1nZXQoJGJhc2Utc3R5bGUsIFwic3R5bGVcIik7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgdHlwZS1vZigkLXN0eWxlKSAhPSBcIm1hcFwiIHtcbiAgICAgICAgICAkLXN0eWxlOiAoKTtcbiAgICAgICAgfVxuXG4gICAgICAgICQtc3R5bGU6IG1hcC1tZXJnZSgkLXN0eWxlLCAkaGVhZGVyX3N0eWxlKTtcblxuICAgICAgICAkYmFzZS1zdHlsZTogbWFwLW1lcmdlKCRiYXNlLXN0eWxlLCAoXCJzdHlsZVwiOiAkLXN0eWxlKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRiYXNlLXN0eWxlOiAoXCJzZWxlY3RvcnNcIjogKFwiI3skaGVhZGVyfVwiLCBcIi4jeyRoZWFkZXJ9XCIpLCBcInN0eWxlXCI6ICRoZWFkZXJfc3R5bGUsIFwicHJvdG9cIjogZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICAkLWJhc2Utc3R5bGVzOiBtYXAtbWVyZ2UoJC1iYXNlLXN0eWxlcywgKCRoZWFkZXI6ICRiYXNlLXN0eWxlKSk7XG4gICAgfVxuXG4gICAgJGJhc2Utc3R5bGVzOiBtYXAtbWVyZ2UoJGJhc2Utc3R5bGVzLCAoJHNpemU6ICQtYmFzZS1zdHlsZXMpKTtcbiAgfVxuICBAcmV0dXJuICRiYXNlLXN0eWxlcztcbn1cblxuJGJhc2Utc3R5bGVzOiBidWlsZF9iYXNlLXN0eWxlc193aXRoX2hlYWRlci1zdHlsZXMoJGJhc2Utc3R5bGVzLCAkaGVhZGVyLXN0eWxlcyk7XG5cbi8vIEdldCBiYXNlIHN0eWxlIGJ5IGtleSBhbmQgcHJvcGVydHlcbkBmdW5jdGlvbiBnZXQtc3R5bGUtcHJvcCgka2V5OiBcInBcIiwgJHByb3A6IFwiZm9udC1zaXplXCIsICRkZWZhdWx0OiBmYWxzZSwgJHNpemU6IHNtYWxsKSB7XG5cbiAgJC1iYXNlLXN0eWxlczogLXpmLWdldC1icC12YWwoJGJhc2Utc3R5bGVzLCAkc2l6ZSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCQtYmFzZS1zdHlsZXMsICRrZXkpIHtcbiAgICAkLWJhc2Utc3R5bGU6IG1hcF9nZXQoJC1iYXNlLXN0eWxlcywgJGtleSk7XG5cbiAgICBAaWYgbWFwLWhhcy1rZXkoJC1iYXNlLXN0eWxlLCBcInN0eWxlXCIpIHtcbiAgICAgICQtc3R5bGU6IG1hcF9nZXQoJC1iYXNlLXN0eWxlLCBcInN0eWxlXCIpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJC1zdHlsZSwgJHByb3ApIHtcbiAgICAgICAgJC1wcm9wLXZhbDogbWFwX2dldCgkLXN0eWxlLCAkcHJvcCk7XG5cbiAgICAgICAgQGlmICRwcm9wID09IFwiZm9udC1zaXplXCIgYW5kIHR5cGUtb2YoJC1wcm9wLXZhbCkgPT0gXCJudW1iZXJcIiB7XG4gICAgICAgICAgQGlmIHVuaXQoJC1wcm9wLXZhbCkgIT0gXCJweFwiIG9yIHVuaXQoJC1wcm9wLXZhbCkgIT0gXCIlXCIge1xuICAgICAgICAgICAgJC1wcm9wLXZhbDogcmVtLWNhbGMoJC1wcm9wLXZhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQHJldHVybiAkLXByb3AtdmFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGRlZmF1bHQ7XG59XG5cbi8qKiBHZXQgYmFzZSBzdHlsZSBmb250IHdlaWdodCAqL1xuQGZ1bmN0aW9uIGdldC1zdHlsZS1mb250LXdlaWdodCgkdHlwZTogXCJyZWd1bGFyXCIsICRmYW1pbHk6IG51bGwpIHtcblxuICBAaWYgJGZhbWlseSA9PSBudWxsIGFuZCBtYXAtaGFzLWtleSgkYmFzZS1mb250LCBmYW1pbHkpIHtcblxuICAgICRmYW1pbHk6IG1hcC1nZXQoJGJhc2UtZm9udCwgZmFtaWx5KTtcbiAgfVxuXG4gIEBpZiAkZmFtaWx5IHtcblxuICAgIEBlYWNoICRrZXksICQtYmFzZS1mb250IGluICRiYXNlLWZvbnQtc3RhY2sge1xuXG4gICAgICBAaWYgdHlwZS1vZigkLWJhc2UtZm9udCkgPT0gXCJtYXBcIiBhbmQgbWFwLWhhcy1rZXkoJC1iYXNlLWZvbnQsIGZhbWlseSkgYW5kIG1hcC1oYXMta2V5KCQtYmFzZS1mb250LCB0eXBlKSB7XG5cbiAgICAgICAgQGlmICR0eXBlID09IG1hcC1nZXQoJC1iYXNlLWZvbnQsIHR5cGUpIHtcblxuICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkLWJhc2UtZm9udCwgZm9udC13ZWlnaHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBudWxsO1xufVxuXG4vKiogTWl4aW4gc3R5bGUgcHJvcGVydHkgKi9cbkBtaXhpbiBzdHlsZS1wcm9wKCRrZXk6IFwicFwiLCAkcHJvcDogXCJmb250LXNpemVcIiwgJGRlZmF1bHQ6IGZhbHNlLCAkc2l6ZTogbnVsbCwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHNpemUpIHtcbiAgICAkLXZhbDogZ2V0LXN0eWxlLXByb3AoJGtleSwgJHByb3AsICRkZWZhdWx0LCAkc2l6ZSk7XG5cbiAgICBAaWYgJC12YWwge1xuICAgICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAjeyRwcm9wfTogJC12YWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgI3skcHJvcH06ICQtdmFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCh0cnVlLCAkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpIHtcblxuICAgICAgJC12YWw6IGdldC1zdHlsZS1wcm9wKCRrZXksICRwcm9wLCAkZGVmYXVsdCwgJC16Zi1zaXplKTtcblxuICAgICAgQGlmICQtdmFsIHtcbiAgICAgICAgI3skcHJvcH06ICQtdmFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiogTWl4aW4gc3R5bGUgcHJvcGVydGllcyAqL1xuQG1peGluIHN0eWxlLXByb3BzKCRrZXk6IFwicFwiLCAkc2l6ZTogbnVsbCwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG5cbiAgJHNpemVzOiAoKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkc2l6ZSkge1xuICAgICRzaXplczogKCRzaXplKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHNpemVzOiBtYXAtbWVyZ2UoJHNpemVzLCAkYnJlYWtwb2ludHMpO1xuICB9XG5cbiAgQGVhY2ggJC1zaXplLCAkLXNpemUtdmFsIGluICRzaXplcyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRiYXNlLXN0eWxlcywgJC1zaXplKSB7XG4gICAgICAkLWJhc2Utc3R5bGVzOiBtYXAtZ2V0KCRiYXNlLXN0eWxlcywgJC1zaXplKTtcbiAgICAgICQtYmFzZS1zdHlsZTogbWFwLWdldCgkLWJhc2Utc3R5bGVzLCAka2V5KTtcblxuICAgICAgQGlmIHR5cGUtb2YoJC1iYXNlLXN0eWxlKSA9PSBcIm1hcFwiIHtcbiAgICAgICAgJC1zdHlsZS1wcm9wczogbWFwLWdldCgkLWJhc2Utc3R5bGUsIFwic3R5bGVcIik7XG5cbiAgICAgICAgQGlmIHR5cGUtb2YoJC1zdHlsZS1wcm9wcykgPT0gXCJtYXBcIiB7XG4gICAgICAgICAgQGVhY2ggJC1wcm9wLCAkLXByb3AtdmFsIGluICQtc3R5bGUtcHJvcHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtcHJvcCgka2V5LCAkLXByb3AsIGZhbHNlLCAkLXNpemUsICRhdXRvLWluc2VydC1icmVha3BvaW50cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKiBNaXhpbiBzdHlsZSBmb250IHdlaWdodCAqL1xuQG1peGluIHN0eWxlLWZvbnQtd2VpZ2h0KCR0eXBlOiBcInJlZ3VsYXJcIiwgJGZhbWlseTogbnVsbCwgJGltcG9ydGFudDogZmFsc2UpIHtcblxuICAkLXdlaWdodDogZ2V0LXN0eWxlLWZvbnQtd2VpZ2h0KCR0eXBlLCAkZmFtaWx5KTtcblxuICBAaWYgJC13ZWlnaHQge1xuICAgIEBpZiAkaW1wb3J0YW50ID09IHRydWUge1xuICAgICAgZm9udC13ZWlnaHQ6ICQtd2VpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkLXdlaWdodDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHN0eWxlLWNsYXNzZXMoJHNlbGVjdG9yOiBcImgzXCIsICRwcmVmaXgtc2VsZWN0b3I6IFwiLnRleHRcIiwgJHN0eWxlLWtleXM6IG51bGwsICRzZWxlY3QtY2xhc3M6IGZhbHNlKSB7XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlLWtleXMpICE9IFwibGlzdFwiIHtcbiAgICAkc3R5bGUta2V5czogKFwiaDFcIiwgXCJoMlwiLCBcImgzXCIsIFwiaDRcIiwgXCJoNVwiLCBcImg2XCIpO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAkLWJhc2Utc3R5bGVzOiAtemYtZ2V0LWJwLXZhbCgkYmFzZS1zdHlsZXMsICQtemYtc2l6ZSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgQGVhY2ggJGtleSwgJC1iYXNlLXN0eWxlIGluICQtYmFzZS1zdHlsZXMge1xuXG4gICAgICAgIEBpZiBpbmRleCgkc3R5bGUta2V5cywgJGtleSkhPSBudWxsIHtcbiAgICAgICAgICAkLXN0eWxlLXByb3BzOiBtYXAtZ2V0KCQtYmFzZS1zdHlsZSwgXCJzdHlsZVwiKTtcblxuICAgICAgICAgIEBpZiB0eXBlLW9mKCQtc3R5bGUtcHJvcHMpID09IFwibWFwXCIge1xuICAgICAgICAgICAgJC1tYXN0ZXItc2VsZWN0b3I6IFwiJiN7JHByZWZpeC1zZWxlY3Rvcn0tI3ska2V5fVwiO1xuXG4gICAgICAgICAgICBAaWYgJHNlbGVjdC1jbGFzcyA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgJC1tYXN0ZXItc2VsZWN0b3I6ICN7JHByZWZpeC1zZWxlY3Rvcn0tI3ska2V5fS0tI3skc2VsZWN0b3J9O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyQtbWFzdGVyLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICAgICAgQGVhY2ggJC1wcm9wLCAkLXByb3AtdmFsIGluICQtc3R5bGUtcHJvcHMge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtcHJvcCgka2V5LCAkLXByb3AsIGZhbHNlLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqIE1peGluIHN0eWxlIGNsYXNzZXMgKi9cbkBtaXhpbiBiYXNlLXN0eWxlLWNsYXNzZXMoJHNlbGVjdC1jbGFzczogZmFsc2UpIHtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICQtYmFzZS1zdHlsZXM6IC16Zi1nZXQtYnAtdmFsKCRiYXNlLXN0eWxlcywgJC16Zi1zaXplKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICBAZWFjaCAka2V5LCAkLWJhc2Utc3R5bGUgaW4gJC1iYXNlLXN0eWxlcyB7XG5cbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCQtYmFzZS1zdHlsZSwgXCJwcm90b1wiKSB7XG4gICAgICAgICAgJC1wcm90bzogbWFwLWdldCgkLWJhc2Utc3R5bGUsIFwicHJvdG9cIik7XG5cbiAgICAgICAgICAkLXNlbGVjdG9yczogbnVsbDtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkLWJhc2Utc3R5bGUsIFwic2VsZWN0b3JzXCIpIHtcbiAgICAgICAgICAgICQtc2VsZWN0b3JzOiBtYXAtZ2V0KCQtYmFzZS1zdHlsZSwgXCJzZWxlY3RvcnNcIik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIHR5cGUtb2YoJC1zZWxlY3RvcnMpICE9IFwibWFwXCIgYW5kIHR5cGUtb2YoJC1zZWxlY3RvcnMpICE9IFwic3RyaW5nXCIge1xuICAgICAgICAgICAgJC1zZWxlY3RvcnM6IChcIiN7JGtleX1cIiwgXCIuI3ska2V5fVwiKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgJC1wcm90byA9PSB0cnVlIGFuZCAkc2VsZWN0LWNsYXNzID09IHRydWUge1xuICAgICAgICAgICAgI3skLXNlbGVjdG9yc30ge1xuICAgICAgICAgICAgICAmLnRleHQtYm9keSB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmLnRleHQtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJi50ZXh0LXRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHRpdGxlLWZvbnQtZmFtaWx5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAZWFjaCAkcHJvcF92YWwgaW4gKHVwcGVyY2FzZSwgaW5oZXJpdCwgbm9uZSwgY2FwaXRhbGl6ZSwgbG93ZXJjYXNlKSB7XG4gICAgICAgICAgICAgICAgJi50ZXh0LSN7JHByb3BfdmFsfSB7XG4gICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogI3skcHJvcF92YWx9ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICQtcHJvdG8gPT0gdHJ1ZSB7XG5cbiAgICAgICAgICAgICQtYm9keS1zZWxlY3RvcjogXCImLnRleHQtYm9keVwiO1xuXG4gICAgICAgICAgICBAaWYgJHNlbGVjdC1jbGFzcyA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgJC1ib2R5LXNlbGVjdG9yOiBcIi50ZXh0LWJvZHktLSN7JGtleX1cIjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skLWJvZHktc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICAgI3skLXNlbGVjdG9yc30ge1xuICAgICAgICAgICAgICAgIEBpZiAkc2VsZWN0LWNsYXNzID09IHRydWUge1xuICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJC10aXRsZS1zZWxlY3RvcjogXCImLnRleHQtdGl0bGVcIjtcblxuICAgICAgICAgICAgQGlmICRzZWxlY3QtY2xhc3MgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICQtdGl0bGUtc2VsZWN0b3I6IFwiLnRleHQtdGl0bGUtLSN7JGtleX1cIjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3skLXRpdGxlLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICAgICN7JC1zZWxlY3RvcnN9IHtcbiAgICAgICAgICAgICAgICBAaWYgJHNlbGVjdC1jbGFzcyA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdGl0bGUtZm9udC1mYW1pbHkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICR0aXRsZS1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJC11bmRlcmxpbmUtc2VsZWN0b3I6IFwiJi50ZXh0LXVuZGVybGluZVwiO1xuICAgICAgICAgICAgJC11bmRlcmxpbmUtY2VudGVyLXNlbGVjdG9yOiBcIiYudGV4dC11bmRlcmxpbmUtY2VudGVyXCI7XG5cbiAgICAgICAgICAgIEBpZiAkc2VsZWN0LWNsYXNzID09IHRydWUge1xuICAgICAgICAgICAgICAkLXVuZGVybGluZS1zZWxlY3RvcjogXCIudGV4dC11bmRlcmxpbmUtLSN7JGtleX1cIjtcbiAgICAgICAgICAgICAgJC11bmRlcmxpbmUtY2VudGVyLXNlbGVjdG9yOiBcIiYudGV4dC11bmRlcmxpbmUtY2VudGVyLS0jeyRrZXl9XCI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICN7JC11bmRlcmxpbmUtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICAgI3skLXNlbGVjdG9yc30ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXVuZGVybGluZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICN7JC11bmRlcmxpbmUtY2VudGVyLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICAgICAgI3skLXNlbGVjdG9yc30ge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtdW5kZXJsaW5lLWNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAZWFjaCAkLWNvbG9yLW5hbWUsICQtY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAgICAgICAgICAgJC1jb2xvci1zZWxlY3RvcjogXCImLnRleHQtdW5kZXJsaW5lLSN7JC1jb2xvci1uYW1lfVwiO1xuXG4gICAgICAgICAgICAgICAgQGlmICRzZWxlY3QtY2xhc3MgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgICAkLWNvbG9yLXNlbGVjdG9yOiBcIiYudGV4dC11bmRlcmxpbmUtI3skLWNvbG9yLW5hbWV9LS0jeyRrZXl9XCI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgI3skLWNvbG9yLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICAgICAgICAjeyQtc2VsZWN0b3JzfSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXVuZGVybGluZS1jb2xvcigkLWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAZWFjaCAkLXNpemUtbmFtZSwgJC1zaXplLXZhbHVlIGluIG1hcC1yZW1vdmUoJHVuZGVybGluZS1zaXplcywgZGVmYXVsdCkge1xuICAgICAgICAgICAgICAgICQtc2l6ZS1zZWxlY3RvcjogXCImLnRleHQtdW5kZXJsaW5lLSN7JC1zaXplLW5hbWV9XCI7XG5cbiAgICAgICAgICAgICAgICBAaWYgJHNlbGVjdC1jbGFzcyA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAgICQtc2l6ZS1zZWxlY3RvcjogXCImLnRleHQtdW5kZXJsaW5lLSN7JC1zaXplLW5hbWV9LS0jeyRrZXl9XCI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgI3skLXNpemUtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICAgICAgICN7JC1zZWxlY3RvcnN9IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtdW5kZXJsaW5lLXNpemUoJC1zaXplLXZhbHVlKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJC1maXQtY2VudGVyLXNlbGVjdG9yOiBcIiYudGV4dC1maXQtY2VudGVyXCI7XG5cbiAgICAgICAgICAgIEBpZiAkc2VsZWN0LWNsYXNzID09IHRydWUge1xuICAgICAgICAgICAgICAkLWZpdC1jZW50ZXItc2VsZWN0b3I6IFwiLnRleHQtZml0LWNlbnRlci0tI3ska2V5fVwiO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyQtZml0LWNlbnRlci1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgICAjeyQtc2VsZWN0b3JzfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtZml0LWNlbnRlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAkLWhyLXNlbGVjdG9yOiBcIiYudGV4dC1oclwiO1xuXG4gICAgICAgICAgICBAaWYgJHNlbGVjdC1jbGFzcyA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgJC1oci1zZWxlY3RvcjogXCIudGV4dC1oci0tI3ska2V5fVwiO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyQtaHItc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICAgI3skLXNlbGVjdG9yc30ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLWhyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICQtaHItbWFyZ2luLXNlbGVjdG9yOiBcIiYudGV4dC1oci1tYXJnaW5cIjtcblxuICAgICAgICAgICAgQGlmICRzZWxlY3QtY2xhc3MgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICQtaHItbWFyZ2luLXNlbGVjdG9yOiBcIi50ZXh0LWhyLW1hcmdpbi0tI3ska2V5fVwiO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyQtaHItbWFyZ2luLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICAgICN7JC1zZWxlY3RvcnN9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdHlsZS1oci1tYXJnaW47XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDQge1xuICAgICAgICAgICAgICAgICYudGV4dC1oci1tYXJnaW4tI3skaX14LS0jeyRrZXl9IHtcbiAgICAgICAgICAgICAgICAgICN7JC1zZWxlY3RvcnN9IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtaHItbWFyZ2luKCRpKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJC1oci1wYWRkaW5nLXNlbGVjdG9yOiBcIiYudGV4dC1oci1wYWRkaW5nXCI7XG5cbiAgICAgICAgICAgIEBpZiAkc2VsZWN0LWNsYXNzID09IHRydWUge1xuICAgICAgICAgICAgICAkLWhyLXBhZGRpbmctc2VsZWN0b3I6IFwiLnRleHQtaHItcGFkZGluZy0tI3ska2V5fVwiO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjeyQtaHItcGFkZGluZy1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgICAjeyQtc2VsZWN0b3JzfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtaHItcGFkZGluZztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggNCB7XG4gICAgICAgICAgICAgICAgJi50ZXh0LWhyLXBhZGRpbmctI3skaX14LS0jeyRrZXl9IHtcbiAgICAgICAgICAgICAgICAgICN7JC1zZWxlY3RvcnN9IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc3R5bGUtaHItcGFkZGluZygkaSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBlYWNoICRwcm9wX3ZhbCBpbiAodXBwZXJjYXNlLCBpbmhlcml0LCBub25lLCBjYXBpdGFsaXplLCBsb3dlcmNhc2UpIHtcbiAgICAgICAgICAgICAgJC1tYXN0ZXItc2VsZWN0b3I6IFwiJi50ZXh0LSN7JHByb3BfdmFsfVwiO1xuXG4gICAgICAgICAgICAgIEBpZiAkc2VsZWN0LWNsYXNzID09IHRydWUge1xuICAgICAgICAgICAgICAgICQtbWFzdGVyLXNlbGVjdG9yOiBcIi50ZXh0LSN7JHByb3BfdmFsfS0tI3ska2V5fVwiO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgI3skLW1hc3Rlci1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgICAgICN7JC1zZWxlY3RvcnN9IHtcbiAgICAgICAgICAgICAgICAgIEBpZiAkc2VsZWN0LWNsYXNzID09IHRydWUge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogI3skcHJvcF92YWx9ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAjeyRwcm9wX3ZhbH07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICQtZm9udHM6ICgpO1xuXG4gICAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGJhc2UtZm9udCwgdHlwZSkgYW5kIG1hcC1oYXMta2V5KCRiYXNlLWZvbnQsIGZhbWlseSkge1xuICAgICAgICAgICAgICAkLWZvbnRzOiBtYXAtbWVyZ2UoJC1mb250cywgKFwiYm9keVwiOiAkYmFzZS1mb250KSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkYmFzZS1mb250LXRpdGxlLCB0eXBlKSBhbmQgbWFwLWhhcy1rZXkoJGJhc2UtZm9udC10aXRsZSwgZmFtaWx5KSB7XG4gICAgICAgICAgICAgICQtZm9udHM6IG1hcC1tZXJnZSgkLWZvbnRzLCAoXCJ0aXRsZVwiOiAkYmFzZS1mb250LXRpdGxlKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBlYWNoICRrZXktYmFzZS1mb250LCAkLWJhc2UtZm9udCBpbiAkYmFzZS1mb250LXN0YWNrIHtcblxuICAgICAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJC1iYXNlLWZvbnQsIHR5cGUpIGFuZCBtYXAtaGFzLWtleSgkLWJhc2UtZm9udCwgZmFtaWx5KSB7XG4gICAgICAgICAgICAgICAgJC1mYW1pbHk6IG1hcC1nZXQoJC1iYXNlLWZvbnQsIGZhbWlseSk7XG4gICAgICAgICAgICAgICAgJC10eXBlOiBtYXAtZ2V0KCQtYmFzZS1mb250LCB0eXBlKTtcblxuICAgICAgICAgICAgICAgIEBlYWNoICQta2V5LWZvbnQsICQtZm9udCBpbiAkLWZvbnRzIHtcbiAgICAgICAgICAgICAgICAgIEBpZiAkLWZhbWlseSA9PSBtYXAtZ2V0KCQtZm9udCwgZmFtaWx5KSB7XG4gICAgICAgICAgICAgICAgICAgICQtZm9yOiBtYXAtZ2V0KCQtZm9udCwgZm9yKTtcblxuICAgICAgICAgICAgICAgICAgICAkLW1hc3Rlci1zZWxlY3RvcjogXCImLnRleHQtI3skLWtleS1mb250fS0jeyQtdHlwZX1cIjtcblxuICAgICAgICAgICAgICAgICAgICBAaWYgJHNlbGVjdC1jbGFzcyA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAkLW1hc3Rlci1zZWxlY3RvcjogXCIudGV4dC0jeyQta2V5LWZvbnR9LSN7JC10eXBlfS0tI3ska2V5fVwiO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgI3skLW1hc3Rlci1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgICAgICAgICAgICN7JC1zZWxlY3RvcnN9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkc2VsZWN0LWNsYXNzID09IHRydWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogbWFwLWdldCgkLWZvbnQsIGZvbnQtZmFtaWx5KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdHlsZS1mb250LXdlaWdodCgkLXR5cGUsICQtZmFtaWx5LCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJC1mb250LCBmb250LWZhbWlseSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLWZvbnQtd2VpZ2h0KCQtdHlwZSwgJC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYmFzZS1zdHlsZS1mb250LWNsYXNzKCkge1xuICBAZWFjaCAka2V5LWJhc2UtZm9udCwgJC1iYXNlLWZvbnQgaW4gJGJhc2UtZm9udC1zdGFjayB7XG5cbiAgICBAaWYgbWFwLWhhcy1rZXkoJC1iYXNlLWZvbnQsIHR5cGUpIGFuZCBtYXAtaGFzLWtleSgkLWJhc2UtZm9udCwgZmFtaWx5KSB7XG4gICAgICAkLWZhbWlseTogbWFwLWdldCgkLWJhc2UtZm9udCwgZmFtaWx5KTtcbiAgICAgICQtdHlwZTogbWFwLWdldCgkLWJhc2UtZm9udCwgdHlwZSk7XG5cbiAgICAgICQtZm9udHM6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJGJhc2UtZm9udCwgdHlwZSkgYW5kIG1hcC1oYXMta2V5KCRiYXNlLWZvbnQsIGZhbWlseSkge1xuICAgICAgICAkLWZvbnRzOiBtYXAtbWVyZ2UoJC1mb250cywgKFwiYm9keVwiOiAkYmFzZS1mb250KSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkYmFzZS1mb250LXRpdGxlLCB0eXBlKSBhbmQgbWFwLWhhcy1rZXkoJGJhc2UtZm9udC10aXRsZSwgZmFtaWx5KSB7XG4gICAgICAgICQtZm9udHM6IG1hcC1tZXJnZSgkLWZvbnRzLCAoXCJ0aXRsZVwiOiAkYmFzZS1mb250LXRpdGxlKSk7XG4gICAgICB9XG5cbiAgICAgIEBlYWNoICQta2V5LWZvbnQsICQtZm9udCBpbiAkLWZvbnRzIHtcbiAgICAgICAgQGlmICQtZmFtaWx5ID09IG1hcC1nZXQoJC1mb250LCBmYW1pbHkpIHtcbiAgICAgICAgICAkLWZvcjogbWFwLWdldCgkLWZvbnQsIGZvcik7XG5cbiAgICAgICAgICAudGV4dC0jeyQta2V5LWZvbnR9LSN7JC10eXBlfSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogbWFwLWdldCgkLWZvbnQsIGZvbnQtZmFtaWx5KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLWZvbnQtd2VpZ2h0KCQtdHlwZSwgJC1mYW1pbHksIGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgKG1hcC1oYXMta2V5KCRiYXNlLWZvbnQsIGZhbWlseSkpIHtcbiAgICAkLWJhc2UtZm9udC1mYW1pbGx5OiBtYXAtZ2V0KCRiYXNlLWZvbnQsIGZhbWlseSk7XG5cbiAgICBAZWFjaCAka2V5LWJhc2UtZm9udCwgJC1iYXNlLWZvbnQgaW4gJGJhc2UtZm9udC1zdGFjayB7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkLWJhc2UtZm9udCwgdHlwZSkgYW5kIG1hcC1oYXMta2V5KCQtYmFzZS1mb250LCBmYW1pbHkpIHtcbiAgICAgICAgJC1mYW1pbHk6IG1hcC1nZXQoJC1iYXNlLWZvbnQsIGZhbWlseSk7XG4gICAgICAgICQtdHlwZTogbWFwLWdldCgkLWJhc2UtZm9udCwgdHlwZSk7XG5cbiAgICAgICAgQGlmICgkLWZhbWlseSA9PSAkLWJhc2UtZm9udC1mYW1pbGx5KSB7XG4gICAgICAgICAgLnRleHQtd2VpZ2h0LSN7JC10eXBlfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdHlsZS1mb250LXdlaWdodCgkLXR5cGUsICQtZmFtaWx5LCB0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBWaXNpYmlsaXR5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKiBSZXNwb25zaXZlIG5vIGphdmFzY3JpcHQgKi9cbi5uby1qcyB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIC5ub2pzLWZvci0jeyRzaXplfSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgfVxuXG4gICAgLm5vanMtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ2xhc3Nlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8tLSBDbGVhcmZpeFxuLmNmIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vLS0gQWJzb2x1dGUgQ2VudGVyXG4uYWJzb2x1dGUtY2VudGVyIHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xufVxuXG4vLy0tIEFic29sdXRlIEJvdHRvbVxuLmFic29sdXRlLWJvdHRvbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xufVxuXG4vLy0tIEFic29sdXRlIFRvcFxuLmFic29sdXRlLXRvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xufVxuXG4vLy0tIEFic29sdXRlIEJvdHRvbVxuLmFic29sdXRlLWxlZnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG59XG5cbi8vLS0gQWJzb2x1dGUgVG9wXG4uYWJzb2x1dGUtcmlnaHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xufVxuXG4vLy0tIFJlbGF0aXZlIENvbnRhaW5lclxuLnJlbGF0aXZlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8tLSBIb3Jpem9udGFsIENlbnRlclxuLmhvcml6b250YWwtY2VudGVyIHtcbiAgQGluY2x1ZGUgaG9yaXpvbnRhbC1jZW50ZXI7XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAmLnZlcnRpY2FsLWNlbnRlci1zbWFsbC1vbmx5IHtcbiAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIH1cblxuICAmLmhvcml6b250YWwtY2VudGVyLXNtYWxsLW9ubHkge1xuICAgIEBpbmNsdWRlIGhvcml6b250YWwtY2VudGVyO1xuICB9XG59XG5cbi8vLS0gVmVydGljYWwgQ2VudGVyXG4udmVydGljYWwtY2VudGVyIHtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAmLnZlcnRpY2FsLWNlbnRlci1tZWRpdW0ge1xuICAgIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgfVxuXG4gICYuaG9yaXpvbnRhbC1jZW50ZXItbWVkaXVtIHtcbiAgICBAaW5jbHVkZSBob3Jpem9udGFsLWNlbnRlcjtcbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICYudmVydGljYWwtY2VudGVyLWxhcmdlIHtcbiAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIH1cblxuICAmLmhvcml6b250YWwtY2VudGVyLWxhcmdlIHtcbiAgICBAaW5jbHVkZSBob3Jpem9udGFsLWNlbnRlcjtcbiAgfVxufVxuXG4vLy0tIEZpeGVkXG4uZml4ZWQtdG9wIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAsIG51bGwsIG51bGwsIG51bGwpO1xuICB6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg7XG59XG5cbi5maXhlZC1ib3R0b20ge1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCwgbnVsbCwgMCwgbnVsbCk7XG4gIHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgLmZpeGVkLXRvcC1tZWRpdW0ge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCBudWxsLCBudWxsLCBudWxsKTtcbiAgICB6LWluZGV4OiAkcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg7XG4gIH1cblxuICAuZml4ZWQtYm90dG9tLW1lZGl1bSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIG51bGwsIG51bGwsIDAsIG51bGwpO1xuICAgIHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDtcbiAgfVxufVxuXG4vLy0tIE1pbiBoZWlnaHQgNTAsIDY1LCA3NSwgODUsIDEwMCB2aWV3cG9ydC5cbkBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuXG4gIEBlYWNoICQtaGVpZ2h0IGluICgyNSwgNTAsIDY1LCA3NSwgODUsIDEwMCkge1xuICAgIC4jeyQtemYtc2l6ZX0tbWluLWhlaWdodC0jeyQtaGVpZ2h0fSB7XG4gICAgICBtaW4taGVpZ2h0OiAjeyQtaGVpZ2h0fXZoO1xuICAgIH1cbiAgfVxufVxuXG4vL0ZpdCBBbGlnblxuLmZpdC1jZW50ZXIge1xuICBAaW5jbHVkZSBzdHlsZS1maXQtY2VudGVyO1xufVxuXG4vL05vIE1hcmdpbiBib3R0b21cbi5uby1tYXJnaW4ge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vTm8gUGFkZGluZyBCb3R0b21cbi5uby1wYWRkaW5nIHtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLy9MaXN0XG51bCxcbm9sIHtcbiAgJi5saXN0LWNpcmNsZSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7XG4gIH1cblxuICAmLmxpc3QtZGlzYyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICB9XG5cbiAgJi5saXN0LXNxdWFyZSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7XG4gIH1cblxuICAmLmxpc3QtZGVjaW1hbCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICB9XG5cbiAgJi5saXN0LXJvbWFuIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLXJvbWFuO1xuICB9XG5cbiAgJi5saXN0LWFscGhhIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhO1xuICB9XG5cbiAgLy9Qb3NpdGlvblxuICAmLmxpc3QtaW5zaWRlIHtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gIH1cblxuICAmLmxpc3Qtb3V0c2lkZSB7XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiAgfVxuXG4gIC8vRGVmYXVsdFxuICAmLmxpc3QtZGVmYXVsdCB7XG4gICAgbGlzdC1zdHlsZTogaW5pdGlhbDtcbiAgfVxuXG4gIC8vTm9uZVxuICAmLmxpc3Qtbm9uZSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuXG4udGV4dC1hbGlnbi1taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udGV4dC1hbGlnbi1ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4udGV4dC1hbGlnbi10b3Age1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuIiwiLy9cbi8vIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImljb25zL3BhdGhcIjtcbkBpbXBvcnQgXCJpY29ucy9jb3JlXCI7XG5AaW1wb3J0IFwiaWNvbnMvaGVscGVyXCI7XG5AaW1wb3J0IFwiaWNvbnMvaWNvbnNcIjtcbiIsIkBmb250LWZhY2Uge1xuXG4gIGZvbnQtZmFtaWx5OiBcIiN7JGZpLWZvbnQtZmFtaWx5fVwiO1xuICBzcmM6XG4gICAgdXJsKFwiI3skZmktZm9udC1wYXRofS8jeyRmaS1mb250LWZhbWlseX0ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHVybChcIiN7JGZpLWZvbnQtcGF0aH0vI3skZmktZm9udC1mYW1pbHl9LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICB1cmwoXCIjeyRmaS1mb250LXBhdGh9LyN7JGZpLWZvbnQtZmFtaWx5fS5zdmcjI3skZmktZm9udC1mYW1pbHl9XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuIiwiJGljb24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuW2NsYXNzXj1cIiN7JGZpLWZvbnQtcHJlZml4fS1cIl0sXG5bY2xhc3MqPVwiICN7JGZpLWZvbnQtcHJlZml4fS1cIl0ge1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRmaS1mb250LWZhbWlseTtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgLyogU3VwcG9ydCB3ZWJpY29uIHNpemUgPT09PT09PT09PT0gKi9cbiAgd2lkdGg6ICRmaS1mb250LXNpemUtYmFzZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcblxuICAvLyBDb2xvcnNcbiAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkaWNvbi1wYWxldHRlIHtcbiAgICAmLiN7JG5hbWV9IHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCJcbi8qIEhFTFBFUiBDTEFTU1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogRkkgYmFzZWQgY2xhc3NlcyAqL1xuXG4vKiEgTW9kaWZpZWQgZnJvbSBmb250LWF3ZXNvbWUgaGVscGVyIENTUyBjbGFzc2VzIC0gUElYRURFTlxuICogISBNb2RpZmllZCBmcm9tIFBJWEVERU4gaGVscGVyIENTUyBjbGFzc2VzIC0gUkMtQkFTRS1JQ09OXG4gKiAgRm9udCBBd2Vzb21lIDQuMC4zIGJ5IEBkYXZlZ2FuZHkgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8gLSBAZm9udGF3ZXNvbWVcbiAqICBMaWNlbnNlIC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvL2xpY2Vuc2UgKENTUzogTUlUIExpY2Vuc2UpXG4gKi9cblxuLyogbWFrZXMgdGhlIGZvbnQgMzMlIGxhcmdlciByZWxhdGl2ZSB0byB0aGUgaWNvbiBjb250YWluZXIgKi9cbi5maS1sZyB7XG5cbiAgZm9udC1zaXplOiAkZmktZm9udC1zaXplLWJhc2UgKiAxLjMzO1xuICBsaW5lLWhlaWdodDogMC43NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTE1JTtcbn1cblxuLmZpLTJ4IHtcblxuICBmb250LXNpemU6IDIgKiAkZmktZm9udC1zaXplLWJhc2U7XG59XG5cbi5maS0zeCB7XG5cbiAgZm9udC1zaXplOiAzICogJGZpLWZvbnQtc2l6ZS1iYXNlO1xufVxuXG4uZmktNHgge1xuXG4gIGZvbnQtc2l6ZTogNCAqICRmaS1mb250LXNpemUtYmFzZTtcbn1cblxuLmZpLTV4IHtcblxuICBmb250LXNpemU6IDUgKiAkZmktZm9udC1zaXplLWJhc2U7XG59XG5cbi5maS1mdyB7XG5cbiAgd2lkdGg6IDEuMjg1NzE0Mjg1NzE0Mjg1OGVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5maS11bCB7XG5cbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogMi4xNDI4NTcxNDI4NTcxNDNlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICYgPiBsaSB7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuLmZpLWxpIHtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0yLjE0Mjg1NzE0Mjg1NzE0M2VtO1xuICB3aWR0aDogMi4xNDI4NTcxNDI4NTcxNDNlbTtcbiAgdG9wOiAwLjE0Mjg1NzE0Mjg1NzE0Mjg1ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmLmZpLWxnIHtcblxuICAgIGxlZnQ6IC0xLjg1NzE0Mjg1NzE0Mjg1NzJlbTtcbiAgfVxufVxuXG4uZmktYm9yZGVyIHtcblxuICBwYWRkaW5nOiAwLjJlbSAwLjI1ZW0gMC4xNWVtO1xuICBib3JkZXI6IHNvbGlkIDAuMDhlbSAjZWFlYWVhO1xuICBib3JkZXItcmFkaXVzOiAwLjFlbTtcbn1cblxuLnB1bGwtcmlnaHQge1xuXG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmZpIHtcbiAgJi5wdWxsLWxlZnQge1xuXG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjNlbTtcbiAgICBtYXJnaW4tbGVmdDogMC4zZW07XG4gIH1cblxuICAmLndlYmljb24ge1xuICAgIHdpZHRoOiAxZW07XG4gIH1cbn1cblxuLmZpLXNwaW4ge1xuXG4gIGFuaW1hdGlvbjogc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG59XG5cbi5maS1zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcblxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cblxuLmZpLXJvdGF0ZS05MCB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTEpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5maS1yb3RhdGUtMTgwIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249Mik7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5maS1yb3RhdGUtMjcwIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lICovXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249Myk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XG59XG5cbi5maS1mbGlwLWhvcml6b250YWwge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgKi9cbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0wLCBtaXJyb3I9MSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xufVxuXG4uZmktZmxpcC12ZXJ0aWNhbCB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTIsIG1pcnJvcj0xKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG59XG5cbi5maS1zdGFjayB7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyZW07XG4gIGhlaWdodDogMmVtO1xuICBsaW5lLWhlaWdodDogMmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uZmktc3RhY2stMXgsXG4uZmktc3RhY2stMngge1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZpLXN0YWNrLTF4IHtcblxuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLmZpLXN0YWNrLTJ4IHtcblxuICBmb250LXNpemU6IDJlbTtcbn1cblxuLmZpLWludmVyc2Uge1xuXG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiBDdXN0b20gY2xhc3NlcyAvIG1vZHMgLSBQSVhFREVOICovXG4uZmktdmEge1xuXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLmZpLWFkZC11c2VyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItYWRkLXVzZXI7XG4gIH1cbn1cbi5maS1haXJwbGF5IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItYWlycGxheTtcbiAgfVxufVxuLmZpLWFsYXJtIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItYWxhcm07XG4gIH1cbn1cbi5maS1hbGJ1bSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWFsYnVtO1xuICB9XG59XG4uZmktYWxidW1zIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItYWxidW1zO1xuICB9XG59XG4uZmktYW1hem9uIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItYW1hem9uO1xuICB9XG59XG4uZmktYW5jaG9yIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItYW5jaG9yO1xuICB9XG59XG4uZmktYW5nbGUtZG93biB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWFuZ2xlLWRvd247XG4gIH1cbn1cbi5maS1hbmdsZS1kb3duLWNpcmNsZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWFuZ2xlLWRvd24tY2lyY2xlO1xuICB9XG59XG4uZmktYW5nbGUtbGVmdCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWFuZ2xlLWxlZnQ7XG4gIH1cbn1cbi5maS1hbmdsZS1sZWZ0LWNpcmNsZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWFuZ2xlLWxlZnQtY2lyY2xlO1xuICB9XG59XG4uZmktYW5nbGUtcmlnaHQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1hbmdsZS1yaWdodDtcbiAgfVxufVxuLmZpLWFuZ2xlLXJpZ2h0LWNpcmNsZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWFuZ2xlLXJpZ2h0LWNpcmNsZTtcbiAgfVxufVxuLmZpLWFuZ2xlLXVwIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItYW5nbGUtdXA7XG4gIH1cbn1cbi5maS1hbmdsZS11cC1jaXJjbGUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1hbmdsZS11cC1jaXJjbGU7XG4gIH1cbn1cbi5maS1hcmMge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1hcmM7XG4gIH1cbn1cbi5maS1hdHRlbnRpb24ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1hdHRlbnRpb247XG4gIH1cbn1cbi5maS1iYWNrIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItYmFjaztcbiAgfVxufVxuLmZpLWJhY2stMiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWJhY2stMjtcbiAgfVxufVxuLmZpLWJhbGwge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1iYWxsO1xuICB9XG59XG4uZmktYmFuIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItYmFuO1xuICB9XG59XG4uZmktYmFuZGFpZCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWJhbmRhaWQ7XG4gIH1cbn1cbi5maS1iYXR0ZXJ5IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItYmF0dGVyeTtcbiAgfVxufVxuLmZpLWJlbGwge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1iZWxsO1xuICB9XG59XG4uZmktYmljeWNsZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWJpY3ljbGU7XG4gIH1cbn1cbi5maS1ibHVldG9vdGgge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1ibHVldG9vdGg7XG4gIH1cbn1cbi5maS1ib29rbWFya3Mge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1ib29rbWFya3M7XG4gIH1cbn1cbi5maS1ib3R0b20tYXJyb3cge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1ib3R0b20tYXJyb3c7XG4gIH1cbn1cbi5maS1ib3gxIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItYm94MTtcbiAgfVxufVxuLmZpLWJveDIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1ib3gyO1xuICB9XG59XG4uZmktYnJvd3NlciB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWJyb3dzZXI7XG4gIH1cbn1cbi5maS1jYWxjdWxhdG9yIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItY2FsY3VsYXRvcjtcbiAgfVxufVxuLmZpLWNhbGwge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1jYWxsO1xuICB9XG59XG4uZmktY2FtZXJhIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItY2FtZXJhO1xuICB9XG59XG4uZmktY2FyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItY2FyO1xuICB9XG59XG4uZmktY2FydCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWNhcnQ7XG4gIH1cbn1cbi5maS1jYXJ0LWFkZCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWNhcnQtYWRkO1xuICB9XG59XG4uZmktY2FydC1lbXB0eSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWNhcnQtZW1wdHk7XG4gIH1cbn1cbi5maS1jYXJ0LWZhc3Qge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1jYXJ0LWZhc3Q7XG4gIH1cbn1cbi5maS1jYXJ0LWhhbmQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1jYXJ0LWhhbmQ7XG4gIH1cbn1cbi5maS1jYXJ0LW1vdmUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1jYXJ0LW1vdmU7XG4gIH1cbn1cbi5maS1jYXJ0LW5ldyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWNhcnQtbmV3O1xuICB9XG59XG4uZmktY2FzaCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWNhc2g7XG4gIH1cbn1cbi5maS1jaGF0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItY2hhdDtcbiAgfVxufVxuLmZpLWNoZWNrIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItY2hlY2s7XG4gIH1cbn1cbi5maS1jaGVjay0yIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItY2hlY2stMjtcbiAgfVxufVxuLmZpLWNoZWNrb3V0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItY2hlY2tvdXQ7XG4gIH1cbn1cbi5maS1jaGVjay1zdHJvbmcge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1jaGVjay1zdHJvbmc7XG4gIH1cbn1cbi5maS1jbG9jayB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWNsb2NrO1xuICB9XG59XG4uZmktY2xvc2Uge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1jbG9zZTtcbiAgfVxufVxuLmZpLWNsb3NlLWNpcmNsZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWNsb3NlLWNpcmNsZTtcbiAgfVxufVxuLmZpLWNsb3VkIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItY2xvdWQ7XG4gIH1cbn1cbi5maS1jbG91ZC1kb3dubG9hZCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWNsb3VkLWRvd25sb2FkO1xuICB9XG59XG4uZmktY2xvdWQtdXBsb2FkIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItY2xvdWQtdXBsb2FkO1xuICB9XG59XG4uZmktY29mZmVlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItY29mZmVlO1xuICB9XG59XG4uZmktY29tbWVudCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWNvbW1lbnQ7XG4gIH1cbn1cbi5maS1jb21wYXNzIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItY29tcGFzcztcbiAgfVxufVxuLmZpLWNvbmZpZyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWNvbmZpZztcbiAgfVxufVxuLmZpLWNvcHktZmlsZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWNvcHktZmlsZTtcbiAgfVxufVxuLmZpLWNyZWRpdCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWNyZWRpdDtcbiAgfVxufVxuLmZpLWNyb3Age1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1jcm9wO1xuICB9XG59XG4uZmktY3VsdHVyZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWN1bHR1cmU7XG4gIH1cbn1cbi5maS1jdXAge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1jdXA7XG4gIH1cbn1cbi5maS1jdXN0b20tcHJvZHVjdCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWN1c3RvbS1wcm9kdWN0O1xuICB9XG59XG4uZmktZGF0ZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWRhdGU7XG4gIH1cbn1cbi5maS1kZWxldGUtdXNlciB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWRlbGV0ZS11c2VyO1xuICB9XG59XG4uZmktZGlhbW9uZCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWRpYW1vbmQ7XG4gIH1cbn1cbi5maS1kaXNrIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItZGlzaztcbiAgfVxufVxuLmZpLWRpc2tldHRlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItZGlza2V0dGU7XG4gIH1cbn1cbi5maS1kaXNwbGF5MSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWRpc3BsYXkxO1xuICB9XG59XG4uZmktZGlzcGxheTIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1kaXNwbGF5MjtcbiAgfVxufVxuLmZpLWRvb3ItbG9jayB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWRvb3ItbG9jaztcbiAgfVxufVxuLmZpLWRvd24tYXJyb3ctMiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWRvd24tYXJyb3ctMjtcbiAgfVxufVxuLmZpLWRvd24tYXJyb3ctMyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWRvd24tYXJyb3ctMztcbiAgfVxufVxuLmZpLWRvd25sb2FkIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItZG93bmxvYWQ7XG4gIH1cbn1cbi5maS1kcmF3ZXIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1kcmF3ZXI7XG4gIH1cbn1cbi5maS1kcm9wIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItZHJvcDtcbiAgfVxufVxuLmZpLWVkaXQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1lZGl0O1xuICB9XG59XG4uZmktZW1haWwge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1lbWFpbDtcbiAgfVxufVxuLmZpLWVudmVsb3BlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItZW52ZWxvcGU7XG4gIH1cbn1cbi5maS1ldHN5IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItZXRzeTtcbiAgfVxufVxuLmZpLWV4YXBuZDIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1leGFwbmQyO1xuICB9XG59XG4uZmktZXhwYW5kMSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWV4cGFuZDE7XG4gIH1cbn1cbi5maS1leWVkcm9wcGVyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItZXllZHJvcHBlcjtcbiAgfVxufVxuLmZpLWZhY2Vib29rIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItZmFjZWJvb2s7XG4gIH1cbn1cbi5maS1mYWNlYm9vay0yIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItZmFjZWJvb2stMjtcbiAgfVxufVxuLmZpLWZhdm9yaXRlcyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWZhdm9yaXRlcztcbiAgfVxufVxuLmZpLWZhdm9yaXRlcy1hZGRlZCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWZhdm9yaXRlcy1hZGRlZDtcbiAgfVxufVxuLmZpLWZhdm9yaXRlcy1saXN0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItZmF2b3JpdGVzLWxpc3Q7XG4gIH1cbn1cbi5maS1mZW1hbGUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1mZW1hbGU7XG4gIH1cbn1cbi5maS1maWxlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItZmlsZTtcbiAgfVxufVxuLmZpLWZpbG0ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1maWxtO1xuICB9XG59XG4uZmktZmlsdGVyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItZmlsdGVyO1xuICB9XG59XG4uZmktZmxhZyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWZsYWc7XG4gIH1cbn1cbi5maS1mb2xkZXIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1mb2xkZXI7XG4gIH1cbn1cbi5maS1naWZ0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItZ2lmdDtcbiAgfVxufVxuLmZpLWdsYXNzZXMge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1nbGFzc2VzO1xuICB9XG59XG4uZmktZ2xlYW0ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1nbGVhbTtcbiAgfVxufVxuLmZpLWdsb2JhbCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWdsb2JhbDtcbiAgfVxufVxuLmZpLWdyYXBoIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItZ3JhcGg7XG4gIH1cbn1cbi5maS1ncmFwaDEge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1ncmFwaDE7XG4gIH1cbn1cbi5maS1ncmFwaDIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1ncmFwaDI7XG4gIH1cbn1cbi5maS1ncmFwaDMge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1ncmFwaDM7XG4gIH1cbn1cbi5maS1neW0ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1neW07XG4gIH1cbn1cbi5maS1oYW1tZXIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1oYW1tZXI7XG4gIH1cbn1cbi5maS1oZWFkcGhvbmVzIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItaGVhZHBob25lcztcbiAgfVxufVxuLmZpLWhlbG0ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1oZWxtO1xuICB9XG59XG4uZmktaGVscDEge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1oZWxwMTtcbiAgfVxufVxuLmZpLWhlbHAyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItaGVscDI7XG4gIH1cbn1cbi5maS1ob21lIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItaG9tZTtcbiAgfVxufVxuLmZpLWhvbWUtbmV3IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItaG9tZS1uZXc7XG4gIH1cbn1cbi5maS1ob3VyZ2xhc3Mge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1ob3VyZ2xhc3M7XG4gIH1cbn1cbi5maS1pZCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWlkO1xuICB9XG59XG4uZmktaWRlYSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWlkZWE7XG4gIH1cbn1cbi5maS1pZGVhLWRpeSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWlkZWEtZGl5O1xuICB9XG59XG4uZmktaW5mbyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWluZm87XG4gIH1cbn1cbi5maS1pbnN0YWdyYW0ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1pbnN0YWdyYW07XG4gIH1cbn1cbi5maS1qb3kge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1qb3k7XG4gIH1cbn1cbi5maS1qdW5rIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItanVuaztcbiAgfVxufVxuLmZpLWtleSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWtleTtcbiAgfVxufVxuLmZpLWtleXBhZCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWtleXBhZDtcbiAgfVxufVxuLmZpLWxlYWYge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1sZWFmO1xuICB9XG59XG4uZmktbGVmdC1hcnJvdyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWxlZnQtYXJyb3c7XG4gIH1cbn1cbi5maS1sZWZ0LWFycm93LTIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1sZWZ0LWFycm93LTI7XG4gIH1cbn1cbi5maS1sZWZ0LWFycm93LTMge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1sZWZ0LWFycm93LTM7XG4gIH1cbn1cbi5maS1sZXNzIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbGVzcztcbiAgfVxufVxuLmZpLWxlc3MtMiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWxlc3MtMjtcbiAgfVxufVxuLmZpLWxpZ2h0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbGlnaHQ7XG4gIH1cbn1cbi5maS1saWtlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbGlrZTtcbiAgfVxufVxuLmZpLWxpa2UyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbGlrZTI7XG4gIH1cbn1cbi5maS1saWtlLXNvbGlkIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbGlrZS1zb2xpZDtcbiAgfVxufVxuLmZpLWxpbmsge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1saW5rO1xuICB9XG59XG4uZmktbGlua2VkaW4ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1saW5rZWRpbjtcbiAgfVxufVxuLmZpLWxpbmtlZGluLTIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1saW5rZWRpbi0yO1xuICB9XG59XG4uZmktbGludGVybiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWxpbnRlcm47XG4gIH1cbn1cbi5maS1sb2FkaW5nIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbG9hZGluZztcbiAgfVxufVxuLmZpLWxvYWRpbmcyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbG9hZGluZzI7XG4gIH1cbn1cbi5maS1sb2FkaW5nMyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWxvYWRpbmczO1xuICB9XG59XG4uZmktbG9hZGluZzQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1sb2FkaW5nNDtcbiAgfVxufVxuLmZpLWxvY2sge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1sb2NrO1xuICB9XG59XG4uZmktbG9nLW91dCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWxvZy1vdXQ7XG4gIH1cbn1cbi5maS1sb29rIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbG9vaztcbiAgfVxufVxuLmZpLWxvb3Age1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1sb29wO1xuICB9XG59XG4uZmktbWFnaWMtd2FuZCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLW1hZ2ljLXdhbmQ7XG4gIH1cbn1cbi5maS1tYWduZXQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1tYWduZXQ7XG4gIH1cbn1cbi5maS1tYWlsIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbWFpbDtcbiAgfVxufVxuLmZpLW1haWwtb3BlbiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLW1haWwtb3BlbjtcbiAgfVxufVxuLmZpLW1haWwtb3Blbi1maWxlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbWFpbC1vcGVuLWZpbGU7XG4gIH1cbn1cbi5maS1tYWxlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbWFsZTtcbiAgfVxufVxuLmZpLW1hcCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLW1hcDtcbiAgfVxufVxuLmZpLW1hcC0yIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbWFwLTI7XG4gIH1cbn1cbi5maS1tYXAtbWFya2VyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbWFwLW1hcmtlcjtcbiAgfVxufVxuLmZpLW1hcC1tYXJrZXItMiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLW1hcC1tYXJrZXItMjtcbiAgfVxufVxuLmZpLW1lZGFsIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbWVkYWw7XG4gIH1cbn1cbi5maS1tZW51IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbWVudTtcbiAgfVxufVxuLmZpLW1pY3JvIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbWljcm87XG4gIH1cbn1cbi5maS1tb25pdG9yIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbW9uaXRvcjtcbiAgfVxufVxuLmZpLW1vb24ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1tb29uO1xuICB9XG59XG4uZmktbW9yZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLW1vcmU7XG4gIH1cbn1cbi5maS1tb3VzZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLW1vdXNlO1xuICB9XG59XG4uZmktbXVzaWMge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1tdXNpYztcbiAgfVxufVxuLmZpLW11c2ljbGlzdCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLW11c2ljbGlzdDtcbiAgfVxufVxuLmZpLW11dGUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1tdXRlO1xuICB9XG59XG4uZmktbmV0d29yayB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLW5ldHdvcms7XG4gIH1cbn1cbi5maS1uZXdzLXBhcGVyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbmV3cy1wYXBlcjtcbiAgfVxufVxuLmZpLW5leHQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1uZXh0O1xuICB9XG59XG4uZmktbmV4dC0yIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItbmV4dC0yO1xuICB9XG59XG4uZmktbm90ZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLW5vdGU7XG4gIH1cbn1cbi5maS1ub3RlMiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLW5vdGUyO1xuICB9XG59XG4uZmktbm90ZWJvb2sge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1ub3RlYm9vaztcbiAgfVxufVxuLmZpLXBhaW50IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcGFpbnQ7XG4gIH1cbn1cbi5maS1wYWludC1idWNrZXQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1wYWludC1idWNrZXQ7XG4gIH1cbn1cbi5maS1wYXBlcmNsaXAge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1wYXBlcmNsaXA7XG4gIH1cbn1cbi5maS1wYXBlci1wbGFuZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXBhcGVyLXBsYW5lO1xuICB9XG59XG4uZmktcGVuIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcGVuO1xuICB9XG59XG4uZmktcGVuZHJpdmUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1wZW5kcml2ZTtcbiAgfVxufVxuLmZpLXBob25lIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcGhvbmU7XG4gIH1cbn1cbi5maS1waG9uZS1uZXcge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1waG9uZS1uZXc7XG4gIH1cbn1cbi5maS1waG90byB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXBob3RvO1xuICB9XG59XG4uZmktcGhvdG8tZ2FsbGVyeSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXBob3RvLWdhbGxlcnk7XG4gIH1cbn1cbi5maS1waWdneSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXBpZ2d5O1xuICB9XG59XG4uZmktcGluIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcGluO1xuICB9XG59XG4uZmktcGludGVyZXN0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcGludGVyZXN0O1xuICB9XG59XG4uZmktcGludGVyZXN0LTIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1waW50ZXJlc3QtMjtcbiAgfVxufVxuLmZpLXBsYW5lIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcGxhbmU7XG4gIH1cbn1cbi5maS1wbGF5IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcGxheTtcbiAgfVxufVxuLmZpLXBsYXktMiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXBsYXktMjtcbiAgfVxufVxuLmZpLXBsdWcge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1wbHVnO1xuICB9XG59XG4uZmktcGx1Z2luIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcGx1Z2luO1xuICB9XG59XG4uZmktcGx1cyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXBsdXM7XG4gIH1cbn1cbi5maS1wbHVzLTIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1wbHVzLTI7XG4gIH1cbn1cbi5maS1wb3J0Zm9saW8ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1wb3J0Zm9saW87XG4gIH1cbn1cbi5maS1wb3N0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcG9zdDtcbiAgfVxufVxuLmZpLXBvd2VyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcG93ZXI7XG4gIH1cbn1cbi5maS1wcmV2IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcHJldjtcbiAgfVxufVxuLmZpLXByaW50IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcHJpbnQ7XG4gIH1cbn1cbi5maS1wcm9kdWN0LWVtcHR5IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcHJvZHVjdC1lbXB0eTtcbiAgfVxufVxuLmZpLXJhZGlvIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcmFkaW87XG4gIH1cbn1cbi5maS1yZWZyZXNoIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcmVmcmVzaDtcbiAgfVxufVxuLmZpLXJlZnJlc2gtMiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXJlZnJlc2gtMjtcbiAgfVxufVxuLmZpLXJlZnJlc2gtY2xvdWQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1yZWZyZXNoLWNsb3VkO1xuICB9XG59XG4uZmktcmVwZWF0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcmVwZWF0O1xuICB9XG59XG4uZmktcmliYm9uIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItcmliYm9uO1xuICB9XG59XG4uZmktcmlnaHQtYXJyb3cge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1yaWdodC1hcnJvdztcbiAgfVxufVxuLmZpLXJpZ2h0LWFycm93LTIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1yaWdodC1hcnJvdy0yO1xuICB9XG59XG4uZmktcmlnaHQtYXJyb3ctMyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXJpZ2h0LWFycm93LTM7XG4gIH1cbn1cbi5maS1yb2NrZXQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1yb2NrZXQ7XG4gIH1cbn1cbi5maS1zYWZlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItc2FmZTtcbiAgfVxufVxuLmZpLXNjaWVuY2Uge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1zY2llbmNlO1xuICB9XG59XG4uZmktc2Npc3NvcnMge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1zY2lzc29ycztcbiAgfVxufVxuLmZpLXNlYXJjaCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXNlYXJjaDtcbiAgfVxufVxuLmZpLXNlYXJjaC1uZXcge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1zZWFyY2gtbmV3O1xuICB9XG59XG4uZmktc2VuZCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXNlbmQ7XG4gIH1cbn1cbi5maS1zZXJ2ZXIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1zZXJ2ZXI7XG4gIH1cbn1cbi5maS1zZXR0aW5ncyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXNldHRpbmdzO1xuICB9XG59XG4uZmktc2hhcmUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1zaGFyZTtcbiAgfVxufVxuLmZpLXNoaWVsZCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXNoaWVsZDtcbiAgfVxufVxuLmZpLXNoaXBwaW5nIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItc2hpcHBpbmc7XG4gIH1cbn1cbi5maS1zaGlwcGluZy1mcmVlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItc2hpcHBpbmctZnJlZTtcbiAgfVxufVxuLmZpLXNob3BiYWcge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1zaG9wYmFnO1xuICB9XG59XG4uZmktc2h1ZmZsZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXNodWZmbGU7XG4gIH1cbn1cbi5maS1zaWduYWwge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1zaWduYWw7XG4gIH1cbn1cbi5maS1zaWdub3V0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItc2lnbm91dDtcbiAgfVxufVxuLmZpLXNtaWxlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItc21pbGU7XG4gIH1cbn1cbi5maS1zcGVha2VyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItc3BlYWtlcjtcbiAgfVxufVxuLmZpLXN0YXIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1zdGFyO1xuICB9XG59XG4uZmktc3RvcHdhdGNoIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItc3RvcHdhdGNoO1xuICB9XG59XG4uZmktc3R1ZHkge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci1zdHVkeTtcbiAgfVxufVxuLmZpLXN1biB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXN1bjtcbiAgfVxufVxuLmZpLXN3aXRjaCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXN3aXRjaDtcbiAgfVxufVxuLmZpLXRhZyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXRhZztcbiAgfVxufVxuLmZpLXRhZ3Mge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci10YWdzO1xuICB9XG59XG4uZmktdGFyZ2V0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItdGFyZ2V0O1xuICB9XG59XG4uZmktdGlja2V0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItdGlja2V0O1xuICB9XG59XG4uZmktdGltZXIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci10aW1lcjtcbiAgfVxufVxuLmZpLXRvb2xzIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItdG9vbHM7XG4gIH1cbn1cbi5maS10cmFjay1vcmRlciB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXRyYWNrLW9yZGVyO1xuICB9XG59XG4uZmktdHJhc2gge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci10cmFzaDtcbiAgfVxufVxuLmZpLXRyb2xsZXkge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci10cm9sbGV5O1xuICB9XG59XG4uZmktdHdpdHRlciB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXR3aXR0ZXI7XG4gIH1cbn1cbi5maS11bWJyZWxsYSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXVtYnJlbGxhO1xuICB9XG59XG4uZmktdW5sb2NrIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItdW5sb2NrO1xuICB9XG59XG4uZmktdXAtYXJyb3cge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci11cC1hcnJvdztcbiAgfVxufVxuLmZpLXVwLWFycm93LTIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci11cC1hcnJvdy0yO1xuICB9XG59XG4uZmktdXAtYXJyb3ctMyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXVwLWFycm93LTM7XG4gIH1cbn1cbi5maS11cGxvYWQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci11cGxvYWQ7XG4gIH1cbn1cbi5maS11c2Ige1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci11c2I7XG4gIH1cbn1cbi5maS11c2VyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItdXNlcjtcbiAgfVxufVxuLmZpLXVzZXItZWRpdC1uZXcge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci11c2VyLWVkaXQtbmV3O1xuICB9XG59XG4uZmktdXNlci1mZW1hbGUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci11c2VyLWZlbWFsZTtcbiAgfVxufVxuLmZpLXVzZXItbmV3IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItdXNlci1uZXc7XG4gIH1cbn1cbi5maS11c2VycyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXVzZXJzO1xuICB9XG59XG4uZmktdmVjdG9yIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItdmVjdG9yO1xuICB9XG59XG4uZmktdmlkZW8ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci12aWRlbztcbiAgfVxufVxuLmZpLXZvaWNlbWFpbCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXZvaWNlbWFpbDtcbiAgfVxufVxuLmZpLXZvbHVtZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXZvbHVtZTtcbiAgfVxufVxuLmZpLXZvbHVtZTEge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci12b2x1bWUxO1xuICB9XG59XG4uZmktdm9sdW1lMiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLXZvbHVtZTI7XG4gIH1cbn1cbi5maS13YWxsZXQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci13YWxsZXQ7XG4gIH1cbn1cbi5maS13YXkge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci13YXk7XG4gIH1cbn1cbi5maS13aW5lIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItd2luZTtcbiAgfVxufVxuLmZpLXdvcmxkIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItd29ybGQ7XG4gIH1cbn1cbi5maS13cmlzdHdhdGNoIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRmaS12YXItd3Jpc3R3YXRjaDtcbiAgfVxufVxuLmZpLXlvdXR1YmUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGZpLXZhci15b3V0dWJlO1xuICB9XG59XG5cbi8vLS0gQWRkaXRpb25uYWwgY2xhc3Ncbi5maS1jcmVkaXQtY2FyZCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWNyZWRpdDtcbiAgfVxufVxuLmZpLWV5ZSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkZmktdmFyLWxvb2s7XG4gIH1cbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIi8vXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy0tIEJ1dHRvbiBsaW5rXG4uYnV0dG9uLWxpbmsge1xuICBAaW5jbHVkZSBidXR0b24oJHN0eWxlOiBob2xsb3cpO1xuXG4gIC8vIFNpemVzXG4gIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgJi4jeyRzaXplfSB7XG4gICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICB9XG4gIH1cblxuICAvLyBDb2xvcnNcbiAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICYuI3skbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEZvcm1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKiogU2VhcmNoIGZvcm0gKi9cbi5zZWFyY2gtZm9ybSB7XG4gIEBleHRlbmQgLmlucHV0LWdyb3VwO1xufVxuXG4uc2VhcmNoLWZvcm0gbGFiZWwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uc2VhcmNoLWZvcm0gLnNlYXJjaC1maWVsZCB7XG4gIEBleHRlbmQgLmlucHV0LWdyb3VwLWZpZWxkO1xufVxuXG4uc2VhcmNoLWZvcm0gLnNlYXJjaC1zdWJtaXQge1xuICBAaW5jbHVkZSBidXR0b24oZmFsc2UsICRzZWNvbmRhcnktY29sb3IsIGF1dG8sICRidXR0b24tY29sb3IsICRidXR0b24tZmlsbCk7XG59XG4iLCIvL1xuLy8gRm9ybXMgVmFsaWRhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG5nLWZvcm0tdmFsaWRhdGlvbi1lcnJvciAgIDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcbiRuZy1mb3JtLXZhbGlkYXRpb24tc3VjY2VzcyA6IGdldC1jb2xvcihzdWNjZXNzKSAhZGVmYXVsdDtcblxuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgbGFiZWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIH1cbiAgfVxufVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuZm9ybSxcbm5nLWZvcm0sXG4uZm9ybSxcbi5uZy1mb3JtIHtcbiAgc2VsZWN0Lm5nLXRvdWNoZWQubmctaW52YWxpZCxcbiAgdGV4dGFyZWEubmctdG91Y2hlZC5uZy1pbnZhbGlkLFxuICBpbnB1dC5uZy10b3VjaGVkLm5nLWludmFsaWQ6bm90KC5pbnB1dC1xdHkpIHtcbiAgICBib3JkZXItY29sb3I6ICRuZy1mb3JtLXZhbGlkYXRpb24tZXJyb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkbmctZm9ybS12YWxpZGF0aW9uLWVycm9yLCA0NiUpO1xuICB9XG5cbiAgLy89PSBVSS1TZWxlY3QgbW9kdWxlXG4gIC51aS1zZWxlY3QtY29udGFpbmVyLm5nLXRvdWNoZWQubmctaW52YWxpZCB7XG4gICAgLnVpLXNlbGVjdC10b2dnbGUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbmctZm9ybS12YWxpZGF0aW9uLWVycm9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkbmctZm9ybS12YWxpZGF0aW9uLWVycm9yLCA0NiUpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdC5uZy10b3VjaGVkLm5nLXZhbGlkLFxuICB0ZXh0YXJlYS5uZy10b3VjaGVkLm5nLXZhbGlkLFxuICBpbnB1dC5uZy10b3VjaGVkLm5nLXZhbGlkOm5vdCguaW5wdXQtcXR5KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmctZm9ybS12YWxpZGF0aW9uLXN1Y2Nlc3M7XG5cbiAgICAmLm5nLWVtcHR5IHtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLz09IFVJLVNlbGVjdCBtb2R1bGVcbiAgLnVpLXNlbGVjdC1jb250YWluZXIubmctdG91Y2hlZC5uZy12YWxpZCB7XG4gICAgLnVpLXNlbGVjdC10b2dnbGUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbmctZm9ybS12YWxpZGF0aW9uLXN1Y2Nlc3M7XG4gICAgfVxuXG4gICAgJi5uZy1lbXB0eSB7XG4gICAgICAudWktc2VsZWN0LXRvZ2dsZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmFkaW8sXG4gIC5jaGVja2JveCB7XG4gICAgaW5wdXQubmctdG91Y2hlZC5uZy1pbnZhbGlkLXJlcXVpcmVkIH4gbGFiZWwge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmctZm9ybS12YWxpZGF0aW9uLWVycm9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0Lm5nLXRvdWNoZWQubmctdmFsaWQtcmVxdWlyZWQgfiBsYWJlbCB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRuZy1mb3JtLXZhbGlkYXRpb24tc3VjY2VzcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvL0lucHV0LWdyb3VwXG4gIC5pbnB1dC1ncm91cC1maWVsZC5uZy10b3VjaGVkLm5nLXZhbGlkIH4gLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItY29sb3I6ICRuZy1mb3JtLXZhbGlkYXRpb24tc3VjY2VzcztcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQubmctdG91Y2hlZC5uZy1pbnZhbGlkIH4gLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgLmJ1dHRvbiB7XG4gICAgICBib3JkZXItY29sb3I6ICRuZy1mb3JtLXZhbGlkYXRpb24tZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkLm5nLXRvdWNoZWQubmctZW1wdHkgfiAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvL1xuLy8gQ29tbWVudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY29tbWVudC1saXN0IHtcbiAgQGV4dGVuZCAubm8tYnVsbGV0O1xufVxuXG4uY29tbWVudC1saXN0IG9sIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmNvbW1lbnQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgQGluY2x1ZGUgYnV0dG9uKGZhbHNlLCAkc2Vjb25kYXJ5LWNvbG9yLCBhdXRvLCAkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWZpbGwpO1xufVxuIiwiLy9cbi8vIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmRyb3Bkb3duIHtcbiAgJi5tZW51IHtcbiAgICA+IGxpIHtcbiAgICAgICYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgICA+IGEge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRmaS12YXItYW5nbGUtZG93bjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZmktZm9udC1mYW1pbHk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgdG9wOiAwLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICYuaXMtYWN0aXZlLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcblxuICAgICAgICBAaW5jbHVkZSBhbmltYXRpb24tYWxsO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZS1iYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDE1cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBHcmlkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jb250YWluZXItY2xhc3NlcygpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJi4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xuICAgIH1cblxuICAgICYuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCQtemYtc2l6ZSk7XG4gICAgfVxuICB9XG59XG5cbi8vIEZvdW5kYXRpb24gR3JpZCBzeXN0ZW1cbkBpZiAkeHktZ3JpZCB7XG5cbiAgJGJhc2Utc2l6ZS1tYWluOiAxMDAlICFkZWZhdWx0O1xuXG4gIC8vR3JpZFxuICAubWFpbi1oZWFkZXIge1xuICAgIC8vQ29udGFpbmVyXG4gICAgQGlmICRiYXNlLWNvbnRhaW5lci1tYWluLWhlYWRlciA9PSBmdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkYmFzZS1jb250YWluZXItbWFpbi1oZWFkZXIgPT0gZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICRiYXNlLWNvbnRhaW5lci1tYWluLWhlYWRlciA9PSBndXR0ZXIge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoJGdyaWQtY29udGFpbmVyLCAkZ3JpZC1jb250YWluZXItcGFkZGluZyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKCRncmlkLWNvbnRhaW5lciwgMCk7XG4gICAgfVxuICB9XG5cbiAgLm1haW4tY29udGFpbmVyIHtcbiAgICAvL0NvbnRhaW5lclxuICAgIEBpZiAkYmFzZS1jb250YWluZXItbWFpbiA9PSBmdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkYmFzZS1jb250YWluZXItbWFpbiA9PSBmbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJGJhc2UtY29udGFpbmVyLW1haW4gPT0gZ3V0dGVyIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKCRncmlkLWNvbnRhaW5lciwgJGdyaWQtY29udGFpbmVyLXBhZGRpbmcpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigkZ3JpZC1jb250YWluZXIsIDApO1xuICAgIH1cbiAgfVxuXG4gIC5tYWluLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZShcIm1haW4uY29sbGFwc2VcIiwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKFwiLnNpZGViYXIuY29sbGFwc2VcIiwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgfVxuXG4gIG1haW4sXG4gIC5zaWRlYmFyIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRncmlkLWNvbHVtbnMsIHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gIH1cblxuICAuc2lkZWJhci1wcmltYXJ5IHtcbiAgICBtYWluIHtcbiAgICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG5cbiAgICAgICAgJC16Zi1icC12YWx1ZTogLXpmLWdldC1icC12YWwoJGJhc2Utc2l6ZS1zaWRlYmFyLCAkLXpmLXNpemUpO1xuXG4gICAgICAgIEBpZiB0eXBlLW9mKCQtemYtYnAtdmFsdWUpID09IFwibnVtYmVyXCIge1xuICAgICAgICAgIEBpZiB1bml0KCQtemYtYnAtdmFsdWUpID09IFwiJVwiIHtcbiAgICAgICAgICAgIEBpZiAkLXpmLWJwLXZhbHVlID09IFwiMTAwJVwiIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxMDAlLCB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCgxMDAlIC0gJC16Zi1icC12YWx1ZSksIHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIGlmIHVuaXQoJC16Zi1icC12YWx1ZSkgPT0gXCJweFwiIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7JGJhc2Utc2l6ZS1tYWlufSAtICN7JC16Zi1icC12YWx1ZX0pO1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSBpZiAkLXpmLWJwLXZhbHVlID09ICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkLXpmLWJwLXZhbHVlIG9mICRncmlkLWNvbHVtbnMgLCB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCgkZ3JpZC1jb2x1bW5zIC0gJC16Zi1icC12YWx1ZSkgb2YgJGdyaWQtY29sdW1ucyAsIHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIGlmICQtemYtYnAtdmFsdWUgPT0gXCJhdXRvXCIge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoc2hyaW5rLCB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sIHRydWUsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lkZWJhciB7XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAgICQtemYtYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRiYXNlLXNpemUtc2lkZWJhciwgJC16Zi1zaXplKTtcblxuICAgICAgICBAaWYgdHlwZS1vZigkLXpmLWJwLXZhbHVlKSA9PSBcIm51bWJlclwiIHtcblxuICAgICAgICAgIEBpZiB1bml0KCQtemYtYnAtdmFsdWUpID09IFwiJVwiIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJC16Zi1icC12YWx1ZSwgdHJ1ZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2UgaWYgdW5pdCgkLXpmLWJwLXZhbHVlKSA9PSBcInB4XCIge1xuICAgICAgICAgICAgd2lkdGg6ICQtemYtYnAtdmFsdWU7XG4gICAgICAgICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItdHlwZTogcGFkZGluZywgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoJC16Zi1icC12YWx1ZSBvZiAkZ3JpZC1jb2x1bW5zLCB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgjeyQtemYtYnAtdmFsdWV9LCB0cnVlLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy9DbGFzc2VzIGZvciBjb2xsYXBzZSBncmlkLWNvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuXG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jb250YWluZXItY2xhc3NlcygpO1xuICB9XG5cbiAgLy9DbGFzcyBmb3IgZnVsbCBoZWlnaHRcbiAgLmdyaWQtZnVsbC1oZWlnaHQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4ubWFpbi1ncmlkLXNpbmdsZSxcbi5tYWluLWdyaWQtYXJjaGl2ZSB7XG5cbiAgbWFyZ2luLXRvcDogZ2V0LXNpZGUoJGhyLW1hcmdpbiwgdG9wKTtcbn1cblxuLy9DZWxsIENvbGxhcHNlIFNlbGZcbi5ncmlkLW1hcmdpbi15LFxuLmdyaWQtbWFyZ2luLXgge1xuICA+IC5jZWxsIHtcbiAgICAmLmNvbGxhcHNlLXNlbGYtbWFyZ2luIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgJi4jeyQtemYtc2l6ZX0tY29sbGFwc2Utc2VsZi1tYXJnaW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZ3JpZC1wYWRkaW5nLXksXG4uZ3JpZC1wYWRkaW5nLXgge1xuICA+IC5jZWxsIHtcbiAgICAmLmNvbGxhcHNlLXNlbGYtcGFkZGluZyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgJi4jeyQtemYtc2l6ZX0tY29sbGFwc2Utc2VsZi1wYWRkaW5nIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFNvY2lhbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zb2NpYWwtZ3JvdXAge1xuICBAaW5jbHVkZSBtZW51LWJhc2U7XG59XG4iLCIvL1xyXG4vLyBCYWRnZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXHJcbi8vLyBAdHlwZSBMaXN0XHJcbiRiYWRnZS1vcGFjaXR5LWRpc2FibGU6IDAuMzUgIWRlZmF1bHQ7XHJcblxyXG4uYmFkZ2Uge1xyXG4gICYuc3F1YXJlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgfVxyXG5cclxuICAmLmhvbGxvdyB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogc29saWQgMXB4ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG5cclxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhZGdlLXBhbGV0dGUge1xyXG4gICAgICAmLiN7JG5hbWV9IHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmRpc2FibGUge1xyXG4gICAgb3BhY2l0eTogJGJhZGdlLW9wYWNpdHktZGlzYWJsZTtcclxuICB9XHJcbn1cclxuIiwiLy9cbi8vIFRhYmxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kdGFibGUtaGVhZC1wYWRkaW5nOiAoJGdsb2JhbC1wYWRkaW5nIC8gMikgMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLW1hcmdpbi1ib3R0b206ICgkZ2xvYmFsLXBhZGRpbmcgLyAyKSAhZGVmYXVsdDtcblxuLnRhYmxlIHtcbiAgLnRhYmxlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgICBwYWRkaW5nOiAkdGFibGUtaGVhZC1wYWRkaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICR0YWJsZS1oZWFkLW1hcmdpbi1ib3R0b207XG4gIH1cblxuICAudGFibGUtaGVhZGVyLFxuICAudGFibGUtcm93IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcblxuICAgICYgPiAudGFibGUtY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRncmlkLXBhZGRpbmctZ3V0dGVycywgcGFkZGluZyk7XG4gICAgfVxuXG4gICAgLnRhYmxlLWNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCBmYWxzZSwgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcblxuICAgICAgJi5zaHJpbmsge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICAmID4gLnRhYmxlLWNlbGwge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBoclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGhyLWJvcmRlci1jbGFzczogICAgICAgICAgICAgJGhyLWJvcmRlciAhZGVmYXVsdDtcbiRoci1tYXJnaW4tY2xhc3M6ICAgICAgICAgICAgIGdldC1zaWRlKCRoci1tYXJnaW4sIGJvdHRvbSkgIWRlZmF1bHQ7XG4kaHItcGFkZGluZy1jbGFzczogICAgICAgICAgICAkaHItbWFyZ2luLWNsYXNzO1xuJGhyLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAgYXV0byAhZGVmYXVsdDtcbiRoci12ZXJ0aWNhbC1tYXJnaW4tdG9wOiAgICAgIGdldC1zaWRlKCRoci1tYXJnaW4sIHRvcCkgIWRlZmF1bHQ7XG4kaHItdmVydGljYWwtbWFyZ2luLWJvdHRvbTogICBnZXQtc2lkZSgkaHItbWFyZ2luLCBib3R0b20pICFkZWZhdWx0O1xuJGhyLXZlcnRpY2FsLWJvcmRlcjogICAgICAgICAgJGhyLWJvcmRlciAhZGVmYXVsdDtcblxuQG1peGluIHN0eWxlLWhyKCRwb3NpdGlvbjogYm90dG9tKSB7XG4gIGNsZWFyOiBib3RoO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuXG4gIEBpZiAoJHBvc2l0aW9uID09IGJvdHRvbSkge1xuICAgIG1hcmdpbi1ib3R0b206ICRoci1tYXJnaW4tY2xhc3M7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlci1jbGFzcztcbiAgfVxuXG4gIEBpZiAoJHBvc2l0aW9uID09IHRvcCkge1xuICAgIHBhZGRpbmctdG9wOiAkaHItcGFkZGluZy1jbGFzcztcbiAgICBib3JkZXItdG9wOiAkaHItYm9yZGVyLWNsYXNzO1xuICB9XG5cbiAgLmNlbGwgJiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbkBtaXhpbiBzdHlsZS1oci12ZXJ0aWNhbCgpIHtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAkaHItdmVydGljYWwtaGVpZ2h0O1xuICBtYXJnaW46IGF1dG87XG4gIG1hcmdpbi10b3A6ICRoci12ZXJ0aWNhbC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkaHItdmVydGljYWwtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItbGVmdDogJGhyLXZlcnRpY2FsLWJvcmRlcjtcblxuICAuY2VsbCAmIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7KCRoci12ZXJ0aWNhbC1tYXJnaW4tdG9wICsgJGhyLXZlcnRpY2FsLW1hcmdpbi1ib3R0b20pIC8gMn0pO1xuICB9XG59XG5cbkBtaXhpbiBzdHlsZS1oci1tYXJnaW4oJGZhY3RvcjogMSwgJGltcG9ydGFudDogZmFsc2UpIHtcblxuICBAaWYgKCRpbXBvcnRhbnQgPT0gdHJ1ZSkge1xuICAgIG1hcmdpbi1ib3R0b206ICgkZmFjdG9yICogJGhyLW1hcmdpbi1jbGFzcykgIWltcG9ydGFudDtcbiAgfVxuICBAZWxzZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogKCRmYWN0b3IgKiAkaHItbWFyZ2luLWNsYXNzKTtcbiAgfVxufVxuXG5AbWl4aW4gc3R5bGUtaHItcGFkZGluZygkZmFjdG9yOiAxLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuXG4gIEBpZiAoJGltcG9ydGFudCA9PSB0cnVlKSB7XG4gICAgcGFkZGluZy10b3A6ICgkZmFjdG9yICogJGhyLXBhZGRpbmctY2xhc3MpICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmctdG9wOiAoJGZhY3RvciAqICRoci1wYWRkaW5nLWNsYXNzKTtcbiAgfVxufVxuXG4uaHIsXG4uaHItYm90dG9tIHtcbiAgQGluY2x1ZGUgc3R5bGUtaHIoYm90dG9tKTtcbn1cblxuLmhyLXRvcCB7XG4gIEBpbmNsdWRlIHN0eWxlLWhyKHRvcCk7XG59XG5cbi5uby1ociB7XG4gIGJvcmRlci10b3A6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uaHItdmVydGljYWwge1xuICBAaW5jbHVkZSBzdHlsZS1oci12ZXJ0aWNhbDtcbn1cblxuLmhyLXZlcnRpY2FsLWxlZnQge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1sZWZ0OiAkaHItdmVydGljYWwtYm9yZGVyO1xuXG4gICY6bm90KC5jZWxsKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkaHItcGFkZGluZy1jbGFzcyAvIDI7XG4gIH1cbn1cblxuLmhyLXZlcnRpY2FsLXJpZ2h0IHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmlnaHQ6ICRoci12ZXJ0aWNhbC1ib3JkZXI7XG5cbiAgJjpub3QoLmNlbGwpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaHItcGFkZGluZy1jbGFzcyAvIDI7XG4gIH1cbn1cblxuLmhyLW1hcmdpbiB7XG4gIEBpbmNsdWRlIHN0eWxlLWhyLW1hcmdpbigxLCB0cnVlKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIDQge1xuICAgICYuaHItI3skaX14IHtcbiAgICAgIEBpbmNsdWRlIHN0eWxlLWhyLW1hcmdpbigkaSwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA0IHtcbiAgICAmLmhyLW1hcmdpbi0jeyRpfXgge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtaHItbWFyZ2luKCRpLCB0cnVlKTtcbiAgICB9XG4gIH1cbn1cblxuLmhyLXBhZGRpbmcge1xuICBAaW5jbHVkZSBzdHlsZS1oci1wYWRkaW5nKDEsIHRydWUpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggNCB7XG4gICAgJi5oci0jeyRpfXgge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtaHItcGFkZGluZygkaSwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA0IHtcbiAgICAmLmhyLXBhZGRpbmctI3skaX14IHtcbiAgICAgIEBpbmNsdWRlIHN0eWxlLWhyLXBhZGRpbmcoJGksIHRydWUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFVuZGVybGluZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHVuZGVybGluZS13aWR0aDogICA1cmVtICFkZWZhdWx0O1xuJHVuZGVybGluZS1zaXplOiAgICAzcHggIWRlZmF1bHQ7XG4kdW5kZXJsaW5lLWJvdHRvbTogIC0ycHggIWRlZmF1bHQ7XG4kdW5kZXJsaW5lLWxlZnQ6ICAgIDAgIWRlZmF1bHQ7XG4kdW5kZXJsaW5lLWNvbG9yOiAgICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHVuZGVybGluZS1zaXplczogKFxuICB0aW55OiAxcHgsXG4gIHNtYWxsOiAycHgsXG4gIGRlZmF1bHQ6ICR1bmRlcmxpbmUtc2l6ZSxcbikgIWRlZmF1bHQ7XG5cbiR1bmRlcmxpbmUtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuQG1peGluIHN0eWxlLXVuZGVybGluZSgkY29sb3I6ICR1bmRlcmxpbmUtY29sb3IpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogJHVuZGVybGluZS13aWR0aDtcbiAgICBoZWlnaHQ6ICR1bmRlcmxpbmUtc2l6ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgYm90dG9tOiAkdW5kZXJsaW5lLWJvdHRvbTtcbiAgICBsZWZ0OiAkdW5kZXJsaW5lLWxlZnQ7XG4gIH1cbn1cblxuQG1peGluIHN0eWxlLXVuZGVybGluZS1jb2xvcigkY29sb3I6ICR1bmRlcmxpbmUtY29sb3IpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gc3R5bGUtdW5kZXJsaW5lLWNlbnRlcigpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIHN0eWxlLXVuZGVybGluZS1zaXplKCRzaXplOiAkdW5kZXJsaW5lLXNpemUpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGhlaWdodDogJHNpemU7XG4gIH1cbn1cblxuLnVuZGVybGluZSB7XG4gIEBpbmNsdWRlIHN0eWxlLXVuZGVybGluZTtcblxuICAvLyBDb2xvcnNcbiAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkdW5kZXJsaW5lLXBhbGV0dGUge1xuICAgICYudW5kZXJsaW5lLSN7JG5hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHN0eWxlLXVuZGVybGluZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNpemVzXG4gIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkdW5kZXJsaW5lLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgJi51bmRlcmxpbmUtI3skc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdW5kZXJsaW5lLXNpemUoJHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAmLnVuZGVybGluZS1jZW50ZXIge1xuICAgIEBpbmNsdWRlIHN0eWxlLXVuZGVybGluZS1jZW50ZXI7XG4gIH1cbn1cbiIsIi8vXG4vLyBXZWJpY29uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHdlYmljb24tc2l6ZXM6IChcbiAgdGlueTogMC44cmVtLFxuICBzbWFsbDogMC45cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbiR3ZWJpY29uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi53ZWJpY29uIHtcbiAgLy8gU2l6ZXNcbiAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCR3ZWJpY29uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgJi4jeyRzaXplfSB7XG4gICAgICBoZWlnaHQ6ICR2YWx1ZTtcbiAgICAgIHdpZHRoOiAkdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sb3JzXG4gIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJHdlYmljb24tcGFsZXR0ZSB7XG4gICAgJi4jeyRuYW1lfSB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEZpeCBXb3JrYXJvdW5kXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLz09IGltYWdlIGxhenlsb2FkIHNyYyBlbXB0eSBvciBzcmMgbm90IHByZXNlbnQgYXBwbHkgb3BhY2l0eSAwIHRvIG5vdCBkaXNwbGF5IGJvcmRlci5cbmltZ1tzcmM9XCJcIl0sXG5pbWc6bm90KFtzcmNdKSB7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbn1cbiIsIi8vXG4vLyBDU1MgVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuOnJvb3Qge1xuICAvL0NvbG9yc1xuICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYXNlLXBhbGV0dGUge1xuICAgIC0tI3skbmFtZX0tY29sb3I6ICN7JGNvbG9yfTtcbiAgfVxuXG4gIC0td2hpdGUtY29sb3I6ICN7JHdoaXRlLWJhc2V9O1xuICAtLWJsYWNrLWNvbG9yOiAjeyRibGFjay1iYXNlfTtcbiAgLS1tZWRpdW0tZ3JheS1jb2xvcjogI3skbWVkaXVtLWdyYXktYmFzZX07XG4gIC0tbGlnaHQtZ3JheS1jb2xvcjogI3skbGlnaHQtZ3JheS1iYXNlfTtcbiAgLS1ncmF5LWNvbG9yOiAjeyRncmF5LWJhc2V9O1xuICAtLWRhcmstZ3JheS1jb2xvcjogI3skZGFyay1ncmF5LWJhc2V9O1xuXG4gIC8vRm9udFxuICAtLWJvZHktZm9udDogI3skYmFzZS1mb250LWZhbWlseX07XG4gIC0tdGl0bGUtZm9udDogI3skdGl0bGUtZm9udC1mYW1pbHl9O1xuXG4gIC8vSFJcbiAgLS1oci1tYXJnaW46ICN7JGhyLW1hcmdpbn07XG4gIC0taHItcGFkZGluZzogI3skaHItcGFkZGluZy1jbGFzc307XG5cbiAgLy9CcmVha3BvaW50IHNpemVcbiAgQGVhY2ggJC1zaXplLCAkLXZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIC0tYnJlYWtwb2ludC0jeyQtc2l6ZX06ICN7JC12YWx9O1xuICB9XG59XG4iLCIvL1xyXG4vLyBXb3JkUHJlc3MgR2xvYmFsXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vKipcclxuICogV29yZFByZXNzIEdlbmVyYXRlZCBDbGFzc2VzXHJcbiAqIEBzZWUgaHR0cDovL2NvZGV4LndvcmRwcmVzcy5vcmcvQ1NTI1dvcmRQcmVzc19HZW5lcmF0ZWRfQ2xhc3Nlc1xyXG4gKi9cclxuXHJcbi8vLS0gUGFnZSBUaXRsZVxyXG4ucGFnZS10aXRsZSB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vLy0tIFBhc3N3b3JkIGZvcm1cclxuLnBvc3QtcGFzc3dvcmQtZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICBAaW5jbHVkZSBidXR0b24oZmFsc2UsICRzZWNvbmRhcnktY29sb3IsIGF1dG8sICRidXR0b24tY29sb3IsICRidXR0b24tZmlsbCk7XHJcbn1cclxuXHJcbi8qKiBDYXB0aW9ucyAqL1xyXG4vLyBUT0RPOiAud3AtY2FwdGlvbiB7fVxyXG4vLyBUT0RPOiAud3AtY2FwdGlvbiBpbWcge31cclxuLy8gVE9ETzogLndwLWNhcHRpb24tdGV4dCB7fVxyXG5cclxuLyoqIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMgKi9cclxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XHJcbiAgQGV4dGVuZCAuc2hvdy1mb3Itc3I7XHJcbiAgQGV4dGVuZCAuc2hvdy1vbi1mb2N1cztcclxufVxyXG4iLCIvL1xyXG4vLyBXb3JkUHJlc3MgVGFibGUgQmxvY2tcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vVW5zdHJpcGVkIGRlZmF1bHQgc3R5bGVcclxuLndwLWJsb2NrLXRhYmxlIHtcclxuICB0YWJsZSB7XHJcbiAgICB0aGVhZCxcclxuICAgIHRib2R5LFxyXG4gICAgdGZvb3Qge1xyXG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGVhZCB7XHJcbiAgICAgIHRoOm5vdCguaGFzLXRleHQtYWxpZ24tbGVmdCk6bm90KC5oYXMtdGV4dC1hbGlnbi1yaWdodCkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRmb290IHtcclxuICAgICAgdGQge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmhhcy1iYWNrZ3JvdW5kIHtcclxuICAgICAgdGhlYWQsXHJcbiAgICAgIHRib2R5LFxyXG4gICAgICB0Zm9vdCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvL1xyXG4vLyBXb3JkUHJlc3MgU2VwYXJhdG9yIEJsb2NrXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5oci53cC1ibG9jay1zZXBhcmF0b3I6bm90KC5pcy1zdHlsZS1kb3RzKSB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4iLCIvL1xuLy8gV29yZFByZXNzIEJ1dHRvbiBCbG9ja1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8tLSBCbG9ja3NcbltjbGFzcyo9XCJ3cC1ibG9jay1idXR0b25fX1wiXSB7XG4gIEBpbmNsdWRlIGJ1dHRvbjtcbn1cbiIsIi8vXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gcmMtYmFzZS1lbGVtZW50b3ItYnV0dG9uIHtcbiAgLmVsZW1lbnRvci1idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgICYuZWxlbWVudG9yLXNpemUteHMsXG4gICAgJi5lbGVtZW50b3Itc2l6ZS1zbSxcbiAgICAmLmVsZW1lbnRvci1zaXplLW1kLFxuICAgICYuZWxlbWVudG9yLXNpemUtbGcsXG4gICAgJi5lbGVtZW50b3Itc2l6ZS14bCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICB9XG4gIH1cblxuICAuZWxlbWVudG9yLWJ1dHRvbi1ob2xsb3cge1xuICAgIC5lbGVtZW50b3ItYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuICAgIH1cbiAgfVxuXG4gIC5lbGVtZW50b3ItZWxlbWVudCB7XG4gICAgJi5lbGVtZW50b3ItYnV0dG9uLWluZm8ge1xuICAgICAgLmVsZW1lbnRvci1idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJHNlY29uZGFyeS1jb2xvciwgYXV0bywgJGJ1dHRvbi1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5lbGVtZW50b3ItYnV0dG9uLXN1Y2Nlc3Mge1xuICAgICAgLmVsZW1lbnRvci1idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJHN1Y2Nlc3MtY29sb3IsIGF1dG8sICRidXR0b24tY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZWxlbWVudG9yLWJ1dHRvbi13YXJuaW5nIHtcbiAgICAgIC5lbGVtZW50b3ItYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCR3YXJuaW5nLWNvbG9yLCBhdXRvLCAkYnV0dG9uLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmVsZW1lbnRvci1idXR0b24tZGFuZ2VyIHtcbiAgICAgIC5lbGVtZW50b3ItYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRhbGVydC1jb2xvciwgYXV0bywgJGJ1dHRvbi1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBR0FBLDhCQUE4QjtBQUk5QiwyQkFBMkI7QUhEM0Isc0NBQXNDO0FhMER0Qyx1QkFBdUI7QUFneUJ2QixzQkFBc0I7QWE3MUJ0Qjs7Ozs7R0FLRztBSGlLRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTs7RW1HZDdDLEFBM0dBLE9BMkdPLEVBQVAsT0FBTyxBQWVKLEtBQUssRUFmUixPQUFPLEFBZ0JKLE1BQU0sRUFoQlQsT0FBTyxBQWlCSixNQUFNLENBNUhRO0lBQ2YsS0FBSyxFQUFFLElBQUk7SUFDWCxJQUFJLEVBQUUsSUFBSTtJQUNWLE1BQU0sRUFBRSxNQUFNLEdBQ2Y7O0E0QmhESDs7Ozs7O0dBTUc7O0FDTEgsQUFBQSxVQUFVLENBQUM7RUFDVCxPQUFPLEVySjhCd0IsSUFBSSxDQURKLElBQUk7RXFKNUJuQyxPQUFPLEVBQUUsWUFBWTtFQUNyQixNQUFNLEVBQUUsT0FBTztFQUVmLG1CQUFtQixFQUFFLGVBQWU7RUFDcEMsbUJBQW1CLEVBQUUsS0FBSztFQUMxQiwwQkFBMEIsRUFBRSxNQUFNO0VBR2xDLElBQUksRUFBRSxPQUFPO0VBQ2IsS0FBSyxFQUFFLE9BQU87RUFDZCxjQUFjLEVBQUUsSUFBSTtFQUNwQixnQkFBZ0IsRUFBRSxXQUFXO0VBQzdCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsTUFBTSxFQUFFLENBQUM7RUFDVCxRQUFRLEVBQUUsT0FBTyxHQTJCbEI7O0VBM0NELEFBa0JFLFVBbEJRLEFBa0JQLE1BQU0sQ0FBQztJQUtKLE9BQU8sRXJKY29CLEdBQUcsR3FKWmpDOztFQXpCSCxBQTRCSSxVQTVCTSxBQTJCUCxVQUFVLEFBQ1IsTUFBTSxDQUFDO0lBS0osT0FBTyxFckpJa0IsR0FBRyxHcUpGL0I7O0VBbkNM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QUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLElBQXNCLEdJbkMzQztFdEVnSFAsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7O0l1RW1FekMsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7TUpzQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO01Kc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7TUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO01Kc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7TUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO01Kc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxVQUFVLENBQUk7TUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFVBQVUsQ0FBSTtNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsVUFBVSxDQUFJO01Kc0N4QixLQUFhLEVBRGlCLElBQXNCLEdJbkMzQztFdEVnSFAsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7O0l1RW1FekMsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07TUpzQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO01Kc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07TUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO01Kc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07TUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO01Kc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7TUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO01Kc0N4QixLQUFhLEVBRGlCLElBQXNCLEdJbkMzQzs7O0FDeUxQLEFBQUEsdUJBQXVCLENBQUU7RUQvS3ZCLFlBQWdCLEVBQVMsQ0FBQztFQUExQixXQUFnQixFQUFTLENBQUMsR0NpTDNCOztFQUZELEFENUtBLHVCQzRLdUIsR0Q1S3JCLEtBQUssQ0FBUTtJQUVYLGFBQWlCLEVBQVUsQ0FBQztJQUE1QixZQUFpQixFQUFVLENBQUMsR0FFL0I7O0F0RStGRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTs7RXVFbUV6QyxBQUFBLHVCQUF1QixDQUFDO0lEaE50QixZQUFnQixFQUFTLENBQUM7SUFBMUIsV0FBZ0IsRUFBUyxDQUFDLEdDa04zQjs7SUFGRCxBRDdNQSx1QkM2TXVCLEdEN01yQixLQUFLLENBQVE7TUFFWCxZQUFnQixFQUFTLENBQUM7TUFBMUIsV0FBZ0IsRUFBUyxDQUFDLEdBRTdCOztBdEVzSUQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7O0V1RW1FekMsQUQ5TE0sdUJDOExpQixHRDlMZixRQUFRLENBQU07SUorQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSx1QkM4TGlCLEdEOUxmLFFBQVEsQ0FBTTtJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHVCQzhMaUIsR0Q5TGYsUUFBUSxDQUFNO0lKK0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sdUJDOExpQixHRDlMZixRQUFRLENBQU07SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSx1QkM4TGlCLEdEOUxmLFFBQVEsQ0FBTTtJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHVCQzhMaUIsR0Q5TGYsUUFBUSxDQUFNO0lKK0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sdUJDOExpQixHRDlMZixRQUFRLENBQU07SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSx1QkM4TGlCLEdEOUxmLFFBQVEsQ0FBTTtJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHVCQzhMaUIsR0Q5TGYsUUFBUSxDQUFNO0lKK0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sdUJDOExpQixHRDlMZixTQUFTLENBQUs7SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSx1QkM4TGlCLEdEOUxmLFNBQVMsQ0FBSztJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHVCQzhMaUIsR0Q5TGYsU0FBUyxDQUFLO0lKK0N4QixLQUFhLEVBRGlCLElBQXNCLEdJNUMzQzs7QXRFeUhQLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJOztFdUVtRXpDLEFEckxNLHVCQ3FMaUIsR0RyTGYsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLFFBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixTQUFTLENBQUs7SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFNBQVMsQ0FBSztJSnNDeEIsS0FBYSxFQURpQixHQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixTQUFTLENBQUs7SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFNBQVMsQ0FBSztJSnNDeEIsS0FBYSxFQURpQixHQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixTQUFTLENBQUs7SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFNBQVMsQ0FBSztJSnNDeEIsS0FBYSxFQURpQixHQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsVUFBVSxDQUFJO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixVQUFVLENBQUk7SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFVBQVUsQ0FBSTtJSnNDeEIsS0FBYSxFQURpQixJQUFzQixHSW5DM0M7O0F0RWdIUCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTs7RXVFbUV6QyxBRHJMTSx1QkNxTGlCLEdEckxmLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixRQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sdUJD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SztJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsU0FBUyxDQUFLO0lKK0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxTQUFTLENBQUs7SUorQ3hCLEtBQWEsRUFEaUIsSUFBc0IsR0k1QzNDOztBdEV5SFAsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7O0V1RW1FekMsQUQ5TE0sc0JDOExnQixHRDlMZCxTQUFTLENBQUs7SUorQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFNBQVMsQ0FBSztJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsU0FBUyxDQUFLO0lKK0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxTQUFTLENBQUs7SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFNBQVMsQ0FBSztJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsU0FBUyxDQUFLO0lKK0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxTQUFTLENBQUs7SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFNBQVMsQ0FBSztJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsU0FBUyxDQUFLO0lKK0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxVQUFVLENBQUk7SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFVBQVUsQ0FBSTtJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsVUFBVSxDQUFJO0lKK0N4QixLQUFhLEVBRGlCLElBQXNCLEdJNUMzQzs7QXRFeUhQLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJOztFdUVtRXpDLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLFFBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixHQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixHQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixHQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJM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ekRyRDs7O0FFc0tLLEFGeEtOLFdFd0tpQixHRnhLYixLQUFLLENBQVE7RUg0RGYsS0FBYSxFQURpQixHQUFzQixHR3pEckQ7OztBRXNLSyxBRnhLTixXRXdLaUIsR0Z4S2IsS0FBSyxDQUFRO0VINERmLEtBQWEsRUFEaUIsR0FBc0IsR0d6RHJEOzs7QUVzS0ssQUZ4S04sV0V3S2lCLEdGeEtiLEtBQUssQ0FBUTtFSDREZixLQUFhLEVBRGlCLFNBQXNCLEdHekRyRDs7O0FFc0tLLEFGeEtOLFdFd0tpQixHRnhLYixLQUFLLENBQVE7RUg0RGYsS0FBYSxFQURpQixTQUFzQixHR3pEckQ7OztBRXNLSyxBRnhLTixXRXdLaUIsR0Z4S2IsS0FBSyxDQUFRO0VINERmLEtBQWEsRUFEaUIsS0FBc0IsR0d6RHJEOztBckVzSUcsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7O0V1RWdDdkMsQUZ4S04sWUV3S2tCLEdGeEtkLEtBQUssQ0FBUTtJSDREZixLQUFhLEVBRGlCLElBQXNCLEdHekRyRDs7RUVzS0ssQUZ4S04sWUV3S2tCLEdGeEtkLEtBQUssQ0FBUTtJSDREZixLQUFhLEVBRGlCLEdBQXNCLEdHekRyRDs7RUVzS0ssQUZ4S04sWUV3S2tCLEdGeEtkLEtBQUssQ0FBUTtJSDREZixLQUFhLEVBRGlCLFNBQXNCLEdHekRyRDs7RUVzS0ssQUZ4S04sWUV3S2tCLEdGeEtkLEtBQUssQ0FBUTtJSDREZixLQUFhLEVBRGlCLEdBQXNCLEdHekRyRDs7RUVzS0ssQUZ4S04sWUV3S2tCLEdGeEtkLEtBQUssQ0FBUTtJSDREZixLQUFhLEVBRGlCLEdBQXNCLEdHekRyRDs7RUVzS0ssQUZ4S04sWUV3S2tCLEdGeEtkLEtBQUssQ0FBUTtJSDREZixLQUFhLEVBRGlCLFNBQXNCLEdHekRyRDs7RUVzS0ssQUZ4S04sWUV3S2tCLEdGeEtkLEtBQUssQ0FBUTtJSDREZixLQUFhLEVBRGlCLFNBQXNCLEdHekRyRDs7RUVzS0ssQUZ4S04sWUV3S2tCLEdGeEtkLEtBQUssQ0FBUTtJSDREZixL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c0JDcUxnQixHRHJMZCxRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLElBQXNCLEdJbkMzQztFdEVnSFAsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7O0l1RW1FekMsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7TUpzQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO01Kc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7TUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO01Kc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7TUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO01Kc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxVQUFVLENBQUk7TUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFVBQVUsQ0FBSTtNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsVUFBVSxDQUFJO01Kc0N4QixLQUFhLEVBRGlCLElBQXNCLEdJbkMzQztFdEVnSFAsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7O0l1RW1FekMsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07TUpzQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO01Kc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07TUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO01Kc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07TUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO01Kc0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJbkMzQzs7SUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxTQUFTLENBQUs7TUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztJQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFNBQVMsQ0FBSztNSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0lDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsU0FBUyxDQUFLO01Kc0N4QixLQUFhLEVBRGlCLElBQXNCLEdJbkMzQzs7O0FDeUxQLEFBQUEsdUJBQXVCLENBQUU7RUQvS3ZCLFlBQWdCLEVBQVMsQ0FBQztFQUExQixXQUFnQixFQUFTLENBQUMsR0NpTDNCOztFQUZELEFENUtBLHVCQzRLdUIsR0Q1S3JCLEtBQUssQ0FBUTtJQUVYLGFBQWlCLEVBQVUsQ0FBQztJQUE1QixZQUFpQixFQUFVLENBQUMsR0FFL0I7O0F0RStGRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTs7RXVFbUV6QyxBQUFBLHVCQUF1QixDQUFDO0lEaE50QixZQUFnQixFQUFTLENBQUM7SUFBMUIsV0FBZ0IsRUFBUyxDQUFDLEdDa04zQjs7SUFGRCxBRDdNQSx1QkM2TXVCLEdEN01yQixLQUFLLENBQVE7TUFFWCxZQUFnQixFQUFTLENBQUM7TUFBMUIsV0FBZ0IsRUFBUyxDQUFDLEdBRTdCOztBdEVzSUQsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7O0V1RW1FekMsQUQ5TE0sdUJDOExpQixHRDlMZixRQUFRLENBQU07SUorQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSx1QkM4TGlCLEdEOUxmLFFBQVEsQ0FBTTtJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHVCQzhMaUIsR0Q5TGYsUUFBUSxDQUFNO0lKK0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sdUJDOExpQixHRDlMZixRQUFRLENBQU07SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSx1QkM4TGlCLEdEOUxmLFFBQVEsQ0FBTTtJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHVCQzhMaUIsR0Q5TGYsUUFBUSxDQUFNO0lKK0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sdUJDOExpQixHRDlMZixRQUFRLENBQU07SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSx1QkM4TGlCLEdEOUxmLFFBQVEsQ0FBTTtJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHVCQzhMaUIsR0Q5TGYsUUFBUSxDQUFNO0lKK0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sdUJDOExpQixHRDlMZixTQUFTLENBQUs7SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSx1QkM4TGlCLEdEOUxmLFNBQVMsQ0FBSztJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHVCQzhMaUIsR0Q5TGYsU0FBUyxDQUFLO0lKK0N4QixLQUFhLEVBRGlCLElBQXNCLEdJNUMzQzs7QXRFeUhQLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJOztFdUVtRXpDLEFEckxNLHVCQ3FMaUIsR0RyTGYsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLFFBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixTQUFTLENBQUs7SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFNBQVMsQ0FBSztJSnNDeEIsS0FBYSxFQURpQixHQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixTQUFTLENBQUs7SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFNBQVMsQ0FBSztJSnNDeEIsS0FBYSxFQURpQixHQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixTQUFTLENBQUs7SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFNBQVMsQ0FBSztJSnNDeEIsS0FBYSxFQURpQixHQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsVUFBVSxDQUFJO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixVQUFVLENBQUk7SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFVBQVUsQ0FBSTtJSnNDeEIsS0FBYSxFQURpQixJQUFzQixHSW5DM0M7O0F0RWdIUCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTs7RXVFbUV6QyxBRHJMTSx1QkNxTGlCLEdEckxmLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixRQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSx1QkNxTGlCLEdEckxmLFNBQVMsQ0FBSztJSnNDeEIsS0FBYSxFQURpQixTQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHVCQ3FMaUIsR0RyTGYsU0FBUyxDQUFLO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sdUJDcUxpQixHRHJMZixTQUFTLENBQUs7SUpzQ3hCLEtBQWEsRUFEaUIsSUFBc0IsR0luQzNDOztBdEVnSFAsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7O0V1RXlFekMsQUFBQSx3QkFBd0IsQ0FBQztJRC9LdkIsWUFBZ0IsRUFBUyxDQUFDO0lBQTFCLFdBQWdCLEVBQVMsQ0FBQyxHQ2lMM0I7O0lBRkQsQUQ1S0Esd0JDNEt3QixHRDVLdEIsS0FBSyxDQUFRO01BRVgsYUFBaUIsRUFBVSxDQUFDO01BQTVCLFlBQWlCLEVBQVUsQ0FBQyxHQUUvQjs7QXRFK0ZELE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJOztFdUVtRXpDLEFBQUEsc0JBQXNCLENBQUU7SURoTnRCLFlBQWdCLEVBQVMsQ0FBQztJQUExQixXQUFnQixFQUFTLENBQUMsR0NrTjNCOztJQUZELEFEN01BLHNCQzZNc0IsR0Q3TXBCLEtBQUssQ0FBUTtNQUVYLFlBQWdCLEVBQVMsQ0FBQztNQUExQixXQUFnQixFQUFTLENBQUMsR0FFN0I7O0F0RXNJRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTs7RXVFbUV6QyxBRDlMTSxzQkM4TGdCLEdEOUxkLFFBQVEsQ0FBTTtJSitDeEIsS0FBYSxFQURpQixRQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsUUFBUSxDQUFNO0lKK0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxRQUFRLENBQU07SUorQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFFBQVEsQ0FBTTtJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsUUFBUSxDQUFNO0lKK0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxRQUFRLENBQU07SUorQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFFBQVEsQ0FBTTtJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsUUFBUSxDQUFNO0lKK0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxRQUFRLENBQU07SUorQ3hCLEtBQWEsRUFEaUIsR0FBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFNBQVMsQ0FBSztJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsU0FBUyxDQUFLO0lKK0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxTQUFTLENBQUs7SUorQ3hCLEtBQWEsRUFEaUIsSUFBc0IsR0k1QzNDOztBdEV5SFAsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLE1BQU0sU0FBUyxFQUFFLElBQUk7O0V1RW1FekMsQUQ5TE0sc0JDOExnQixHRDlMZCxTQUFTLENBQUs7SUorQ3hCLEtBQWEsRUFEaUIsUUFBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFNBQVMsQ0FBSztJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsU0FBUyxDQUFLO0lKK0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxTQUFTLENBQUs7SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFNBQVMsQ0FBSztJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsU0FBUyxDQUFLO0lKK0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxTQUFTLENBQUs7SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFNBQVMsQ0FBSztJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsU0FBUyxDQUFLO0lKK0N4QixLQUFhLEVBRGlCLEdBQXNCLEdJNUMzQzs7RUM0TFAsQUQ5TE0sc0JDOExnQixHRDlMZCxVQUFVLENBQUk7SUorQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0k1QzNDOztFQzRMUCxBRDlMTSxzQkM4TGdCLEdEOUxkLFVBQVUsQ0FBSTtJSitDeEIsS0FBYSxFQURpQixTQUFzQixHSTVDM0M7O0VDNExQLEFEOUxNLHNCQzhMZ0IsR0Q5TGQsVUFBVSxDQUFJO0lKK0N4QixLQUFhLEVBRGlCLElBQXNCLEdJNUMzQzs7QXRFeUhQLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJOztFdUVtRXpDLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLFFBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixHQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0IsR0luQzNDOztFQ21MUCxBRHJMTSxzQkNxTGdCLEdEckxkLFFBQVEsQ0FBTTtJSnNDeEIsS0FBYSxFQURpQixHQUFzQixHSW5DM0M7O0VDbUxQLEFEckxNLHNCQ3FMZ0IsR0RyTGQsUUFBUSxDQUFNO0lKc0N4QixLQUFhLEVBRGlCLFNBQXNCLEdJbkMzQzs7RUNtTFAsQURyTE0sc0JDcUxnQixHRHJMZCxRQUFRLENBQU07SUpzQ3hCLEtBQWEsRUFEaUIsU0FBc0Is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 */\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/main.scss","/** Import Functions styles */\n@import \"functions/string\";\n@import \"functions/color\";\n\n/** Import Mixins styles */\n@import \"mixins/font\";\n@import \"mixins/animation\";\n@import \"mixins/icons\";\n@import \"mixins/form\";\n@import \"mixins/fit\";\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/util/_util.scss","@import \"common/variables\";\n@import \"settings/settings\";\n\n/** Import everything from autoload */\n@import \"./autoload/_rc-base-zf.scss\"; @import \"./autoload/rc-base-zf\"; @import \"./autoload/rc-base-zf/_foundation.scss\";\n\n/**\n * Import npm dependencies\n *\n * Prefix your imports with `~` to grab from node_modules/\n * @see https://github.com/webpack-contrib/sass-loader#imports\n */\n// @import \"~some-node-module\";\n\n/** Import base */\n@import \"rc-base-zf\";\n\n@include rc-base-elementor-everything;\n@include rc-base-style(true);\n@include rc-base-style-font();\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/main.scss","//  Foundation for Sites Settings\n//  -----------------------------\n//\n//  Table of Contents:\n//\n//   1. Global\n//   2. Breakpoints\n//   3. The Grid\n//   4. Base Typography\n//   5. Typography Helpers\n//   6. Abide\n//   7. Accordion\n//   8. Accordion Menu\n//   9. Badge\n//  10. Breadcrumbs\n//  11. Button\n//  12. Button Group\n//  13. Callout\n//  14. Card\n//  15. Close Button\n//  16. Drilldown\n//  17. Dropdown\n//  18. Dropdown Menu\n//  19. Flexbox Utilities\n//  20. Forms\n//  21. Label\n//  22. Media Object\n//  23. Menu\n//  24. Meter\n//  25. Off-canvas\n//  26. Orbit\n//  27. Pagination\n//  28. Progress Bar\n//  29. Prototype Arrow\n//  30. Prototype Border-Box\n//  31. Prototype Border-None\n//  32. Prototype Bordered\n//  33. Prototype Display\n//  34. Prototype Font-Styling\n//  35. Prototype List-Style-Type\n//  36. Prototype Overflow\n//  37. Prototype Position\n//  38. Prototype Rounded\n//  39. Prototype Separator\n//  40. Prototype Shadow\n//  41. Prototype Sizing\n//  42. Prototype Spacing\n//  43. Prototype Text-Decoration\n//  44. Prototype Text-Transformation\n//  45. Prototype Text-Utilities\n//  46. Responsive Embed\n//  47. Reveal\n//  48. Slider\n//  49. Switch\n//  50. Table\n//  51. Tabs\n//  52. Thumbnail\n//  53. Title Bar\n//  54. Tooltip\n//  55. Top Bar\n//  56. Xy Grid\n/* stylelint-disable */\n\n@import \"~foundation-sites/scss/util/util\";\n\n// 1. Global\n// ---------\n\n$global-font-size: 100%;\n$global-width: rem-calc(1200);\n$global-lineheight: 1.5;\n$foundation-palette: $base-palette;\n$light-gray: $light-gray-base;\n$medium-gray: $medium-gray-base;\n$dark-gray: $dark-gray-base;\n$black: $black-base;\n$white: $white-base;\n$body-background: $body-background-base;\n$body-font-color: $body-font-color-base;\n$body-font-family: $body-font-family-base;\n$body-antialiased: true;\n$global-margin: 1rem;\n$global-padding: 1rem;\n$global-position: 1rem;\n$global-weight-normal: normal;\n$global-weight-bold: bold;\n$global-radius: 0;\n$global-menu-padding: 0.7rem 1rem;\n$global-menu-nested-margin: 1rem;\n$global-text-direction: ltr;\n$global-flexbox: $global-flexbox-base;\n$global-prototype-breakpoints: false;\n$global-button-cursor: auto;\n$global-color-pick-contrast-tolerance: 0;\n$print-transparent-backgrounds: true;\n\n@include add-foundation-colors;\n\n// 2. Breakpoints\n// --------------\n\n$breakpoints: (\n  small: 0,\n  medium: 640px,\n  large: 1024px,\n  xlarge: 1200px,\n  xxlarge: 1440px,\n);\n$print-breakpoint: large;\n$breakpoint-classes: (small medium large);\n\n// 3. The Grid\n// -----------\n\n$grid-row-width: $global-width;\n$grid-column-count: 12;\n$grid-column-gutter: (\n  small: 20px,\n  medium: 30px,\n);\n$grid-column-align-edge: true;\n$grid-column-alias: 'columns';\n$block-grid-max: 8;\n\n// 4. Base Typography\n// ------------------\n\n$header-font-family: $body-font-family;\n$header-font-weight: $global-weight-normal;\n$header-font-style: normal;\n$font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace;\n$header-color: inherit;\n$header-lineheight: 1.4;\n$header-margin-bottom: 0.5rem;\n$header-styles: (\n  small: (\n    'h1': ('font-size': 24),\n    'h2': ('font-size': 20),\n    'h3': ('font-size': 19),\n    'h4': ('font-size': 18),\n    'h5': ('font-size': 17),\n    'h6': ('font-size': 16),\n  ),\n  medium: (\n    'h1': ('font-size': 48),\n    'h2': ('font-size': 40),\n    'h3': ('font-size': 31),\n    'h4': ('font-size': 25),\n    'h5': ('font-size': 20),\n    'h6': ('font-size': 16),\n  ),\n);\n$header-text-rendering: optimizeLegibility;\n$small-font-size: 80%;\n$header-small-font-color: $medium-gray;\n$paragraph-lineheight: 1.6;\n$paragraph-margin-bottom: 1rem;\n$paragraph-text-rendering: optimizeLegibility;\n$code-color: $black;\n$code-font-family: $font-family-monospace;\n$code-font-weight: $global-weight-normal;\n$code-background: $light-gray;\n$code-border: 1px solid $medium-gray;\n$code-padding: rem-calc(2 5 1);\n$anchor-color: $primary-color;\n$anchor-color-hover: scale-color($anchor-color, $lightness: -14%);\n$anchor-text-decoration: none;\n$anchor-text-decoration-hover: none;\n$hr-width: $global-width;\n$hr-border: 1px solid $medium-gray;\n$hr-margin: rem-calc(20) auto;\n$list-lineheight: $paragraph-lineheight;\n$list-margin-bottom: $paragraph-margin-bottom;\n$list-style-type: disc;\n$list-style-position: outside;\n$list-side-margin: 1.25rem;\n$list-nested-side-margin: 1.25rem;\n$defnlist-margin-bottom: 1rem;\n$defnlist-term-weight: $global-weight-bold;\n$defnlist-term-margin-bottom: 0.3rem;\n$blockquote-color: $dark-gray;\n$blockquote-padding: rem-calc(9 20 0 19);\n$blockquote-border: 1px solid $medium-gray;\n$cite-font-size: rem-calc(13);\n$cite-color: $dark-gray;\n$cite-pseudo-content: '\\2014 \\0020';\n$keystroke-font: $font-family-monospace;\n$keystroke-color: $black;\n$keystroke-background: $light-gray;\n$keystroke-padding: rem-calc(2 4 0);\n$keystroke-radius: $global-radius;\n$abbr-underline: 1px dotted $black;\n\n// 5. Typography Helpers\n// ---------------------\n\n$lead-font-size: $global-font-size * 1.25;\n$lead-lineheight: 1.6;\n$subheader-lineheight: 1.4;\n$subheader-color: $dark-gray;\n$subheader-font-weight: $global-weight-normal;\n$subheader-margin-top: 0.2rem;\n$subheader-margin-bottom: 0.5rem;\n$stat-font-size: 2.5rem;\n\n// 6. Abide\n// --------\n\n$abide-inputs: true;\n$abide-labels: true;\n$input-background-invalid: get-color(alert);\n$form-label-color-invalid: get-color(alert);\n$input-error-color: get-color(alert);\n$input-error-font-size: rem-calc(12);\n$input-error-font-weight: $global-weight-bold;\n\n// 7. Accordion\n// ------------\n\n$accordion-background: $white;\n$accordion-plusminus: true;\n$accordion-title-font-size: rem-calc(12);\n$accordion-item-color: $primary-color;\n$accordion-item-background-hover: $light-gray;\n$accordion-item-padding: 1.25rem 1rem;\n$accordion-content-background: $white;\n$accordion-content-border: 1px solid $light-gray;\n$accordion-content-color: $body-font-color;\n$accordion-content-padding: 1rem;\n\n// 8. Accordion Menu\n// -----------------\n\n$accordionmenu-padding: $global-menu-padding;\n$accordionmenu-nested-margin: $global-menu-nested-margin;\n$accordionmenu-submenu-padding: $accordionmenu-padding;\n$accordionmenu-arrows: true;\n$accordionmenu-arrow-color: $primary-color;\n$accordionmenu-item-background: null;\n$accordionmenu-border: null;\n$accordionmenu-submenu-toggle-background: null;\n$accordion-submenu-toggle-border: $accordionmenu-border;\n$accordionmenu-submenu-toggle-width: 40px;\n$accordionmenu-submenu-toggle-height: $accordionmenu-submenu-toggle-width;\n$accordionmenu-arrow-size: 6px;\n\n// 9. Badge\n// --------\n\n$badge-background: $primary-color;\n$badge-color: $white;\n$badge-color-alt: $black;\n$badge-palette: $foundation-palette;\n$badge-padding: 0.3em;\n$badge-minwidth: 2.1em;\n$badge-font-size: 0.6rem;\n\n// 10. Breadcrumbs\n// ---------------\n$breadcrumbs-margin: 0 0 $global-margin 0;\n$breadcrumbs-item-font-size: rem-calc(11);\n$breadcrumbs-item-color: $primary-color;\n$breadcrumbs-item-color-current: $black;\n$breadcrumbs-item-color-disabled: $medium-gray;\n$breadcrumbs-item-margin: 0.75rem;\n$breadcrumbs-item-uppercase: true;\n$breadcrumbs-item-separator: true;\n$breadcrumbs-item-separator-item: '\\002F';\n$breadcrumbs-item-separator-item-rtl: '\\005C';\n$breadcrumbs-item-separator-color: $medium-gray;\n\n// 11. Button\n// ----------\n\n$button-font-family: inherit;\n$button-padding: 0.85em 1em;\n$button-margin: 0 0 $global-margin 0;\n$button-fill: solid;\n$button-background: $primary-color;\n$button-background-hover: scale-color($button-background, $lightness: -15%);\n$button-color: $white;\n$button-color-alt: $black;\n$button-radius: $global-radius;\n$button-hollow-border-width: 1px;\n$button-sizes: (\n  tiny: 0.6rem,\n  small: 0.75rem,\n  default: 0.9rem,\n  large: 1.25rem,\n);\n$button-palette: $foundation-palette;\n$button-opacity-disabled: 0.25;\n$button-background-hover-lightness: -20%;\n$button-hollow-hover-lightness: -50%;\n$button-transition: background-color 0.25s ease-out, color 0.25s ease-out;\n$button-responsive-expanded: false;\n\n// 12. Button Group\n// ----------------\n\n$buttongroup-margin: 1rem;\n$buttongroup-spacing: 1px;\n$buttongroup-child-selector: '.button';\n$buttongroup-expand-max: 6;\n$buttongroup-radius-on-each: true;\n\n// 13. Callout\n// -----------\n\n$callout-background: $white;\n$callout-background-fade: 85%;\n$callout-border: 1px solid rgba($black, 0.25);\n$callout-margin: 0 0 1rem 0;\n$callout-padding: 1rem;\n$callout-font-color: $body-font-color;\n$callout-font-color-alt: $body-background;\n$callout-radius: $global-radius;\n$callout-link-tint: 30%;\n\n// 14. Card\n// --------\n\n$card-background: $white;\n$card-font-color: $body-font-color;\n$card-divider-background: $light-gray;\n$card-border: 1px solid $light-gray;\n$card-shadow: none;\n$card-border-radius: $global-radius;\n$card-padding: $global-padding;\n$card-margin-bottom: $global-margin;\n\n// 15. Close Button\n// ----------------\n\n$closebutton-position: right top;\n$closebutton-offset-horizontal: (\n  small: 0.66rem,\n  medium: 1rem,\n);\n$closebutton-offset-vertical: (\n  small: 0.33em,\n  medium: 0.5rem,\n);\n$closebutton-size: (\n  small: 1.5em,\n  medium: 2em,\n);\n$closebutton-lineheight: 1;\n$closebutton-color: $dark-gray;\n$closebutton-color-hover: $black;\n\n// 16. Drilldown\n// -------------\n\n$drilldown-transition: transform 0.15s linear;\n$drilldown-arrows: true;\n$drilldown-padding: $global-menu-padding;\n$drilldown-nested-margin: 0;\n$drilldown-background: $white;\n$drilldown-submenu-padding: $drilldown-padding;\n$drilldown-submenu-background: $white;\n$drilldown-arrow-color: $primary-color;\n$drilldown-arrow-size: 6px;\n\n// 17. Dropdown\n// ------------\n\n$dropdown-padding: 1rem;\n$dropdown-background: $body-background;\n$dropdown-border: 1px solid $medium-gray;\n$dropdown-font-size: 1rem;\n$dropdown-width: 300px;\n$dropdown-radius: $global-radius;\n$dropdown-sizes: (\n  tiny: 100px,\n  small: 200px,\n  large: 400px,\n);\n\n// 18. Dropdown Menu\n// -----------------\n\n$dropdownmenu-arrows: true;\n$dropdownmenu-arrow-color: $anchor-color;\n$dropdownmenu-arrow-size: 6px;\n$dropdownmenu-arrow-padding: 1.5rem;\n$dropdownmenu-min-width: 200px;\n$dropdownmenu-background: null;\n$dropdownmenu-submenu-background: $white;\n$dropdownmenu-padding: $global-menu-padding;\n$dropdownmenu-nested-margin: 0;\n$dropdownmenu-submenu-padding: $dropdownmenu-padding;\n$dropdownmenu-border: 1px solid $medium-gray;\n$dropdown-menu-item-color-active: get-color(primary);\n$dropdown-menu-item-background-active: transparent;\n\n// 19. Flexbox Utilities\n// ---------------------\n\n$flex-source-ordering-count: 6;\n$flexbox-responsive-breakpoints: true;\n\n// 20. Forms\n// ---------\n\n$fieldset-border: 1px solid $medium-gray;\n$fieldset-padding: rem-calc(20);\n$fieldset-margin: rem-calc(18 0);\n$legend-padding: rem-calc(0 3);\n$form-spacing: rem-calc(16);\n$helptext-color: $black;\n$helptext-font-size: rem-calc(13);\n$helptext-font-style: italic;\n$input-prefix-color: $black;\n$input-prefix-background: $light-gray;\n$input-prefix-border: 1px solid $medium-gray;\n$input-prefix-padding: 1rem;\n$form-label-color: $black;\n$form-label-font-size: rem-calc(14);\n$form-label-font-weight: $global-weight-normal;\n$form-label-line-height: 1.8;\n$select-background: $white;\n$select-triangle-color: $dark-gray;\n$select-radius: $global-radius;\n$input-color: $black;\n$input-placeholder-color: $medium-gray;\n$input-font-family: inherit;\n$input-font-size: rem-calc(16);\n$input-font-weight: $global-weight-normal;\n$input-line-height: $global-lineheight;\n$input-background: $white;\n$input-background-focus: $white;\n$input-background-disabled: $light-gray;\n$input-border: 1px solid $medium-gray;\n$input-border-focus: 1px solid $dark-gray;\n$input-padding: $form-spacing / 2;\n$input-shadow: inset 0 1px 2px rgba($black, 0.1);\n$input-shadow-focus: 0 0 5px $medium-gray;\n$input-cursor-disabled: not-allowed;\n$input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n$input-number-spinners: true;\n$input-radius: $global-radius;\n$form-button-radius: $global-radius;\n\n// 21. Label\n// ---------\n\n$label-background: $primary-color;\n$label-color: $white;\n$label-color-alt: $black;\n$label-palette: $foundation-palette;\n$label-font-size: 0.8rem;\n$label-padding: 0.33333rem 0.5rem;\n$label-radius: $global-radius;\n\n// 22. Media Object\n// ----------------\n\n$mediaobject-margin-bottom: $global-margin;\n$mediaobject-section-padding: $global-padding;\n$mediaobject-image-width-stacked: 100%;\n\n// 23. Menu\n// --------\n\n$menu-margin: 0;\n$menu-nested-margin: $global-menu-nested-margin;\n$menu-items-padding: $global-menu-padding;\n$menu-simple-margin: 1rem;\n$menu-item-color-active: $white;\n$menu-item-background-active: get-color(primary);\n$menu-icon-spacing: 0.25rem;\n$menu-state-back-compat: true;\n$menu-centered-back-compat: true;\n$menu-icons-back-compat: true;\n\n// 24. Meter\n// ---------\n\n$meter-height: 1rem;\n$meter-radius: $global-radius;\n$meter-background: $medium-gray;\n$meter-fill-good: $success-color;\n$meter-fill-medium: $warning-color;\n$meter-fill-bad: $alert-color;\n\n// 25. Off-canvas\n// --------------\n\n$offcanvas-sizes: (\n  small: 250px,\n);\n$offcanvas-vertical-sizes: (\n  small: 250px,\n);\n$offcanvas-background: $light-gray;\n$offcanvas-shadow: 0 0 10px rgba($black, 0.7);\n$offcanvas-inner-shadow-size: 20px;\n$offcanvas-inner-shadow-color: rgba($black, 0.25);\n$offcanvas-overlay-zindex: 11;\n$offcanvas-push-zindex: 12;\n$offcanvas-overlap-zindex: 13;\n$offcanvas-reveal-zindex: 12;\n$offcanvas-transition-length: 0.5s;\n$offcanvas-transition-timing: ease;\n$offcanvas-fixed-reveal: true;\n$offcanvas-exit-background: rgba($white, 0.25);\n$maincontent-class: 'off-canvas-content';\n\n// 26. Orbit\n// ---------\n\n$orbit-bullet-background: $medium-gray;\n$orbit-bullet-background-active: $dark-gray;\n$orbit-bullet-diameter: 1.2rem;\n$orbit-bullet-margin: 0.1rem;\n$orbit-bullet-margin-top: 0.8rem;\n$orbit-bullet-margin-bottom: 0.8rem;\n$orbit-caption-background: rgba($black, 0.5);\n$orbit-caption-padding: 1rem;\n$orbit-control-background-hover: rgba($black, 0.5);\n$orbit-control-padding: 1rem;\n$orbit-control-zindex: 10;\n\n// 27. Pagination\n// --------------\n\n$pagination-font-size: rem-calc(14);\n$pagination-margin-bottom: $global-margin;\n$pagination-item-color: $black;\n$pagination-item-padding: rem-calc(3 10);\n$pagination-item-spacing: rem-calc(1);\n$pagination-radius: $global-radius;\n$pagination-item-background-hover: $light-gray;\n$pagination-item-background-current: $primary-color;\n$pagination-item-color-current: $white;\n$pagination-item-color-disabled: $medium-gray;\n$pagination-ellipsis-color: $black;\n$pagination-mobile-items: false;\n$pagination-mobile-current-item: false;\n$pagination-arrows: true;\n\n// 28. Progress Bar\n// ----------------\n\n$progress-height: 1rem;\n$progress-background: $medium-gray;\n$progress-margin-bottom: $global-margin;\n$progress-meter-background: $primary-color;\n$progress-radius: $global-radius;\n\n// 29. Prototype Arrow\n// -------------------\n\n$prototype-arrow-directions: (\n  down,\n  up,\n  right,\n  left\n);\n$prototype-arrow-size: 0.4375rem;\n$prototype-arrow-color: $black;\n\n// 30. Prototype Border-Box\n// ------------------------\n\n$prototype-border-box-breakpoints: $global-prototype-breakpoints;\n\n// 31. Prototype Border-None\n// -------------------------\n\n$prototype-border-none-breakpoints: $global-prototype-breakpoints;\n\n// 32. Prototype Bordered\n// ----------------------\n\n$prototype-bordered-breakpoints: $global-prototype-breakpoints;\n$prototype-border-width: rem-calc(1);\n$prototype-border-type: solid;\n$prototype-border-color: $medium-gray;\n\n// 33. Prototype Display\n// ---------------------\n\n$prototype-display-breakpoints: $global-prototype-breakpoints;\n$prototype-display: (\n  inline,\n  inline-block,\n  block,\n  table,\n  table-cell\n);\n\n// 34. Prototype Font-Styling\n// --------------------------\n\n$prototype-font-breakpoints: $global-prototype-breakpoints;\n$prototype-wide-letter-spacing: rem-calc(4);\n$prototype-font-normal: $global-weight-normal;\n$prototype-font-bold: $global-weight-bold;\n\n// 35. Prototype List-Style-Type\n// -----------------------------\n\n$prototype-list-breakpoints: $global-prototype-breakpoints;\n$prototype-style-type-unordered: (\n  disc,\n  circle,\n  square\n);\n$prototype-style-type-ordered: (\n  decimal,\n  lower-alpha,\n  lower-latin,\n  lower-roman,\n  upper-alpha,\n  upper-latin,\n  upper-roman\n);\n\n// 36. Prototype Overflow\n// ----------------------\n\n$prototype-overflow-breakpoints: $global-prototype-breakpoints;\n$prototype-overflow: (\n  visible,\n  hidden,\n  scroll\n);\n\n// 37. Prototype Position\n// ----------------------\n\n$prototype-position-breakpoints: $global-prototype-breakpoints;\n$prototype-position: (\n  static,\n  relative,\n  absolute,\n  fixed\n);\n$prototype-position-z-index: 975;\n\n// 38. Prototype Rounded\n// ---------------------\n\n$prototype-rounded-breakpoints: $global-prototype-breakpoints;\n$prototype-border-radius: rem-calc(3);\n\n// 39. Prototype Separator\n// -----------------------\n\n$prototype-separator-breakpoints: $global-prototype-breakpoints;\n$prototype-separator-align: center;\n$prototype-separator-height: rem-calc(2);\n$prototype-separator-width: 3rem;\n$prototype-separator-background: $primary-color;\n$prototype-separator-margin-top: $global-margin;\n\n// 40. Prototype Shadow\n// --------------------\n\n$prototype-shadow-breakpoints: $global-prototype-breakpoints;\n$prototype-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);\n\n// 41. Prototype Sizing\n// --------------------\n\n$prototype-sizing-breakpoints: $global-prototype-breakpoints;\n$prototype-sizing: (\n  width,\n  height\n);\n$prototype-sizes: (\n  25: 25%,\n  50: 50%,\n  75: 75%,\n  100: 100%\n);\n\n// 42. Prototype Spacing\n// ---------------------\n\n$prototype-spacing-breakpoints: $global-prototype-breakpoints;\n$prototype-spacers-count: 3;\n\n// 43. Prototype Text-Decoration\n// -----------------------------\n\n$prototype-decoration-breakpoints: $global-prototype-breakpoints;\n$prototype-text-decoration: (\n  overline,\n  underline,\n  line-through,\n);\n\n// 44. Prototype Text-Transformation\n// ---------------------------------\n\n$prototype-transformation-breakpoints: $global-prototype-breakpoints;\n$prototype-text-transformation: (\n  lowercase,\n  uppercase,\n  capitalize\n);\n\n// 45. Prototype Text-Utilities\n// ----------------------------\n\n$prototype-utilities-breakpoints: $global-prototype-breakpoints;\n$prototype-text-overflow: ellipsis;\n\n// 46. Responsive Embed\n// --------------------\n\n$responsive-embed-margin-bottom: rem-calc(16);\n$responsive-embed-ratios: (\n  default: 4 by 3,\n  widescreen: 16 by 9,\n);\n\n// 47. Reveal\n// ----------\n\n$reveal-background: $white;\n$reveal-width: 600px;\n$reveal-max-width: $global-width;\n$reveal-padding: $global-padding;\n$reveal-border: 1px solid $medium-gray;\n$reveal-radius: $global-radius;\n$reveal-zindex: 1005;\n$reveal-overlay-background: rgba($black, 0.45);\n\n// 48. Slider\n// ----------\n\n$slider-width-vertical: 0.5rem;\n$slider-transition: all 0.2s ease-in-out;\n$slider-height: 0.5rem;\n$slider-background: $light-gray;\n$slider-fill-background: $medium-gray;\n$slider-handle-height: 1.4rem;\n$slider-handle-width: 1.4rem;\n$slider-handle-background: $primary-color;\n$slider-opacity-disabled: 0.25;\n$slider-radius: $global-radius;\n\n// 49. Switch\n// ----------\n\n$switch-background: $medium-gray;\n$switch-background-active: $primary-color;\n$switch-height: 2rem;\n$switch-height-tiny: 1.5rem;\n$switch-height-small: 1.75rem;\n$switch-height-large: 2.5rem;\n$switch-radius: $global-radius;\n$switch-margin: $global-margin;\n$switch-paddle-background: $white;\n$switch-paddle-offset: 0.25rem;\n$switch-paddle-radius: $global-radius;\n$switch-paddle-transition: all 0.25s ease-out;\n\n// 50. Table\n// ---------\n\n$table-background: $white;\n$table-color-scale: 5%;\n$table-border: 1px solid smart-scale($table-background, $table-color-scale);\n$table-padding: rem-calc(8 10 10);\n$table-hover-scale: 2%;\n$table-row-hover: darken($table-background, $table-hover-scale);\n$table-row-stripe-hover: darken($table-background, $table-color-scale + $table-hover-scale);\n$table-is-striped: true;\n$table-striped-background: smart-scale($table-background, $table-color-scale);\n$table-stripe: even;\n$table-head-background: smart-scale($table-background, $table-color-scale / 2);\n$table-head-row-hover: darken($table-head-background, $table-hover-scale);\n$table-foot-background: smart-scale($table-background, $table-color-scale);\n$table-foot-row-hover: darken($table-foot-background, $table-hover-scale);\n$table-head-font-color: $body-font-color;\n$table-foot-font-color: $body-font-color;\n$show-header-for-stacked: false;\n$table-stack-breakpoint: medium;\n\n// 51. Tabs\n// --------\n\n$tab-margin: 0;\n$tab-background: $white;\n$tab-color: $primary-color;\n$tab-background-active: $light-gray;\n$tab-active-color: $primary-color;\n$tab-item-font-size: rem-calc(12);\n$tab-item-background-hover: $white;\n$tab-item-padding: 1.25rem 1.5rem;\n$tab-content-background: $white;\n$tab-content-border: $light-gray;\n$tab-content-color: $body-font-color;\n$tab-content-padding: 1rem;\n\n// 52. Thumbnail\n// -------------\n\n$thumbnail-border: 4px solid $white;\n$thumbnail-margin-bottom: $global-margin;\n$thumbnail-shadow: 0 0 0 1px rgba($black, 0.2);\n$thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5);\n$thumbnail-transition: box-shadow 200ms ease-out;\n$thumbnail-radius: $global-radius;\n\n// 53. Title Bar\n// -------------\n\n$titlebar-background: $black;\n$titlebar-color: $white;\n$titlebar-padding: 0.5rem;\n$titlebar-text-font-weight: bold;\n$titlebar-icon-color: $white;\n$titlebar-icon-color-hover: $medium-gray;\n$titlebar-icon-spacing: 0.25rem;\n\n// 54. Tooltip\n// -----------\n\n$has-tip-cursor: help;\n$has-tip-font-weight: $global-weight-bold;\n$has-tip-border-bottom: dotted 1px $dark-gray;\n$tooltip-background-color: $black;\n$tooltip-color: $white;\n$tooltip-padding: 0.75rem;\n$tooltip-max-width: 10rem;\n$tooltip-font-size: $small-font-size;\n$tooltip-pip-width: 0.75rem;\n$tooltip-pip-height: $tooltip-pip-width * 0.866;\n$tooltip-radius: $global-radius;\n\n// 55. Top Bar\n// -----------\n\n$topbar-padding: 0.5rem;\n$topbar-background: $light-gray;\n$topbar-submenu-background: $topbar-background;\n$topbar-title-spacing: 0.5rem 1rem 0.5rem 0;\n$topbar-input-width: 200px;\n$topbar-unstack-breakpoint: medium;\n\n// 56. Xy Grid\n// -----------\n\n$xy-grid: true;\n$grid-container: $global-width;\n$grid-columns: 12;\n$grid-margin-gutters: (\n  small: 20px,\n  medium: 30px\n);\n$grid-padding-gutters: $grid-margin-gutters;\n$grid-container-padding: $grid-padding-gutters;\n$grid-container-max: $global-width;\n$xy-block-grid-max: 8;\n\n/* stylelint-enable */\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/autoload/rc-base-zf/_foundation.scss","/**\n * Foundation for Sites by ZURB\n * Version 6.5.3\n * foundation.zurb.com\n * Licensed under MIT Open Source\n */\n\n// Dependencies\n@import 'vendor/normalize';\n@import '../_vendor/sassy-lists/stylesheets/helpers/missing-dependencies';\n@import '../_vendor/sassy-lists/stylesheets/helpers/true';\n@import '../_vendor/sassy-lists/stylesheets/functions/contain';\n@import '../_vendor/sassy-lists/stylesheets/functions/purge';\n@import '../_vendor/sassy-lists/stylesheets/functions/remove';\n@import '../_vendor/sassy-lists/stylesheets/functions/replace';\n@import '../_vendor/sassy-lists/stylesheets/functions/to-list';\n\n// --- Settings ---\n// import your own `settings` here or\n// import and modify the default settings through\n// @import 'settings/settings';\n\n// --- Components ---\n// Utilities\n@import 'util/util';\n// Global styles\n@import 'global';\n@import 'forms/forms';\n@import 'typography/typography';\n\n// Grids\n@import 'grid/grid';\n@import 'xy-grid/xy-grid';\n// Generic components\n@import 'components/button';\n@import 'components/button-group';\n@import 'components/close-button';\n@import 'components/label';\n@import 'components/progress-bar';\n@import 'components/slider';\n@import 'components/switch';\n@import 'components/table';\n// Basic components\n@import 'components/badge';\n@import 'components/breadcrumbs';\n@import 'components/callout';\n@import 'components/card';\n@import 'components/dropdown';\n@import 'components/pagination';\n@import 'components/tooltip';\n\n// Containers\n@import 'components/accordion';\n@import 'components/media-object';\n@import 'components/orbit';\n@import 'components/responsive-embed';\n@import 'components/tabs';\n@import 'components/thumbnail';\n// Menu-based containers\n@import 'components/menu';\n@import 'components/menu-icon';\n@import 'components/accordion-menu';\n@import 'components/drilldown';\n@import 'components/dropdown-menu';\n\n// Layout components\n@import 'components/off-canvas';\n@import 'components/reveal';\n@import 'components/sticky';\n@import 'components/title-bar';\n@import 'components/top-bar';\n\n// Helpers\n@import 'components/float';\n@import 'components/flex';\n@import 'components/visibility';\n@import 'prototype/prototype';\n\n\n@mixin foundation-everything(\n  $flex: true,\n  $prototype: false\n) {\n  @if $flex {\n    $global-flexbox: true !global;\n  }\n\n  // Global styles\n  @include foundation-global-styles;\n  @include foundation-forms;\n  @include foundation-typography;\n\n  // Grids\n  @if not $flex {\n    @include foundation-grid;\n  }\n  @else {\n    @if $xy-grid {\n      @include foundation-xy-grid-classes;\n    }\n    @else {\n      @include foundation-flex-grid;\n    }\n  }\n\n  // Generic components\n  @include foundation-button;\n  @include foundation-button-group;\n  @include foundation-close-button;\n  @include foundation-label;\n  @include foundation-progress-bar;\n  @include foundation-slider;\n  @include foundation-switch;\n  @include foundation-table;\n  // Basic components\n  @include foundation-badge;\n  @include foundation-breadcrumbs;\n  @include foundation-callout;\n  @include foundation-card;\n  @include foundation-dropdown;\n  @include foundation-pagination;\n  @include foundation-tooltip;\n\n  // Containers\n  @include foundation-accordion;\n  @include foundation-media-object;\n  @include foundation-orbit;\n  @include foundation-responsive-embed;\n  @include foundation-tabs;\n  @include foundation-thumbnail;\n  // Menu-based containers\n  @include foundation-menu;\n  @include foundation-menu-icon;\n  @include foundation-accordion-menu;\n  @include foundation-drilldown-menu;\n  @include foundation-dropdown-menu;\n\n  // Layout components\n  @include foundation-off-canvas;\n  @include foundation-reveal;\n  @include foundation-sticky;\n  @include foundation-title-bar;\n  @include foundation-top-bar;\n\n  // Helpers\n  @include foundation-float-classes;\n  @if $flex { @include foundation-flex-classes; }\n  @include foundation-visibility-classes;\n  @if $prototype { @include foundation-prototype-classes; }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/foundation.scss","@charset \"UTF-8\";\n\n/** Import Functions styles */\n\n/** Import Mixins styles */\n\n/** Import everything from autoload */\n\n/* stylelint-disable */\n\n/* stylelint-enable */\n\n/**\n * Foundation for Sites by ZURB\n * Version 6.5.3\n * foundation.zurb.com\n * Licensed under MIT Open Source\n */\n\n@media print, screen and (min-width: 40em) {\n  /* line 46, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n  .reveal,\n  .reveal.tiny,\n  .reveal.small,\n  .reveal.large {\n    right: auto;\n    left: auto;\n    margin: 0 auto;\n  }\n}\n\n/*!\n * Hamburgers\n * @description Tasty CSS-animated hamburgers\n * @author Jonathan Suh @jonsuh\n * @site https://jonsuh.com/hamburgers\n * @link https://github.com/jonsuh/hamburgers\n */\n\n/* line 3, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger {\n  padding: 15px 15px;\n  display: inline-block;\n  cursor: pointer;\n  transition-property: opacity, filter;\n  transition-duration: 0.15s;\n  transition-timing-function: linear;\n  font: inherit;\n  color: inherit;\n  text-transform: none;\n  background-color: transparent;\n  border: 0;\n  margin: 0;\n  overflow: visible;\n}\n\n/* line 21, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger:hover {\n  opacity: 0.7;\n}\n\n/* line 31, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger.is-active:hover {\n  opacity: 0.7;\n}\n\n/* line 40, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger.is-active .hamburger-inner,\n.hamburger.is-active .hamburger-inner::before,\n.hamburger.is-active .hamburger-inner::after {\n  background-color: #000;\n}\n\n/* line 48, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger-box {\n  width: 20px;\n  height: 13px;\n  display: inline-block;\n  position: relative;\n}\n\n/* line 55, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger-inner {\n  display: block;\n  top: 50%;\n  margin-top: -0.5px;\n}\n\n/* line 60, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger-inner,\n.hamburger-inner::before,\n.hamburger-inner::after {\n  width: 20px;\n  height: 1px;\n  background-color: #000;\n  border-radius: 0;\n  position: absolute;\n  transition-property: transform;\n  transition-duration: 0.15s;\n  transition-timing-function: ease;\n}\n\n/* line 73, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger-inner::before,\n.hamburger-inner::after {\n  content: \"\";\n  display: block;\n}\n\n/* line 79, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger-inner::before {\n  top: -6px;\n}\n\n/* line 83, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger-inner::after {\n  bottom: -6px;\n}\n\n/*\n   * Arrow\n   */\n\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrow.scss */\n\n.hamburger--arrow.is-active .hamburger-inner::before {\n  transform: translate3d(-4px, 0, 0) rotate(-45deg) scale(0.7, 1);\n}\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_arrow.scss */\n\n.hamburger--arrow.is-active .hamburger-inner::after {\n  transform: translate3d(-4px, 0, 0) rotate(45deg) scale(0.7, 1);\n}\n\n/*\n   * Arrow Right\n   */\n\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrow-r.scss */\n\n.hamburger--arrow-r.is-active .hamburger-inner::before {\n  transform: translate3d(4px, 0, 0) rotate(45deg) scale(0.7, 1);\n}\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_arrow-r.scss */\n\n.hamburger--arrow-r.is-active .hamburger-inner::after {\n  transform: translate3d(4px, 0, 0) rotate(-45deg) scale(0.7, 1);\n}\n\n/*\n   * Arrow Alt\n   */\n\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n\n.hamburger--arrowalt .hamburger-inner::before {\n  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);\n}\n\n/* line 12, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n\n.hamburger--arrowalt .hamburger-inner::after {\n  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);\n}\n\n/* line 20, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n\n.hamburger--arrowalt.is-active .hamburger-inner::before {\n  top: 0;\n  transform: translate3d(-4px, -5px, 0) rotate(-45deg) scale(0.7, 1);\n  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n\n.hamburger--arrowalt.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: translate3d(-4px, 5px, 0) rotate(45deg) scale(0.7, 1);\n  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);\n}\n\n/*\n   * Arrow Alt Right\n   */\n\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n\n.hamburger--arrowalt-r .hamburger-inner::before {\n  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);\n}\n\n/* line 12, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n\n.hamburger--arrowalt-r .hamburger-inner::after {\n  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);\n}\n\n/* line 20, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n\n.hamburger--arrowalt-r.is-active .hamburger-inner::before {\n  top: 0;\n  transform: translate3d(4px, -5px, 0) rotate(45deg) scale(0.7, 1);\n  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n\n.hamburger--arrowalt-r.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: translate3d(4px, 5px, 0) rotate(-45deg) scale(0.7, 1);\n  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);\n}\n\n/*\n   * Arrow Turn\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn.scss */\n\n.hamburger--arrowturn.is-active .hamburger-inner {\n  transform: rotate(-180deg);\n}\n\n/* line 9, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn.scss */\n\n.hamburger--arrowturn.is-active .hamburger-inner::before {\n  transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);\n}\n\n/* line 13, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn.scss */\n\n.hamburger--arrowturn.is-active .hamburger-inner::after {\n  transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);\n}\n\n/*\n   * Arrow Turn Right\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn-r.scss */\n\n.hamburger--arrowturn-r.is-active .hamburger-inner {\n  transform: rotate(-180deg);\n}\n\n/* line 9, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn-r.scss */\n\n.hamburger--arrowturn-r.is-active .hamburger-inner::before {\n  transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);\n}\n\n/* line 13, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn-r.scss */\n\n.hamburger--arrowturn-r.is-active .hamburger-inner::after {\n  transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);\n}\n\n/*\n   * Boring\n   */\n\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n\n.hamburger--boring .hamburger-inner,\n.hamburger--boring .hamburger-inner::before,\n.hamburger--boring .hamburger-inner::after {\n  transition-property: none;\n}\n\n/* line 15, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n\n.hamburger--boring.is-active .hamburger-inner {\n  transform: rotate(45deg);\n}\n\n/* line 18, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n\n.hamburger--boring.is-active .hamburger-inner::before {\n  top: 0;\n  opacity: 0;\n}\n\n/* line 23, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n\n.hamburger--boring.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(-90deg);\n}\n\n/*\n   * Collapse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n\n.hamburger--collapse .hamburger-inner {\n  top: auto;\n  bottom: 0;\n  transition-duration: 0.13s;\n  transition-delay: 0.13s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 13, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n\n.hamburger--collapse .hamburger-inner::after {\n  top: -12px;\n  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;\n}\n\n/* line 19, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n\n.hamburger--collapse .hamburger-inner::before {\n  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 26, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n\n.hamburger--collapse.is-active .hamburger-inner {\n  transform: translate3d(0, -6px, 0) rotate(-45deg);\n  transition-delay: 0.22s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 31, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n\n.hamburger--collapse.is-active .hamburger-inner::after {\n  top: 0;\n  opacity: 0;\n  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;\n}\n\n/* line 38, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n\n.hamburger--collapse.is-active .hamburger-inner::before {\n  top: 0;\n  transform: rotate(-90deg);\n  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Collapse Reverse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n\n.hamburger--collapse-r .hamburger-inner {\n  top: auto;\n  bottom: 0;\n  transition-duration: 0.13s;\n  transition-delay: 0.13s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 13, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n\n.hamburger--collapse-r .hamburger-inner::after {\n  top: -12px;\n  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;\n}\n\n/* line 19, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n\n.hamburger--collapse-r .hamburger-inner::before {\n  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 26, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n\n.hamburger--collapse-r.is-active .hamburger-inner {\n  transform: translate3d(0, -6px, 0) rotate(45deg);\n  transition-delay: 0.22s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 31, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n\n.hamburger--collapse-r.is-active .hamburger-inner::after {\n  top: 0;\n  opacity: 0;\n  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;\n}\n\n/* line 38, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n\n.hamburger--collapse-r.is-active .hamburger-inner::before {\n  top: 0;\n  transform: rotate(90deg);\n  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Elastic\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n\n.hamburger--elastic .hamburger-inner {\n  top: 0.5px;\n  transition-duration: 0.275s;\n  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n\n.hamburger--elastic .hamburger-inner::before {\n  top: 6px;\n  transition: opacity 0.125s 0.275s ease;\n}\n\n/* line 16, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n\n.hamburger--elastic .hamburger-inner::after {\n  top: 12px;\n  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n\n/* line 23, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n\n.hamburger--elastic.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(135deg);\n  transition-delay: 0.075s;\n}\n\n/* line 29, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n\n.hamburger--elastic.is-active .hamburger-inner::before {\n  transition-delay: 0s;\n  opacity: 0;\n}\n\n/* line 34, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n\n.hamburger--elastic.is-active .hamburger-inner::after {\n  transform: translate3d(0, -12px, 0) rotate(-270deg);\n  transition-delay: 0.075s;\n}\n\n/*\n   * Elastic Reverse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n\n.hamburger--elastic-r .hamburger-inner {\n  top: 0.5px;\n  transition-duration: 0.275s;\n  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n\n.hamburger--elastic-r .hamburger-inner::before {\n  top: 6px;\n  transition: opacity 0.125s 0.275s ease;\n}\n\n/* line 16, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n\n.hamburger--elastic-r .hamburger-inner::after {\n  top: 12px;\n  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n\n/* line 23, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n\n.hamburger--elastic-r.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(-135deg);\n  transition-delay: 0.075s;\n}\n\n/* line 29, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n\n.hamburger--elastic-r.is-active .hamburger-inner::before {\n  transition-delay: 0s;\n  opacity: 0;\n}\n\n/* line 34, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n\n.hamburger--elastic-r.is-active .hamburger-inner::after {\n  transform: translate3d(0, -12px, 0) rotate(270deg);\n  transition-delay: 0.075s;\n}\n\n/*\n   * Emphatic\n   */\n\n/* line 5, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n\n.hamburger--emphatic {\n  overflow: hidden;\n}\n\n/* line 8, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n\n.hamburger--emphatic .hamburger-inner {\n  transition: background-color 0.125s 0.175s ease-in;\n}\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n\n.hamburger--emphatic .hamburger-inner::before {\n  left: 0;\n  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;\n}\n\n/* line 18, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n\n.hamburger--emphatic .hamburger-inner::after {\n  top: 6px;\n  right: 0;\n  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;\n}\n\n/* line 28, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n\n.hamburger--emphatic.is-active .hamburger-inner {\n  transition-delay: 0s;\n  transition-timing-function: ease-out;\n  background-color: transparent !important;\n}\n\n/* line 33, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n\n.hamburger--emphatic.is-active .hamburger-inner::before {\n  left: -40px;\n  top: -40px;\n  transform: translate3d(40px, 40px, 0) rotate(45deg);\n  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);\n}\n\n/* line 42, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n\n.hamburger--emphatic.is-active .hamburger-inner::after {\n  right: -40px;\n  top: -40px;\n  transform: translate3d(-40px, 40px, 0) rotate(-45deg);\n  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);\n}\n\n/*\n   * Emphatic Reverse\n   */\n\n/* line 5, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n\n.hamburger--emphatic-r {\n  overflow: hidden;\n}\n\n/* line 8, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n\n.hamburger--emphatic-r .hamburger-inner {\n  transition: background-color 0.125s 0.175s ease-in;\n}\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n\n.hamburger--emphatic-r .hamburger-inner::before {\n  left: 0;\n  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;\n}\n\n/* line 18, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n\n.hamburger--emphatic-r .hamburger-inner::after {\n  top: 6px;\n  right: 0;\n  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;\n}\n\n/* line 28, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n\n.hamburger--emphatic-r.is-active .hamburger-inner {\n  transition-delay: 0s;\n  transition-timing-function: ease-out;\n  background-color: transparent !important;\n}\n\n/* line 33, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n\n.hamburger--emphatic-r.is-active .hamburger-inner::before {\n  left: -40px;\n  top: 40px;\n  transform: translate3d(40px, -40px, 0) rotate(-45deg);\n  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);\n}\n\n/* line 42, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n\n.hamburger--emphatic-r.is-active .hamburger-inner::after {\n  right: -40px;\n  top: 40px;\n  transform: translate3d(-40px, -40px, 0) rotate(45deg);\n  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);\n}\n\n/*\n   * Minus\n   */\n\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n\n.hamburger--minus .hamburger-inner::before,\n.hamburger--minus .hamburger-inner::after {\n  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear;\n}\n\n/* line 17, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n\n.hamburger--minus.is-active .hamburger-inner::before,\n.hamburger--minus.is-active .hamburger-inner::after {\n  opacity: 0;\n  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear;\n}\n\n/* line 24, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n\n.hamburger--minus.is-active .hamburger-inner::before {\n  top: 0;\n}\n\n/* line 28, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n\n.hamburger--minus.is-active .hamburger-inner::after {\n  bottom: 0;\n}\n\n/*\n   * Slider\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n\n.hamburger--slider .hamburger-inner {\n  top: 0.5px;\n}\n\n/* line 9, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n\n.hamburger--slider .hamburger-inner::before {\n  top: 6px;\n  transition-property: transform, opacity;\n  transition-timing-function: ease;\n  transition-duration: 0.15s;\n}\n\n/* line 16, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n\n.hamburger--slider .hamburger-inner::after {\n  top: 12px;\n}\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n\n.hamburger--slider.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(45deg);\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n\n.hamburger--slider.is-active .hamburger-inner::before {\n  transform: rotate(-45deg) translate3d(-2.85714px, -5px, 0);\n  opacity: 0;\n}\n\n/* line 32, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n\n.hamburger--slider.is-active .hamburger-inner::after {\n  transform: translate3d(0, -12px, 0) rotate(-90deg);\n}\n\n/*\n   * Slider Reverse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n\n.hamburger--slider-r .hamburger-inner {\n  top: 0.5px;\n}\n\n/* line 9, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n\n.hamburger--slider-r .hamburger-inner::before {\n  top: 6px;\n  transition-property: transform, opacity;\n  transition-timing-function: ease;\n  transition-duration: 0.15s;\n}\n\n/* line 16, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n\n.hamburger--slider-r .hamburger-inner::after {\n  top: 12px;\n}\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n\n.hamburger--slider-r.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(-45deg);\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n\n.hamburger--slider-r.is-active .hamburger-inner::before {\n  transform: rotate(45deg) translate3d(2.85714px, -5px, 0);\n  opacity: 0;\n}\n\n/* line 32, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n\n.hamburger--slider-r.is-active .hamburger-inner::after {\n  transform: translate3d(0, -12px, 0) rotate(90deg);\n}\n\n/*\n   * Spin\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n\n.hamburger--spin .hamburger-inner {\n  transition-duration: 0.22s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n\n.hamburger--spin .hamburger-inner::before {\n  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;\n}\n\n/* line 15, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n\n.hamburger--spin .hamburger-inner::after {\n  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n\n.hamburger--spin.is-active .hamburger-inner {\n  transform: rotate(225deg);\n  transition-delay: 0.12s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n\n.hamburger--spin.is-active .hamburger-inner::before {\n  top: 0;\n  opacity: 0;\n  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;\n}\n\n/* line 34, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n\n.hamburger--spin.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(-90deg);\n  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Spin Reverse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n\n.hamburger--spin-r .hamburger-inner {\n  transition-duration: 0.22s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n\n.hamburger--spin-r .hamburger-inner::before {\n  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;\n}\n\n/* line 15, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n\n.hamburger--spin-r .hamburger-inner::after {\n  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n\n.hamburger--spin-r.is-active .hamburger-inner {\n  transform: rotate(-225deg);\n  transition-delay: 0.12s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n\n.hamburger--spin-r.is-active .hamburger-inner::before {\n  top: 0;\n  opacity: 0;\n  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;\n}\n\n/* line 34, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n\n.hamburger--spin-r.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(90deg);\n  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Spring\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n\n.hamburger--spring .hamburger-inner {\n  top: 0.5px;\n  transition: background-color 0s 0.13s linear;\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n\n.hamburger--spring .hamburger-inner::before {\n  top: 6px;\n  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 16, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n\n.hamburger--spring .hamburger-inner::after {\n  top: 12px;\n  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 24, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n\n.hamburger--spring.is-active .hamburger-inner {\n  transition-delay: 0.22s;\n  background-color: transparent !important;\n}\n\n/* line 28, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n\n.hamburger--spring.is-active .hamburger-inner::before {\n  top: 0;\n  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);\n  transform: translate3d(0, 6px, 0) rotate(45deg);\n}\n\n/* line 35, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n\n.hamburger--spring.is-active .hamburger-inner::after {\n  top: 0;\n  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);\n  transform: translate3d(0, 6px, 0) rotate(-45deg);\n}\n\n/*\n   * Spring Reverse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n\n.hamburger--spring-r .hamburger-inner {\n  top: auto;\n  bottom: 0;\n  transition-duration: 0.13s;\n  transition-delay: 0s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 13, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n\n.hamburger--spring-r .hamburger-inner::after {\n  top: -12px;\n  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear;\n}\n\n/* line 19, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n\n.hamburger--spring-r .hamburger-inner::before {\n  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 26, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n\n.hamburger--spring-r.is-active .hamburger-inner {\n  transform: translate3d(0, -6px, 0) rotate(-45deg);\n  transition-delay: 0.22s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 31, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n\n.hamburger--spring-r.is-active .hamburger-inner::after {\n  top: 0;\n  opacity: 0;\n  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear;\n}\n\n/* line 38, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n\n.hamburger--spring-r.is-active .hamburger-inner::before {\n  top: 0;\n  transform: rotate(90deg);\n  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Stand\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n\n.hamburger--stand .hamburger-inner {\n  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n\n.hamburger--stand .hamburger-inner::before {\n  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 15, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n\n.hamburger--stand .hamburger-inner::after {\n  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n\n.hamburger--stand.is-active .hamburger-inner {\n  transform: rotate(90deg);\n  background-color: transparent !important;\n  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;\n}\n\n/* line 29, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n\n.hamburger--stand.is-active .hamburger-inner::before {\n  top: 0;\n  transform: rotate(-45deg);\n  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 36, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n\n.hamburger--stand.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(45deg);\n  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Stand Reverse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n\n.hamburger--stand-r .hamburger-inner {\n  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n\n.hamburger--stand-r .hamburger-inner::before {\n  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 15, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n\n.hamburger--stand-r .hamburger-inner::after {\n  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n\n.hamburger--stand-r.is-active .hamburger-inner {\n  transform: rotate(-90deg);\n  background-color: transparent !important;\n  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;\n}\n\n/* line 29, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n\n.hamburger--stand-r.is-active .hamburger-inner::before {\n  top: 0;\n  transform: rotate(-45deg);\n  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 36, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n\n.hamburger--stand-r.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(45deg);\n  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Squeeze\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n\n.hamburger--squeeze .hamburger-inner {\n  transition-duration: 0.075s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n\n.hamburger--squeeze .hamburger-inner::before {\n  transition: top 0.075s 0.12s ease, opacity 0.075s ease;\n}\n\n/* line 15, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n\n.hamburger--squeeze .hamburger-inner::after {\n  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n\n.hamburger--squeeze.is-active .hamburger-inner {\n  transform: rotate(45deg);\n  transition-delay: 0.12s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n\n.hamburger--squeeze.is-active .hamburger-inner::before {\n  top: 0;\n  opacity: 0;\n  transition: top 0.075s ease, opacity 0.075s 0.12s ease;\n}\n\n/* line 34, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n\n.hamburger--squeeze.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(-90deg);\n  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Vortex\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex .hamburger-inner {\n  transition-duration: 0.2s;\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex .hamburger-inner::before,\n.hamburger--vortex .hamburger-inner::after {\n  transition-duration: 0s;\n  transition-delay: 0.1s;\n  transition-timing-function: linear;\n}\n\n/* line 17, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex .hamburger-inner::before {\n  transition-property: top, opacity;\n}\n\n/* line 21, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex .hamburger-inner::after {\n  transition-property: bottom, transform;\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex.is-active .hamburger-inner {\n  transform: rotate(765deg);\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n}\n\n/* line 31, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex.is-active .hamburger-inner::before,\n.hamburger--vortex.is-active .hamburger-inner::after {\n  transition-delay: 0s;\n}\n\n/* line 36, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex.is-active .hamburger-inner::before {\n  top: 0;\n  opacity: 0;\n}\n\n/* line 41, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(90deg);\n}\n\n/*\n   * Vortex Reverse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r .hamburger-inner {\n  transition-duration: 0.2s;\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r .hamburger-inner::before,\n.hamburger--vortex-r .hamburger-inner::after {\n  transition-duration: 0s;\n  transition-delay: 0.1s;\n  transition-timing-function: linear;\n}\n\n/* line 17, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r .hamburger-inner::before {\n  transition-property: top, opacity;\n}\n\n/* line 21, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r .hamburger-inner::after {\n  transition-property: bottom, transform;\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r.is-active .hamburger-inner {\n  transform: rotate(-765deg);\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n}\n\n/* line 31, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r.is-active .hamburger-inner::before,\n.hamburger--vortex-r.is-active .hamburger-inner::after {\n  transition-delay: 0s;\n}\n\n/* line 36, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r.is-active .hamburger-inner::before {\n  top: 0;\n  opacity: 0;\n}\n\n/* line 41, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(-90deg);\n}\n\n/* line 35, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox {\n  position: relative;\n  padding-left: 20px;\n  margin: 0 0 0.5rem;\n}\n\n/* line 40, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox label {\n  display: inline-block;\n  vertical-align: middle;\n  position: relative;\n  padding-left: 5px;\n  height: 23px;\n}\n\n/* line 47, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox label::before {\n  content: \"\";\n  display: inline-block;\n  position: absolute;\n  width: 21px;\n  height: 21px;\n  left: 0;\n  margin-left: -28px;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fff;\n  transition: border 0.15s ease-in-out, color 0.15s ease-in-out;\n}\n\n/* line 61, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox label::after {\n  display: inline-block;\n  position: absolute;\n  width: 20px;\n  height: 20px;\n  left: 0;\n  top: -2px;\n  margin-left: -27px;\n  padding-left: 3px;\n  font-size: 0.875rem;\n  color: #000;\n}\n\n/* line 75, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox input[type=\"checkbox\"],\n.checkbox input[type=\"radio\"] {\n  position: absolute;\n  margin: 4px 4px 4px -18px;\n  opacity: 0;\n  z-index: 1;\n  width: 18px;\n  height: 17px;\n}\n\n/* line 84, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox input[type=\"checkbox\"]:focus + label::before,\n.checkbox input[type=\"radio\"]:focus + label::before {\n  outline: 0;\n}\n\n/* line 88, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox input[type=\"checkbox\"]:checked + label::after,\n.checkbox input[type=\"radio\"]:checked + label::after {\n  font-family: \"rc-base-icons\";\n  content: \"\";\n}\n\n/* line 93, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox input[type=\"radio\"]:indeterminate + label::after {\n  display: block;\n  content: \"\";\n  width: 10px;\n  height: 3px;\n  background-color: #555555;\n  border-radius: 0;\n  margin-left: -22.5px;\n  margin-top: 11px;\n}\n\n/* line 104, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox input[type=\"checkbox\"]:disabled + label,\n.checkbox input[type=\"radio\"]:disabled + label {\n  opacity: 0.65;\n}\n\n/* line 107, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox input[type=\"checkbox\"]:disabled + label::before,\n.checkbox input[type=\"radio\"]:disabled + label::before {\n  background-color: #eeeeee;\n  cursor: not-allowed;\n}\n\n/* line 115, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.checkbox-circle label::before {\n  border-radius: 50%;\n}\n\n/* line 119, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.checkbox-inline {\n  margin-top: 0;\n  display: inline-block;\n}\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.primary input[type=\"checkbox\"]:checked + label::before,\n.checkbox.primary input[type=\"radio\"]:checked + label::before {\n  background-color: #1779ba;\n  border-color: #1779ba;\n}\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.primary input[type=\"checkbox\"]:checked + label::after,\n.checkbox.primary input[type=\"radio\"]:checked + label::after {\n  color: #fff;\n}\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.secondary input[type=\"checkbox\"]:checked + label::before,\n.checkbox.secondary input[type=\"radio\"]:checked + label::before {\n  background-color: #767676;\n  border-color: #767676;\n}\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.secondary input[type=\"checkbox\"]:checked + label::after,\n.checkbox.secondary input[type=\"radio\"]:checked + label::after {\n  color: #fff;\n}\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.alert input[type=\"checkbox\"]:checked + label::before,\n.checkbox.alert input[type=\"radio\"]:checked + label::before {\n  background-color: #cc4b37;\n  border-color: #cc4b37;\n}\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.alert input[type=\"checkbox\"]:checked + label::after,\n.checkbox.alert input[type=\"radio\"]:checked + label::after {\n  color: #fff;\n}\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.warning input[type=\"checkbox\"]:checked + label::before,\n.checkbox.warning input[type=\"radio\"]:checked + label::before {\n  background-color: #ffae00;\n  border-color: #ffae00;\n}\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.warning input[type=\"checkbox\"]:checked + label::after,\n.checkbox.warning input[type=\"radio\"]:checked + label::after {\n  color: #fff;\n}\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.success input[type=\"checkbox\"]:checked + label::before,\n.checkbox.success input[type=\"radio\"]:checked + label::before {\n  background-color: #18a733;\n  border-color: #18a733;\n}\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.success input[type=\"checkbox\"]:checked + label::after,\n.checkbox.success input[type=\"radio\"]:checked + label::after {\n  color: #fff;\n}\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.primary input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.primary input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #1779ba;\n  border-color: #1779ba;\n}\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.primary input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.primary input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff;\n}\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.secondary input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.secondary input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #767676;\n  border-color: #767676;\n}\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.secondary input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.secondary input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff;\n}\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.alert input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.alert input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #cc4b37;\n  border-color: #cc4b37;\n}\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.alert input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.alert input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff;\n}\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.warning input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.warning input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #ffae00;\n  border-color: #ffae00;\n}\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.warning input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.warning input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff;\n}\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.success input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.success input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #18a733;\n  border-color: #18a733;\n}\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.success input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.success input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff;\n}\n\n/* line 162, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio {\n  padding-left: 20px;\n}\n\n/* line 165, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio label {\n  display: inline-block;\n  vertical-align: middle;\n  position: relative;\n  padding-left: 5px;\n  height: 23px;\n}\n\n/* line 172, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio label::before {\n  content: \"\";\n  display: inline-block;\n  position: absolute;\n  width: 21px;\n  height: 21px;\n  left: 0;\n  margin-left: -28px;\n  border: 1px solid #777777;\n  border-radius: 50%;\n  background-color: #fff;\n  transition: border 0.15s ease-in-out;\n}\n\n/* line 186, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio label::after {\n  display: inline-block;\n  position: absolute;\n  content: \" \";\n  width: 13px;\n  height: 13px;\n  left: 4px;\n  top: 4px;\n  margin-left: -28px;\n  border-radius: 50%;\n  background-color: #000;\n  transform: scale(0, 0);\n  transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);\n}\n\n/* line 202, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio input[type=\"radio\"] {\n  position: absolute;\n  margin: 4px 4px 4px -18px;\n  opacity: 0;\n  z-index: 1;\n  width: 18px;\n  height: 17px;\n}\n\n/* line 210, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio input[type=\"radio\"]:focus + label::before {\n  outline: 0;\n}\n\n/* line 214, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio input[type=\"radio\"]:checked + label::after {\n  transform: scale(1, 1);\n}\n\n/* line 218, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio input[type=\"radio\"]:disabled + label {\n  opacity: 0.65;\n}\n\n/* line 221, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio input[type=\"radio\"]:disabled + label::before {\n  cursor: not-allowed;\n}\n\n/* line 228, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.radio-inline {\n  margin-top: 0;\n  display: inline-block;\n}\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.primary input[type=\"radio\"] + label::after {\n  background-color: #1779ba;\n}\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.primary input[type=\"radio\"]:checked + label::before {\n  border-color: #1779ba;\n}\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.primary input[type=\"radio\"]:checked + label::after {\n  background-color: #1779ba;\n}\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.secondary input[type=\"radio\"] + label::after {\n  background-color: #767676;\n}\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.secondary input[type=\"radio\"]:checked + label::before {\n  border-color: #767676;\n}\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.secondary input[type=\"radio\"]:checked + label::after {\n  background-color: #767676;\n}\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.alert input[type=\"radio\"] + label::after {\n  background-color: #cc4b37;\n}\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.alert input[type=\"radio\"]:checked + label::before {\n  border-color: #cc4b37;\n}\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.alert input[type=\"radio\"]:checked + label::after {\n  background-color: #cc4b37;\n}\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.warning input[type=\"radio\"] + label::after {\n  background-color: #ffae00;\n}\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.warning input[type=\"radio\"]:checked + label::before {\n  border-color: #ffae00;\n}\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.warning input[type=\"radio\"]:checked + label::after {\n  background-color: #ffae00;\n}\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.success input[type=\"radio\"] + label::after {\n  background-color: #18a733;\n}\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.success input[type=\"radio\"]:checked + label::before {\n  border-color: #18a733;\n}\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.success input[type=\"radio\"]:checked + label::after {\n  background-color: #18a733;\n}\n\n/* line 243, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\ninput[type=\"checkbox\"].styled:checked + label:after,\ninput[type=\"radio\"].styled:checked + label:after {\n  font-family: \"rc-base-icons\";\n  content: \"\";\n}\n\n/* line 248, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\ninput[type=\"checkbox\"] .styled:checked + label::before,\ninput[type=\"radio\"] .styled:checked + label::before {\n  color: #fff;\n}\n\n/* line 251, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\ninput[type=\"checkbox\"] .styled:checked + label::after,\ninput[type=\"radio\"] .styled:checked + label::after {\n  color: #fff;\n}\n\n/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */\n\n/* line 10, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nhtml {\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n}\n\n/* line 20, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nbody {\n  margin: 0;\n}\n\n/* line 27, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/* line 38, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\n/* line 47, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\npre {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n/* line 57, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\na {\n  background-color: transparent;\n}\n\n/* line 64, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nabbr[title] {\n  border-bottom: none;\n  text-decoration: underline;\n  text-decoration: underline dotted;\n}\n\n/* line 72, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\n/* line 80, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n/* line 89, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nsmall {\n  font-size: 80%;\n}\n\n/* line 96, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\n/* line 104, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nsub {\n  bottom: -0.25em;\n}\n\n/* line 108, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nsup {\n  top: -0.5em;\n}\n\n/* line 117, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nimg {\n  border-style: none;\n}\n\n/* line 127, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: 100%;\n  line-height: 1.15;\n  margin: 0;\n}\n\n/* line 141, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nbutton,\ninput {\n  overflow: visible;\n}\n\n/* line 149, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n/* line 156, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button;\n}\n\n/* line 165, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  border-style: none;\n  padding: 0;\n}\n\n/* line 175, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n  outline: 1px dotted ButtonText;\n}\n\n/* line 184, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nfieldset {\n  padding: 0.35em 0.75em 0.625em;\n}\n\n/* line 193, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nlegend {\n  box-sizing: border-box;\n  color: inherit;\n  display: table;\n  max-width: 100%;\n  padding: 0;\n  white-space: normal;\n}\n\n/* line 204, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nprogress {\n  vertical-align: baseline;\n}\n\n/* line 210, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\ntextarea {\n  overflow: auto;\n}\n\n/* line 217, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\n/* line 225, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/* line 233, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\n[type=\"search\"] {\n  -webkit-appearance: textfield;\n  outline-offset: -2px;\n}\n\n/* line 240, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/* line 247, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\n::-webkit-file-upload-button {\n  -webkit-appearance: button;\n  font: inherit;\n}\n\n/* line 257, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\ndetails {\n  display: block;\n}\n\n/* line 263, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nsummary {\n  display: list-item;\n}\n\n/* line 272, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\ntemplate {\n  display: none;\n}\n\n/* line 278, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\n[hidden] {\n  display: none;\n}\n\n/* line 140, node_modules/foundation-sites/scss/_global.scss */\n\n.foundation-mq {\n  font-family: \"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em\";\n}\n\n/* line 144, node_modules/foundation-sites/scss/_global.scss */\n\nhtml {\n  box-sizing: border-box;\n  font-size: 100%;\n}\n\n/* line 150, node_modules/foundation-sites/scss/_global.scss */\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\n/* line 157, node_modules/foundation-sites/scss/_global.scss */\n\nbody {\n  margin: 0;\n  padding: 0;\n  background: #fefefe;\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #000;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n/* line 174, node_modules/foundation-sites/scss/_global.scss */\n\nimg {\n  display: inline-block;\n  vertical-align: middle;\n  max-width: 100%;\n  height: auto;\n  -ms-interpolation-mode: bicubic;\n}\n\n/* line 186, node_modules/foundation-sites/scss/_global.scss */\n\ntextarea {\n  height: auto;\n  min-height: 50px;\n  border-radius: 0;\n}\n\n/* line 193, node_modules/foundation-sites/scss/_global.scss */\n\nselect {\n  box-sizing: border-box;\n  width: 100%;\n  border-radius: 0;\n}\n\n/* line 203, node_modules/foundation-sites/scss/_global.scss */\n\n.map_canvas img,\n.map_canvas embed,\n.map_canvas object,\n.mqa-display img,\n.mqa-display embed,\n.mqa-display object {\n  max-width: none !important;\n}\n\n/* line 211, node_modules/foundation-sites/scss/_global.scss */\n\nbutton {\n  padding: 0;\n  appearance: none;\n  border: 0;\n  border-radius: 0;\n  background: transparent;\n  line-height: 1;\n  cursor: auto;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] button {\n  outline: 0;\n}\n\n/* line 223, node_modules/foundation-sites/scss/_global.scss */\n\npre {\n  overflow: auto;\n}\n\n/* line 228, node_modules/foundation-sites/scss/_global.scss */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit;\n}\n\n/* line 237, node_modules/foundation-sites/scss/_global.scss */\n\n.is-visible {\n  display: block !important;\n}\n\n/* line 241, node_modules/foundation-sites/scss/_global.scss */\n\n.is-hidden {\n  display: none !important;\n}\n\n/* line 125, node_modules/foundation-sites/scss/forms/_text.scss */\n\n[type='text'],\n[type='password'],\n[type='date'],\n[type='datetime'],\n[type='datetime-local'],\n[type='month'],\n[type='week'],\n[type='email'],\n[type='number'],\n[type='search'],\n[type='tel'],\n[type='time'],\n[type='url'],\n[type='color'],\ntextarea {\n  display: block;\n  box-sizing: border-box;\n  width: 100%;\n  height: 2.4375rem;\n  margin: 0 0 1rem;\n  padding: 0.5rem;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  font-family: inherit;\n  font-size: 1rem;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #000;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n  appearance: none;\n}\n\n/* line 111, node_modules/foundation-sites/scss/forms/_text.scss */\n\n[type='text']:focus,\n[type='password']:focus,\n[type='date']:focus,\n[type='datetime']:focus,\n[type='datetime-local']:focus,\n[type='month']:focus,\n[type='week']:focus,\n[type='email']:focus,\n[type='number']:focus,\n[type='search']:focus,\n[type='tel']:focus,\n[type='time']:focus,\n[type='url']:focus,\n[type='color']:focus,\ntextarea:focus {\n  outline: none;\n  border: 1px solid #333333;\n  background-color: #fefefe;\n  box-shadow: 0 0 5px #777777;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n}\n\n/* line 132, node_modules/foundation-sites/scss/forms/_text.scss */\n\ntextarea {\n  max-width: 100%;\n}\n\n/* line 135, node_modules/foundation-sites/scss/forms/_text.scss */\n\ntextarea[rows] {\n  height: auto;\n}\n\n/* line 143, node_modules/foundation-sites/scss/forms/_text.scss */\n\ninput:disabled,\ninput[readonly],\ntextarea:disabled,\ntextarea[readonly] {\n  background-color: #eeeeee;\n  cursor: not-allowed;\n}\n\n/* line 151, node_modules/foundation-sites/scss/forms/_text.scss */\n\n[type='submit'],\n[type='button'] {\n  appearance: none;\n  border-radius: 0;\n}\n\n/* line 158, node_modules/foundation-sites/scss/forms/_text.scss */\n\ninput[type='search'] {\n  box-sizing: border-box;\n}\n\n/* line 176, node_modules/foundation-sites/scss/forms/_text.scss */\n\n::placeholder {\n  color: #777777;\n}\n\n/* line 10, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n\n[type='file'],\n[type='checkbox'],\n[type='radio'] {\n  margin: 0 0 1rem;\n}\n\n/* line 17, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n\n[type='checkbox'] + label,\n[type='radio'] + label {\n  display: inline-block;\n  vertical-align: baseline;\n  margin-left: 0.5rem;\n  margin-right: 1rem;\n  margin-bottom: 0;\n}\n\n/* line 26, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n\n[type='checkbox'] + label[for],\n[type='radio'] + label[for] {\n  cursor: pointer;\n}\n\n/* line 32, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n\nlabel > [type='checkbox'],\nlabel > [type='radio'] {\n  margin-right: 0.5rem;\n}\n\n/* line 38, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n\n[type='file'] {\n  width: 100%;\n}\n\n/* line 43, node_modules/foundation-sites/scss/forms/_label.scss */\n\nlabel {\n  display: block;\n  margin: 0;\n  font-size: 0.875rem;\n  font-weight: normal;\n  line-height: 1.8;\n  color: #000;\n}\n\n/* line 46, node_modules/foundation-sites/scss/forms/_label.scss */\n\nlabel.middle {\n  margin: 0 0 1rem;\n  padding: 0.5625rem 0;\n}\n\n/* line 22, node_modules/foundation-sites/scss/forms/_help-text.scss */\n\n.help-text {\n  margin-top: -0.5rem;\n  font-size: 0.8125rem;\n  font-style: italic;\n  color: #000;\n}\n\n/* line 27, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group,\n.search-form {\n  display: flex;\n  width: 100%;\n  margin-bottom: 1rem;\n  align-items: stretch;\n}\n\n/* line 37, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group > :first-child,\n.search-form > :first-child,\n.input-group > :first-child.input-group-button > *,\n.search-form > :first-child.input-group-button > * {\n  border-radius: 0 0 0 0;\n}\n\n/* line 43, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group > :last-child,\n.search-form > :last-child,\n.input-group > :last-child.input-group-button > *,\n.search-form > :last-child.input-group-button > * {\n  border-radius: 0 0 0 0;\n}\n\n/* line 49, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group-label,\n.input-group-field,\n.search-form .search-field,\n.input-group-button,\n.input-group-button a,\n.input-group-button input,\n.input-group-button button,\n.input-group-button label {\n  margin: 0;\n  white-space: nowrap;\n}\n\n/* line 59, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group-label {\n  padding: 0 1rem;\n  border: 1px solid #777777;\n  background: #eeeeee;\n  color: #000;\n  text-align: center;\n  white-space: nowrap;\n  display: flex;\n  flex: 0 0 auto;\n  align-items: center;\n}\n\n/* line 80, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group-label:first-child {\n  border-right: 0;\n}\n\n/* line 84, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group-label:last-child {\n  border-left: 0;\n}\n\n/* line 90, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group-field,\n.search-form .search-field {\n  border-radius: 0;\n  flex: 1 1 0px;\n  min-width: 0;\n}\n\n/* line 100, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group-button {\n  padding-top: 0;\n  padding-bottom: 0;\n  text-align: center;\n  display: flex;\n  flex: 0 0 auto;\n}\n\n/* line 115, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group-button a,\n.input-group-button input,\n.input-group-button button,\n.input-group-button label {\n  align-self: stretch;\n  height: auto;\n  padding-top: 0;\n  padding-bottom: 0;\n  font-size: 1rem;\n}\n\n/* line 39, node_modules/foundation-sites/scss/forms/_fieldset.scss */\n\nfieldset {\n  margin: 0;\n  padding: 0;\n  border: 0;\n}\n\n/* line 45, node_modules/foundation-sites/scss/forms/_fieldset.scss */\n\nlegend {\n  max-width: 100%;\n  margin-bottom: 0.5rem;\n}\n\n/* line 50, node_modules/foundation-sites/scss/forms/_fieldset.scss */\n\n.fieldset {\n  margin: 1.125rem 0;\n  padding: 1.25rem;\n  border: 1px solid #777777;\n}\n\n/* line 30, node_modules/foundation-sites/scss/forms/_fieldset.scss */\n\n.fieldset legend {\n  margin: 0;\n  margin-left: -0.1875rem;\n  padding: 0 0.1875rem;\n}\n\n/* line 83, node_modules/foundation-sites/scss/forms/_select.scss */\n\nselect {\n  height: 2.4375rem;\n  margin: 0 0 1rem;\n  padding: 0.5rem;\n  appearance: none;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  font-family: inherit;\n  font-size: 1rem;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #000;\n  background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2851, 51, 51%29'></polygon></svg>\");\n  background-origin: content-box;\n  background-position: right -1rem center;\n  background-repeat: no-repeat;\n  background-size: 9px 6px;\n  padding-right: 1.5rem;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n}\n\n@media screen and (min-width: 0\\0) {\n  /* line 83, node_modules/foundation-sites/scss/forms/_select.scss */\n\n  select {\n    background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==\");\n  }\n}\n\n/* line 54, node_modules/foundation-sites/scss/forms/_select.scss */\n\nselect:focus {\n  outline: none;\n  border: 1px solid #333333;\n  background-color: #fefefe;\n  box-shadow: 0 0 5px #777777;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n}\n\n/* line 66, node_modules/foundation-sites/scss/forms/_select.scss */\n\nselect:disabled {\n  background-color: #eeeeee;\n  cursor: not-allowed;\n}\n\n/* line 72, node_modules/foundation-sites/scss/forms/_select.scss */\n\nselect::-ms-expand {\n  display: none;\n}\n\n/* line 76, node_modules/foundation-sites/scss/forms/_select.scss */\n\nselect[multiple] {\n  height: auto;\n  background-image: none;\n}\n\n/* line 45, node_modules/foundation-sites/scss/forms/_error.scss */\n\n.is-invalid-input:not(:focus) {\n  border-color: #cc4b37;\n  background-color: #f9ecea;\n}\n\n/* line 49, node_modules/foundation-sites/scss/forms/_error.scss */\n\n.is-invalid-input:not(:focus)::placeholder {\n  color: #cc4b37;\n}\n\n/* line 76, node_modules/foundation-sites/scss/forms/_error.scss */\n\n.is-invalid-label {\n  color: #cc4b37;\n}\n\n/* line 82, node_modules/foundation-sites/scss/forms/_error.scss */\n\n.form-error {\n  display: none;\n  margin-top: -0.5rem;\n  margin-bottom: 1rem;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: #cc4b37;\n}\n\n/* line 85, node_modules/foundation-sites/scss/forms/_error.scss */\n\n.form-error.is-visible {\n  display: block;\n}\n\n/* line 256, node_modules/foundation-sites/scss/typography/_base.scss */\n\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\nform,\np,\nblockquote,\nth,\ntd {\n  margin: 0;\n  padding: 0;\n}\n\n/* line 280, node_modules/foundation-sites/scss/typography/_base.scss */\n\np {\n  margin-bottom: 1rem;\n  font-size: inherit;\n  line-height: 1.6;\n  text-rendering: optimizeLegibility;\n}\n\n/* line 289, node_modules/foundation-sites/scss/typography/_base.scss */\n\nem,\ni {\n  font-style: italic;\n  line-height: inherit;\n}\n\n/* line 296, node_modules/foundation-sites/scss/typography/_base.scss */\n\nstrong,\nb {\n  font-weight: bold;\n  line-height: inherit;\n}\n\n/* line 303, node_modules/foundation-sites/scss/typography/_base.scss */\n\nsmall {\n  font-size: 80%;\n  line-height: inherit;\n}\n\n/* line 309, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3,\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  color: inherit;\n  text-rendering: optimizeLegibility;\n}\n\n/* line 321, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small {\n  line-height: 0;\n  color: #777777;\n}\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh1,\n.h1 {\n  font-size: 1.5rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh2,\n.h2 {\n  font-size: 1.25rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh3,\n.h3 {\n  font-size: 1.1875rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh4,\n.h4 {\n  font-size: 1.125rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh5,\n.h5 {\n  font-size: 1.0625rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh6,\n.h6 {\n  font-size: 1rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\n  h1,\n  .h1 {\n    font-size: 3rem;\n  }\n\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\n  h2,\n  .h2 {\n    font-size: 2.5rem;\n  }\n\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\n  h3,\n  .h3 {\n    font-size: 1.9375rem;\n  }\n\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\n  h4,\n  .h4 {\n    font-size: 1.5625rem;\n  }\n\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\n  h5,\n  .h5 {\n    font-size: 1.25rem;\n  }\n\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\n  h6,\n  .h6 {\n    font-size: 1rem;\n  }\n}\n\n/* line 371, node_modules/foundation-sites/scss/typography/_base.scss */\n\na {\n  line-height: inherit;\n  color: #1779ba;\n  text-decoration: none;\n  cursor: pointer;\n}\n\n/* line 378, node_modules/foundation-sites/scss/typography/_base.scss */\n\na:hover,\na:focus {\n  color: #1468a0;\n}\n\n/* line 386, node_modules/foundation-sites/scss/typography/_base.scss */\n\na img {\n  border: 0;\n}\n\n/* line 392, node_modules/foundation-sites/scss/typography/_base.scss */\n\nhr {\n  clear: both;\n  max-width: 75rem;\n  height: 0;\n  margin: 1.25rem auto;\n  border-top: 0;\n  border-right: 0;\n  border-bottom: 1px solid #777777;\n  border-left: 0;\n}\n\n/* line 406, node_modules/foundation-sites/scss/typography/_base.scss */\n\nul,\nol,\ndl {\n  margin-bottom: 1rem;\n  list-style-position: outside;\n  line-height: 1.6;\n}\n\n/* line 415, node_modules/foundation-sites/scss/typography/_base.scss */\n\nli {\n  font-size: inherit;\n}\n\n/* line 420, node_modules/foundation-sites/scss/typography/_base.scss */\n\nul {\n  margin-left: 1.25rem;\n  list-style-type: disc;\n}\n\n/* line 426, node_modules/foundation-sites/scss/typography/_base.scss */\n\nol {\n  margin-left: 1.25rem;\n}\n\n/* line 432, node_modules/foundation-sites/scss/typography/_base.scss */\n\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-left: 1.25rem;\n  margin-bottom: 0;\n}\n\n/* line 439, node_modules/foundation-sites/scss/typography/_base.scss */\n\ndl {\n  margin-bottom: 1rem;\n}\n\n/* line 442, node_modules/foundation-sites/scss/typography/_base.scss */\n\ndl dt {\n  margin-bottom: 0.3rem;\n  font-weight: bold;\n}\n\n/* line 449, node_modules/foundation-sites/scss/typography/_base.scss */\n\nblockquote {\n  margin: 0 0 1rem;\n  padding: 0.5625rem 1.25rem 0 1.1875rem;\n  border-left: 1px solid #777777;\n}\n\n/* line 454, node_modules/foundation-sites/scss/typography/_base.scss */\n\nblockquote,\nblockquote p {\n  line-height: 1.6;\n  color: #333333;\n}\n\n/* line 461, node_modules/foundation-sites/scss/typography/_base.scss */\n\ncite {\n  display: block;\n  font-size: 0.8125rem;\n  color: #333333;\n}\n\n/* line 466, node_modules/foundation-sites/scss/typography/_base.scss */\n\ncite:before {\n  content: \"— \";\n}\n\n/* line 472, node_modules/foundation-sites/scss/typography/_base.scss */\n\nabbr,\nabbr[title] {\n  border-bottom: 1px dotted #000;\n  cursor: help;\n  text-decoration: none;\n}\n\n/* line 479, node_modules/foundation-sites/scss/typography/_base.scss */\n\nfigure {\n  margin: 0;\n}\n\n/* line 484, node_modules/foundation-sites/scss/typography/_base.scss */\n\ncode {\n  padding: 0.125rem 0.3125rem 0.0625rem;\n  border: 1px solid #777777;\n  background-color: #eeeeee;\n  font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n  font-weight: normal;\n  color: #000;\n}\n\n/* line 496, node_modules/foundation-sites/scss/typography/_base.scss */\n\nkbd {\n  margin: 0;\n  padding: 0.125rem 0.25rem 0;\n  background-color: #eeeeee;\n  font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n  color: #000;\n}\n\n/* line 48, node_modules/foundation-sites/scss/typography/_helpers.scss */\n\n.subheader {\n  margin-top: 0.2rem;\n  margin-bottom: 0.5rem;\n  font-weight: normal;\n  line-height: 1.4;\n  color: #333333;\n}\n\n/* line 58, node_modules/foundation-sites/scss/typography/_helpers.scss */\n\n.lead {\n  font-size: 125%;\n  line-height: 1.6;\n}\n\n/* line 64, node_modules/foundation-sites/scss/typography/_helpers.scss */\n\n.stat {\n  font-size: 2.5rem;\n  line-height: 1;\n}\n\n/* line 68, node_modules/foundation-sites/scss/typography/_helpers.scss */\n\np + .stat {\n  margin-top: -1rem;\n}\n\n/* line 75, node_modules/foundation-sites/scss/typography/_helpers.scss */\n\nul.no-bullet,\nul.comment-list,\nol.no-bullet,\nol.comment-list {\n  margin-left: 0;\n  list-style: none;\n}\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n.text-left {\n  text-align: left;\n}\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n.text-right {\n  text-align: right;\n}\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n.text-center {\n  text-align: center;\n}\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n.text-justify {\n  text-align: justify;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .medium-text-left {\n    text-align: left;\n  }\n\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .medium-text-right {\n    text-align: right;\n  }\n\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .medium-text-center {\n    text-align: center;\n  }\n\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .medium-text-justify {\n    text-align: justify;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .large-text-left {\n    text-align: left;\n  }\n\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .large-text-right {\n    text-align: right;\n  }\n\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .large-text-center {\n    text-align: center;\n  }\n\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .large-text-justify {\n    text-align: justify;\n  }\n}\n\n/* line 18, node_modules/foundation-sites/scss/typography/_print.scss */\n\n.show-for-print {\n  display: none !important;\n}\n\n@media print {\n  /* line 21, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  * {\n    background: transparent !important;\n    box-shadow: none !important;\n    color: black !important;\n    text-shadow: none !important;\n  }\n\n  /* line 32, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  .show-for-print {\n    display: block !important;\n  }\n\n  /* line 33, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  .hide-for-print {\n    display: none !important;\n  }\n\n  /* line 35, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  table.show-for-print {\n    display: table !important;\n  }\n\n  /* line 36, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  thead.show-for-print {\n    display: table-header-group !important;\n  }\n\n  /* line 37, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  tbody.show-for-print {\n    display: table-row-group !important;\n  }\n\n  /* line 38, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  tr.show-for-print {\n    display: table-row !important;\n  }\n\n  /* line 39, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  td.show-for-print {\n    display: table-cell !important;\n  }\n\n  /* line 40, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  th.show-for-print {\n    display: table-cell !important;\n  }\n\n  /* line 43, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n\n  /* line 46, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n\n  /* line 50, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  .ir a:after,\n  a[href^='javascript:']:after,\n  a[href^='#']:after {\n    content: '';\n  }\n\n  /* line 55, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n\n  /* line 58, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  pre,\n  blockquote {\n    border: 1px solid #333333;\n    page-break-inside: avoid;\n  }\n\n  /* line 65, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  thead {\n    display: table-header-group;\n  }\n\n  /* line 67, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n\n  /* line 70, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  img {\n    max-width: 100% !important;\n  }\n\n@page {\n    margin: 0.5cm;\n}\n\n  /* line 74, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n\n  /* line 82, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n\n  /* line 86, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  .print-break-inside {\n    page-break-inside: auto;\n  }\n}\n\n/* line 13, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-container {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem;\n  max-width: 75rem;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 13, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-container {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem;\n  }\n}\n\n/* line 16, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-container.fluid {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem;\n  max-width: 100%;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 16, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-container.fluid {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem;\n  }\n}\n\n/* line 20, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-container.full {\n  padding-right: 0;\n  padding-left: 0;\n  max-width: 100%;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/* line 26, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x {\n  display: flex;\n  flex-flow: row wrap;\n}\n\n/* line 30, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell {\n  flex: 0 0 auto;\n  min-height: 0px;\n  min-width: 0px;\n  width: 100%;\n}\n\n/* line 34, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell.auto {\n  flex: 1 1 0px;\n}\n\n/* line 38, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell.shrink {\n  flex: 0 0 auto;\n}\n\n/* line 44, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .auto {\n  width: auto;\n}\n\n/* line 48, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .shrink {\n  width: auto;\n}\n\n/* line 64, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-shrink,\n.grid-x > .small-full,\n.grid-x > .small-1,\n.grid-x > .small-2,\n.grid-x > .small-3,\n.grid-x > .small-4,\n.grid-x > .small-5,\n.grid-x > .small-6,\n.grid-x > .small-7,\n.grid-x > .small-8,\n.grid-x > .small-9,\n.grid-x > .small-10,\n.grid-x > .small-11,\n.grid-x > .small-12 {\n  flex-basis: auto;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 64, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-shrink,\n  .grid-x > .medium-full,\n  .grid-x > .medium-1,\n  .grid-x > .medium-2,\n  .grid-x > .medium-3,\n  .grid-x > .medium-4,\n  .grid-x > .medium-5,\n  .grid-x > .medium-6,\n  .grid-x > .medium-7,\n  .grid-x > .medium-8,\n  .grid-x > .medium-9,\n  .grid-x > .medium-10,\n  .grid-x > .medium-11,\n  .grid-x > .medium-12 {\n    flex-basis: auto;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 64, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-shrink,\n  .grid-x > .large-full,\n  .grid-x > .large-1,\n  .grid-x > .large-2,\n  .grid-x > .large-3,\n  .grid-x > .large-4,\n  .grid-x > .large-5,\n  .grid-x > .large-6,\n  .grid-x > .large-7,\n  .grid-x > .large-8,\n  .grid-x > .large-9,\n  .grid-x > .large-10,\n  .grid-x > .large-11,\n  .grid-x > .large-12 {\n    flex-basis: auto;\n  }\n}\n\n/* line 79, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-1,\n.grid-x > .small-2,\n.grid-x > .small-3,\n.grid-x > .small-4,\n.grid-x > .small-5,\n.grid-x > .small-6,\n.grid-x > .small-7,\n.grid-x > .small-8,\n.grid-x > .small-9,\n.grid-x > .small-10,\n.grid-x > .small-11,\n.grid-x > .small-12 {\n  flex: 0 0 auto;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-1 {\n  width: 8.33333%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-2 {\n  width: 16.66667%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-3 {\n  width: 25%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-4 {\n  width: 33.33333%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-5 {\n  width: 41.66667%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-6 {\n  width: 50%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-7 {\n  width: 58.33333%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-8 {\n  width: 66.66667%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-9 {\n  width: 75%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-10 {\n  width: 83.33333%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-11 {\n  width: 91.66667%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-12 {\n  width: 100%;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 73, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-auto {\n    flex: 1 1 0px;\n    width: auto;\n  }\n\n  /* line 79, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-shrink,\n  .grid-x > .medium-1,\n  .grid-x > .medium-2,\n  .grid-x > .medium-3,\n  .grid-x > .medium-4,\n  .grid-x > .medium-5,\n  .grid-x > .medium-6,\n  .grid-x > .medium-7,\n  .grid-x > .medium-8,\n  .grid-x > .medium-9,\n  .grid-x > .medium-10,\n  .grid-x > .medium-11,\n  .grid-x > .medium-12 {\n    flex: 0 0 auto;\n  }\n\n  /* line 85, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-shrink {\n    width: auto;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-1 {\n    width: 8.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-2 {\n    width: 16.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-3 {\n    width: 25%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-4 {\n    width: 33.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-5 {\n    width: 41.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-6 {\n    width: 50%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-7 {\n    width: 58.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-8 {\n    width: 66.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-9 {\n    width: 75%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-10 {\n    width: 83.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-11 {\n    width: 91.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 73, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-auto {\n    flex: 1 1 0px;\n    width: auto;\n  }\n\n  /* line 79, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-shrink,\n  .grid-x > .large-1,\n  .grid-x > .large-2,\n  .grid-x > .large-3,\n  .grid-x > .large-4,\n  .grid-x > .large-5,\n  .grid-x > .large-6,\n  .grid-x > .large-7,\n  .grid-x > .large-8,\n  .grid-x > .large-9,\n  .grid-x > .large-10,\n  .grid-x > .large-11,\n  .grid-x > .large-12 {\n    flex: 0 0 auto;\n  }\n\n  /* line 85, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-shrink {\n    width: auto;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-1 {\n    width: 8.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-2 {\n    width: 16.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-3 {\n    width: 25%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-4 {\n    width: 33.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-5 {\n    width: 41.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-6 {\n    width: 50%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-7 {\n    width: 58.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-8 {\n    width: 66.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-9 {\n    width: 75%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-10 {\n    width: 83.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-11 {\n    width: 91.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-12 {\n    width: 100%;\n  }\n}\n\n/* line 102, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x:not(.grid-x) > .cell {\n  width: auto;\n}\n\n/* line 107, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y:not(.grid-y) > .cell {\n  height: auto;\n}\n\n/* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x {\n  margin-left: -0.625rem;\n  margin-right: -0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x {\n    margin-left: -0.9375rem;\n    margin-right: -0.9375rem;\n  }\n}\n\n/* line 142, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .cell {\n  width: calc(100% - 1.25rem);\n  margin-left: 0.625rem;\n  margin-right: 0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 149, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .cell {\n    width: calc(100% - 1.875rem);\n    margin-left: 0.9375rem;\n    margin-right: 0.9375rem;\n  }\n}\n\n/* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .auto {\n  width: auto;\n}\n\n/* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .shrink {\n  width: auto;\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-1 {\n  width: calc(8.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-2 {\n  width: calc(16.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-3 {\n  width: calc(25% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-4 {\n  width: calc(33.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-5 {\n  width: calc(41.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-6 {\n  width: calc(50% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-7 {\n  width: calc(58.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-8 {\n  width: calc(66.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-9 {\n  width: calc(75% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-10 {\n  width: calc(83.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-11 {\n  width: calc(91.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-12 {\n  width: calc(100% - 1.25rem);\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .auto {\n    width: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .shrink {\n    width: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-1 {\n    width: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-2 {\n    width: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-3 {\n    width: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-4 {\n    width: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-5 {\n    width: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-6 {\n    width: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-7 {\n    width: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-8 {\n    width: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-9 {\n    width: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-10 {\n    width: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-11 {\n    width: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-12 {\n    width: calc(100% - 1.875rem);\n  }\n\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-auto {\n    width: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-shrink {\n    width: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-1 {\n    width: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-2 {\n    width: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-3 {\n    width: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-4 {\n    width: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-5 {\n    width: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-6 {\n    width: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-7 {\n    width: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-8 {\n    width: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-9 {\n    width: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-10 {\n    width: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-11 {\n    width: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-12 {\n    width: calc(100% - 1.875rem);\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-auto {\n    width: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-shrink {\n    width: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-1 {\n    width: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-2 {\n    width: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-3 {\n    width: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-4 {\n    width: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-5 {\n    width: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-6 {\n    width: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-7 {\n    width: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-8 {\n    width: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-9 {\n    width: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-10 {\n    width: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-11 {\n    width: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-12 {\n    width: calc(100% - 1.875rem);\n  }\n}\n\n/* line 177, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-padding-x .grid-padding-x {\n  margin-right: -0.625rem;\n  margin-left: -0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 177, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-padding-x .grid-padding-x {\n    margin-right: -0.9375rem;\n    margin-left: -0.9375rem;\n  }\n}\n\n/* line 183, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-container:not(.full) > .grid-padding-x {\n  margin-right: -0.625rem;\n  margin-left: -0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 183, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-container:not(.full) > .grid-padding-x {\n    margin-right: -0.9375rem;\n    margin-left: -0.9375rem;\n  }\n}\n\n/* line 188, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-padding-x > .cell {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 188, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-padding-x > .cell {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem;\n  }\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-1 > .cell {\n  width: 100%;\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-2 > .cell {\n  width: 50%;\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-3 > .cell {\n  width: 33.33333%;\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-4 > .cell {\n  width: 25%;\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-5 > .cell {\n  width: 20%;\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-6 > .cell {\n  width: 16.66667%;\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-7 > .cell {\n  width: 14.28571%;\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-8 > .cell {\n  width: 12.5%;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-1 > .cell {\n    width: 100%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-2 > .cell {\n    width: 50%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-3 > .cell {\n    width: 33.33333%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-4 > .cell {\n    width: 25%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-5 > .cell {\n    width: 20%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-6 > .cell {\n    width: 16.66667%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-7 > .cell {\n    width: 14.28571%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-8 > .cell {\n    width: 12.5%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-1 > .cell {\n    width: 100%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-2 > .cell {\n    width: 50%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-3 > .cell {\n    width: 33.33333%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-4 > .cell {\n    width: 25%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-5 > .cell {\n    width: 20%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-6 > .cell {\n    width: 16.66667%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-7 > .cell {\n    width: 14.28571%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-8 > .cell {\n    width: 12.5%;\n  }\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-1 > .cell {\n  width: calc(100% - 1.25rem);\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-2 > .cell {\n  width: calc(50% - 1.25rem);\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-3 > .cell {\n  width: calc(33.33333% - 1.25rem);\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-4 > .cell {\n  width: calc(25% - 1.25rem);\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-5 > .cell {\n  width: calc(20% - 1.25rem);\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-6 > .cell {\n  width: calc(16.66667% - 1.25rem);\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-7 > .cell {\n  width: calc(14.28571% - 1.25rem);\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-8 > .cell {\n  width: calc(12.5% - 1.25rem);\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-1 > .cell {\n    width: calc(100% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-2 > .cell {\n    width: calc(50% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-3 > .cell {\n    width: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-4 > .cell {\n    width: calc(25% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-5 > .cell {\n    width: calc(20% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-6 > .cell {\n    width: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-7 > .cell {\n    width: calc(14.28571% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-8 > .cell {\n    width: calc(12.5% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-1 > .cell {\n    width: calc(100% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-2 > .cell {\n    width: calc(50% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-3 > .cell {\n    width: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-4 > .cell {\n    width: calc(25% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-5 > .cell {\n    width: calc(20% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-6 > .cell {\n    width: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-7 > .cell {\n    width: calc(14.28571% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-8 > .cell {\n    width: calc(12.5% - 1.875rem);\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-1 > .cell {\n    width: calc(100% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-2 > .cell {\n    width: calc(50% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-3 > .cell {\n    width: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-4 > .cell {\n    width: calc(25% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-5 > .cell {\n    width: calc(20% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-6 > .cell {\n    width: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-7 > .cell {\n    width: calc(14.28571% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-8 > .cell {\n    width: calc(12.5% - 1.875rem);\n  }\n}\n\n/* line 234, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-margin-collapse {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n/* line 29, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .cell {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-1 {\n  width: 8.33333%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-2 {\n  width: 16.66667%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-3 {\n  width: 25%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-4 {\n  width: 33.33333%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-5 {\n  width: 41.66667%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-6 {\n  width: 50%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-7 {\n  width: 58.33333%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-8 {\n  width: 66.66667%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-9 {\n  width: 75%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-10 {\n  width: 83.33333%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-11 {\n  width: 91.66667%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-12 {\n  width: 100%;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-1 {\n    width: 8.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-2 {\n    width: 16.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-3 {\n    width: 25%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-4 {\n    width: 33.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-5 {\n    width: 41.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-6 {\n    width: 50%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-7 {\n    width: 58.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-8 {\n    width: 66.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-9 {\n    width: 75%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-10 {\n    width: 83.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-11 {\n    width: 91.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-1 {\n    width: 8.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-2 {\n    width: 16.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-3 {\n    width: 25%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-4 {\n    width: 33.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-5 {\n    width: 41.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-6 {\n    width: 50%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-7 {\n    width: 58.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-8 {\n    width: 66.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-9 {\n    width: 75%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-10 {\n    width: 83.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-11 {\n    width: 91.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-12 {\n    width: 100%;\n  }\n}\n\n/* line 240, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-padding-collapse {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n/* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-padding-collapse > .cell {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 234, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-margin-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n\n  /* line 29, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .cell {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-1 {\n    width: 8.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-2 {\n    width: 16.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-3 {\n    width: 25%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-4 {\n    width: 33.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-5 {\n    width: 41.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-6 {\n    width: 50%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-7 {\n    width: 58.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-8 {\n    width: 66.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-9 {\n    width: 75%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-10 {\n    width: 83.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-11 {\n    width: 91.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-1 {\n    width: 8.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-2 {\n    width: 16.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-3 {\n    width: 25%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-4 {\n    width: 33.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-5 {\n    width: 41.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-6 {\n    width: 50%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-7 {\n    width: 58.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-8 {\n    width: 66.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-9 {\n    width: 75%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-10 {\n    width: 83.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-11 {\n    width: 91.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-1 {\n    width: 8.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-2 {\n    width: 16.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-3 {\n    width: 25%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-4 {\n    width: 33.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-5 {\n    width: 41.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-6 {\n    width: 50%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-7 {\n    width: 58.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-8 {\n    width: 66.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-9 {\n    width: 75%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-10 {\n    width: 83.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-11 {\n    width: 91.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 240, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-padding-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n\n  /* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-padding-collapse > .cell {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 234, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-margin-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n\n  /* line 29, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .cell {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-1 {\n    width: 8.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-2 {\n    width: 16.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-3 {\n    width: 25%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-4 {\n    width: 33.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-5 {\n    width: 41.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-6 {\n    width: 50%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-7 {\n    width: 58.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-8 {\n    width: 66.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-9 {\n    width: 75%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-10 {\n    width: 83.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-11 {\n    width: 91.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-1 {\n    width: 8.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-2 {\n    width: 16.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-3 {\n    width: 25%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-4 {\n    width: 33.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-5 {\n    width: 41.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-6 {\n    width: 50%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-7 {\n    width: 58.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-8 {\n    width: 66.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-9 {\n    width: 75%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-10 {\n    width: 83.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-11 {\n    width: 91.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-1 {\n    width: 8.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-2 {\n    width: 16.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-3 {\n    width: 25%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-4 {\n    width: 33.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-5 {\n    width: 41.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-6 {\n    width: 50%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-7 {\n    width: 58.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-8 {\n    width: 66.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-9 {\n    width: 75%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-10 {\n    width: 83.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-11 {\n    width: 91.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 240, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-padding-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n\n  /* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-padding-collapse > .cell {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-0 {\n  margin-left: 0%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-0 {\n  margin-left: calc(0% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-1 {\n  margin-left: 8.33333%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-1 {\n  margin-left: calc(8.33333% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-2 {\n  margin-left: 16.66667%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-2 {\n  margin-left: calc(16.66667% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-3 {\n  margin-left: 25%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-3 {\n  margin-left: calc(25% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-4 {\n  margin-left: 33.33333%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-4 {\n  margin-left: calc(33.33333% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-5 {\n  margin-left: 41.66667%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-5 {\n  margin-left: calc(41.66667% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-6 {\n  margin-left: 50%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-6 {\n  margin-left: calc(50% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-7 {\n  margin-left: 58.33333%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-7 {\n  margin-left: calc(58.33333% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-8 {\n  margin-left: 66.66667%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-8 {\n  margin-left: calc(66.66667% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-9 {\n  margin-left: 75%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-9 {\n  margin-left: calc(75% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-10 {\n  margin-left: 83.33333%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-10 {\n  margin-left: calc(83.33333% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-11 {\n  margin-left: 91.66667%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-11 {\n  margin-left: calc(91.66667% + 0.625rem);\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-0 {\n    margin-left: 0%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-0 {\n    margin-left: calc(0% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-1 {\n    margin-left: 8.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-1 {\n    margin-left: calc(8.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-2 {\n    margin-left: 16.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-2 {\n    margin-left: calc(16.66667% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-3 {\n    margin-left: 25%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-3 {\n    margin-left: calc(25% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-4 {\n    margin-left: 33.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-4 {\n    margin-left: calc(33.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-5 {\n    margin-left: 41.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-5 {\n    margin-left: calc(41.66667% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-6 {\n    margin-left: 50%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-6 {\n    margin-left: calc(50% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-7 {\n    margin-left: 58.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-7 {\n    margin-left: calc(58.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-8 {\n    margin-left: 66.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-8 {\n    margin-left: calc(66.66667% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-9 {\n    margin-left: 75%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-9 {\n    margin-left: calc(75% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-10 {\n    margin-left: 83.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-10 {\n    margin-left: calc(83.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-11 {\n    margin-left: 91.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-11 {\n    margin-left: calc(91.66667% + 0.9375rem);\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-0 {\n    margin-left: 0%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-0 {\n    margin-left: calc(0% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-1 {\n    margin-left: 8.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-1 {\n    margin-left: calc(8.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-2 {\n    margin-left: 16.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-2 {\n    margin-left: calc(16.66667% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-3 {\n    margin-left: 25%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-3 {\n    margin-left: calc(25% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-4 {\n    margin-left: 33.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-4 {\n    margin-left: calc(33.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-5 {\n    margin-left: 41.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-5 {\n    margin-left: calc(41.66667% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-6 {\n    margin-left: 50%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-6 {\n    margin-left: calc(50% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-7 {\n    margin-left: 58.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-7 {\n    margin-left: calc(58.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-8 {\n    margin-left: 66.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-8 {\n    margin-left: calc(66.66667% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-9 {\n    margin-left: 75%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-9 {\n    margin-left: calc(75% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-10 {\n    margin-left: 83.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-10 {\n    margin-left: calc(83.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-11 {\n    margin-left: 91.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-11 {\n    margin-left: calc(91.66667% + 0.9375rem);\n  }\n}\n\n/* line 276, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y {\n  display: flex;\n  flex-flow: column nowrap;\n}\n\n/* line 280, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .cell {\n  width: auto;\n  max-width: none;\n}\n\n/* line 284, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .auto {\n  height: auto;\n}\n\n/* line 288, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .shrink {\n  height: auto;\n}\n\n/* line 302, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-shrink,\n.grid-y > .small-full,\n.grid-y > .small-1,\n.grid-y > .small-2,\n.grid-y > .small-3,\n.grid-y > .small-4,\n.grid-y > .small-5,\n.grid-y > .small-6,\n.grid-y > .small-7,\n.grid-y > .small-8,\n.grid-y > .small-9,\n.grid-y > .small-10,\n.grid-y > .small-11,\n.grid-y > .small-12 {\n  flex-basis: auto;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 302, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-shrink,\n  .grid-y > .medium-full,\n  .grid-y > .medium-1,\n  .grid-y > .medium-2,\n  .grid-y > .medium-3,\n  .grid-y > .medium-4,\n  .grid-y > .medium-5,\n  .grid-y > .medium-6,\n  .grid-y > .medium-7,\n  .grid-y > .medium-8,\n  .grid-y > .medium-9,\n  .grid-y > .medium-10,\n  .grid-y > .medium-11,\n  .grid-y > .medium-12 {\n    flex-basis: auto;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 302, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-shrink,\n  .grid-y > .large-full,\n  .grid-y > .large-1,\n  .grid-y > .large-2,\n  .grid-y > .large-3,\n  .grid-y > .large-4,\n  .grid-y > .large-5,\n  .grid-y > .large-6,\n  .grid-y > .large-7,\n  .grid-y > .large-8,\n  .grid-y > .large-9,\n  .grid-y > .large-10,\n  .grid-y > .large-11,\n  .grid-y > .large-12 {\n    flex-basis: auto;\n  }\n}\n\n/* line 316, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-1,\n.grid-y > .small-2,\n.grid-y > .small-3,\n.grid-y > .small-4,\n.grid-y > .small-5,\n.grid-y > .small-6,\n.grid-y > .small-7,\n.grid-y > .small-8,\n.grid-y > .small-9,\n.grid-y > .small-10,\n.grid-y > .small-11,\n.grid-y > .small-12 {\n  flex: 0 0 auto;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-1 {\n  height: 8.33333%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-2 {\n  height: 16.66667%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-3 {\n  height: 25%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-4 {\n  height: 33.33333%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-5 {\n  height: 41.66667%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-6 {\n  height: 50%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-7 {\n  height: 58.33333%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-8 {\n  height: 66.66667%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-9 {\n  height: 75%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-10 {\n  height: 83.33333%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-11 {\n  height: 91.66667%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-12 {\n  height: 100%;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 310, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-auto {\n    flex: 1 1 0px;\n    height: auto;\n  }\n\n  /* line 316, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-shrink,\n  .grid-y > .medium-1,\n  .grid-y > .medium-2,\n  .grid-y > .medium-3,\n  .grid-y > .medium-4,\n  .grid-y > .medium-5,\n  .grid-y > .medium-6,\n  .grid-y > .medium-7,\n  .grid-y > .medium-8,\n  .grid-y > .medium-9,\n  .grid-y > .medium-10,\n  .grid-y > .medium-11,\n  .grid-y > .medium-12 {\n    flex: 0 0 auto;\n  }\n\n  /* line 322, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-shrink {\n    height: auto;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-1 {\n    height: 8.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-2 {\n    height: 16.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-3 {\n    height: 25%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-4 {\n    height: 33.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-5 {\n    height: 41.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-6 {\n    height: 50%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-7 {\n    height: 58.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-8 {\n    height: 66.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-9 {\n    height: 75%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-10 {\n    height: 83.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-11 {\n    height: 91.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-12 {\n    height: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 310, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-auto {\n    flex: 1 1 0px;\n    height: auto;\n  }\n\n  /* line 316, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-shrink,\n  .grid-y > .large-1,\n  .grid-y > .large-2,\n  .grid-y > .large-3,\n  .grid-y > .large-4,\n  .grid-y > .large-5,\n  .grid-y > .large-6,\n  .grid-y > .large-7,\n  .grid-y > .large-8,\n  .grid-y > .large-9,\n  .grid-y > .large-10,\n  .grid-y > .large-11,\n  .grid-y > .large-12 {\n    flex: 0 0 auto;\n  }\n\n  /* line 322, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-shrink {\n    height: auto;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-1 {\n    height: 8.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-2 {\n    height: 16.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-3 {\n    height: 25%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-4 {\n    height: 33.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-5 {\n    height: 41.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-6 {\n    height: 50%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-7 {\n    height: 58.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-8 {\n    height: 66.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-9 {\n    height: 75%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-10 {\n    height: 83.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-11 {\n    height: 91.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-12 {\n    height: 100%;\n  }\n}\n\n/* line 343, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-padding-y .grid-padding-y {\n  margin-top: -0.625rem;\n  margin-bottom: -0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 343, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-padding-y .grid-padding-y {\n    margin-top: -0.9375rem;\n    margin-bottom: -0.9375rem;\n  }\n}\n\n/* line 348, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-padding-y > .cell {\n  padding-top: 0.625rem;\n  padding-bottom: 0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 348, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-padding-y > .cell {\n    padding-top: 0.9375rem;\n    padding-bottom: 0.9375rem;\n  }\n}\n\n/* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y {\n  margin-top: -0.625rem;\n  margin-bottom: -0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y {\n    margin-top: -0.9375rem;\n    margin-bottom: -0.9375rem;\n  }\n}\n\n/* line 142, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .cell {\n  height: calc(100% - 1.25rem);\n  margin-top: 0.625rem;\n  margin-bottom: 0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 149, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .cell {\n    height: calc(100% - 1.875rem);\n    margin-top: 0.9375rem;\n    margin-bottom: 0.9375rem;\n  }\n}\n\n/* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .auto {\n  height: auto;\n}\n\n/* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .shrink {\n  height: auto;\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-1 {\n  height: calc(8.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-2 {\n  height: calc(16.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-3 {\n  height: calc(25% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-4 {\n  height: calc(33.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-5 {\n  height: calc(41.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-6 {\n  height: calc(50% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-7 {\n  height: calc(58.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-8 {\n  height: calc(66.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-9 {\n  height: calc(75% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-10 {\n  height: calc(83.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-11 {\n  height: calc(91.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-12 {\n  height: calc(100% - 1.25rem);\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .auto {\n    height: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .shrink {\n    height: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-1 {\n    height: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-2 {\n    height: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-3 {\n    height: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-4 {\n    height: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-5 {\n    height: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-6 {\n    height: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-7 {\n    height: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-8 {\n    height: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-9 {\n    height: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-10 {\n    height: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-11 {\n    height: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-12 {\n    height: calc(100% - 1.875rem);\n  }\n\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-auto {\n    height: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-shrink {\n    height: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-1 {\n    height: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-2 {\n    height: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-3 {\n    height: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-4 {\n    height: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-5 {\n    height: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-6 {\n    height: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-7 {\n    height: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-8 {\n    height: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-9 {\n    height: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-10 {\n    height: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-11 {\n    height: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-12 {\n    height: calc(100% - 1.875rem);\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-auto {\n    height: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-shrink {\n    height: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-1 {\n    height: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-2 {\n    height: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-3 {\n    height: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-4 {\n    height: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-5 {\n    height: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-6 {\n    height: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-7 {\n    height: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-8 {\n    height: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-9 {\n    height: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-10 {\n    height: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-11 {\n    height: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-12 {\n    height: calc(100% - 1.875rem);\n  }\n}\n\n/* line 362, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-frame {\n  overflow: hidden;\n  position: relative;\n  flex-wrap: nowrap;\n  align-items: stretch;\n  width: 100vw;\n}\n\n/* line 366, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell .grid-frame {\n  width: 100%;\n}\n\n/* line 370, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell-block {\n  overflow-x: auto;\n  max-width: 100%;\n  -webkit-overflow-scrolling: touch;\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n/* line 374, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell-block-y {\n  overflow-y: auto;\n  max-height: 100%;\n  min-height: 100%;\n  -webkit-overflow-scrolling: touch;\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n/* line 379, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell-block-container {\n  display: flex;\n  flex-direction: column;\n  max-height: 100%;\n}\n\n/* line 82, node_modules/foundation-sites/scss/xy-grid/_frame.scss */\n\n.cell-block-container > .grid-x {\n  max-height: 100%;\n  flex-wrap: nowrap;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 386, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-grid-frame {\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    width: 100vw;\n  }\n\n  /* line 390, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .cell .medium-grid-frame {\n    width: 100%;\n  }\n\n  /* line 394, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-cell-block {\n    overflow-x: auto;\n    max-width: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n\n  /* line 398, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-cell-block-container {\n    display: flex;\n    flex-direction: column;\n    max-height: 100%;\n  }\n\n  /* line 82, node_modules/foundation-sites/scss/xy-grid/_frame.scss */\n\n  .medium-cell-block-container > .grid-x {\n    max-height: 100%;\n    flex-wrap: nowrap;\n  }\n\n  /* line 402, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-cell-block-y {\n    overflow-y: auto;\n    max-height: 100%;\n    min-height: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 386, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-grid-frame {\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    width: 100vw;\n  }\n\n  /* line 390, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .cell .large-grid-frame {\n    width: 100%;\n  }\n\n  /* line 394, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-cell-block {\n    overflow-x: auto;\n    max-width: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n\n  /* line 398, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-cell-block-container {\n    display: flex;\n    flex-direction: column;\n    max-height: 100%;\n  }\n\n  /* line 82, node_modules/foundation-sites/scss/xy-grid/_frame.scss */\n\n  .large-cell-block-container > .grid-x {\n    max-height: 100%;\n    flex-wrap: nowrap;\n  }\n\n  /* line 402, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-cell-block-y {\n    overflow-y: auto;\n    max-height: 100%;\n    min-height: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n}\n\n/* line 409, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y.grid-frame {\n  width: auto;\n  overflow: hidden;\n  position: relative;\n  flex-wrap: nowrap;\n  align-items: stretch;\n  height: 100vh;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 415, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y.medium-grid-frame {\n    width: auto;\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    height: 100vh;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 415, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y.large-grid-frame {\n    width: auto;\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    height: 100vh;\n  }\n}\n\n/* line 423, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell .grid-y.grid-frame {\n  height: 100%;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 427, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .cell .grid-y.medium-grid-frame {\n    height: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 427, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .cell .grid-y.large-grid-frame {\n    height: 100%;\n  }\n}\n\n/* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y {\n  margin-top: -0.625rem;\n  margin-bottom: -0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y {\n    margin-top: -0.9375rem;\n    margin-bottom: -0.9375rem;\n  }\n}\n\n/* line 142, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .cell {\n  height: calc(100% - 1.25rem);\n  margin-top: 0.625rem;\n  margin-bottom: 0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 149, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .cell {\n    height: calc(100% - 1.875rem);\n    margin-top: 0.9375rem;\n    margin-bottom: 0.9375rem;\n  }\n}\n\n/* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .auto {\n  height: auto;\n}\n\n/* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .shrink {\n  height: auto;\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-1 {\n  height: calc(8.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-2 {\n  height: calc(16.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-3 {\n  height: calc(25% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-4 {\n  height: calc(33.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-5 {\n  height: calc(41.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-6 {\n  height: calc(50% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-7 {\n  height: calc(58.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-8 {\n  height: calc(66.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-9 {\n  height: calc(75% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-10 {\n  height: calc(83.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-11 {\n  height: calc(91.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-12 {\n  height: calc(100% - 1.25rem);\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .auto {\n    height: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .shrink {\n    height: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-1 {\n    height: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-2 {\n    height: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-3 {\n    height: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-4 {\n    height: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-5 {\n    height: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-6 {\n    height: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-7 {\n    height: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-8 {\n    height: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-9 {\n    height: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-10 {\n    height: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-11 {\n    height: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-12 {\n    height: calc(100% - 1.875rem);\n  }\n\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-auto {\n    height: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-shrink {\n    height: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-1 {\n    height: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-2 {\n    height: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-3 {\n    height: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-4 {\n    height: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-5 {\n    height: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-6 {\n    height: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-7 {\n    height: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-8 {\n    height: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-9 {\n    height: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-10 {\n    height: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-11 {\n    height: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-12 {\n    height: calc(100% - 1.875rem);\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-auto {\n    height: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-shrink {\n    height: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-1 {\n    height: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-2 {\n    height: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-3 {\n    height: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-4 {\n    height: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-5 {\n    height: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-6 {\n    height: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-7 {\n    height: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-8 {\n    height: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-9 {\n    height: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-10 {\n    height: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-11 {\n    height: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-12 {\n    height: calc(100% - 1.875rem);\n  }\n}\n\n/* line 435, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-frame.grid-margin-y {\n  height: calc(100vh + 1.25rem);\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 435, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-frame.grid-margin-y {\n    height: calc(100vh + 1.875rem);\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 435, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-frame.grid-margin-y {\n    height: calc(100vh + 1.875rem);\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 439, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y.medium-grid-frame {\n    height: calc(100vh + 1.875rem);\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 439, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y.large-grid-frame {\n    height: calc(100vh + 1.875rem);\n  }\n}\n\n/* line 266, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #1779ba;\n  color: #fefefe;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .button {\n  outline: 0;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button:hover,\n.button:focus {\n  background-color: #14679e;\n  color: #fefefe;\n}\n\n/* line 271, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.tiny {\n  font-size: 0.6rem;\n}\n\n/* line 271, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.small {\n  font-size: 0.75rem;\n}\n\n/* line 271, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.large {\n  font-size: 1.25rem;\n}\n\n/* line 276, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.expanded {\n  display: block;\n  width: 100%;\n  margin-right: 0;\n  margin-left: 0;\n}\n\n/* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.primary {\n  background-color: #1779ba;\n  color: #fefefe;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.primary:hover,\n.button.primary:focus {\n  background-color: #126195;\n  color: #fefefe;\n}\n\n/* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.secondary {\n  background-color: #767676;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.secondary:hover,\n.button.secondary:focus {\n  background-color: #5e5e5e;\n  color: #000;\n}\n\n/* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.success {\n  background-color: #18a733;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.success:hover,\n.button.success:focus {\n  background-color: #138629;\n  color: #000;\n}\n\n/* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.warning {\n  background-color: #ffae00;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.warning:hover,\n.button.warning:focus {\n  background-color: #cc8b00;\n  color: #000;\n}\n\n/* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.alert {\n  background-color: #cc4b37;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.alert:hover,\n.button.alert:focus {\n  background-color: #a53b2a;\n  color: #000;\n}\n\n/* line 320, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled,\n.button[disabled] {\n  opacity: 0.25;\n  cursor: not-allowed;\n}\n\n/* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled,\n.button.disabled:hover,\n.button.disabled:focus,\n.button[disabled],\n.button[disabled]:hover,\n.button[disabled]:focus {\n  background-color: #1779ba;\n  color: #fefefe;\n}\n\n/* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.primary,\n.button[disabled].primary {\n  opacity: 0.25;\n  cursor: not-allowed;\n}\n\n/* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.primary,\n.button.disabled.primary:hover,\n.button.disabled.primary:focus,\n.button[disabled].primary,\n.button[disabled].primary:hover,\n.button[disabled].primary:focus {\n  background-color: #1779ba;\n  color: #fefefe;\n}\n\n/* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.secondary,\n.button[disabled].secondary {\n  opacity: 0.25;\n  cursor: not-allowed;\n}\n\n/* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.secondary,\n.button.disabled.secondary:hover,\n.button.disabled.secondary:focus,\n.button[disabled].secondary,\n.button[disabled].secondary:hover,\n.button[disabled].secondary:focus {\n  background-color: #767676;\n  color: #000;\n}\n\n/* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.success,\n.button[disabled].success {\n  opacity: 0.25;\n  cursor: not-allowed;\n}\n\n/* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.success,\n.button.disabled.success:hover,\n.button.disabled.success:focus,\n.button[disabled].success,\n.button[disabled].success:hover,\n.button[disabled].success:focus {\n  background-color: #18a733;\n  color: #000;\n}\n\n/* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.warning,\n.button[disabled].warning {\n  opacity: 0.25;\n  cursor: not-allowed;\n}\n\n/* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.warning,\n.button.disabled.warning:hover,\n.button.disabled.warning:focus,\n.button[disabled].warning,\n.button[disabled].warning:hover,\n.button[disabled].warning:focus {\n  background-color: #ffae00;\n  color: #000;\n}\n\n/* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.alert,\n.button[disabled].alert {\n  opacity: 0.25;\n  cursor: not-allowed;\n}\n\n/* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.alert,\n.button.disabled.alert:hover,\n.button.disabled.alert:focus,\n.button[disabled].alert,\n.button[disabled].alert:hover,\n.button[disabled].alert:focus {\n  background-color: #cc4b37;\n  color: #000;\n}\n\n/* line 333, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 161, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow,\n.button.hollow:hover,\n.button.hollow:focus {\n  background-color: transparent;\n}\n\n/* line 169, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.disabled,\n.button.hollow.disabled:hover,\n.button.hollow.disabled:focus,\n.button.hollow[disabled],\n.button.hollow[disabled]:hover,\n.button.hollow[disabled]:focus {\n  background-color: transparent;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow:hover,\n.button.hollow:focus {\n  border-color: #0c3d5d;\n  color: #0c3d5d;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow:hover.disabled,\n.button.hollow:hover[disabled],\n.button.hollow:focus.disabled,\n.button.hollow:focus[disabled] {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.primary {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.primary:hover,\n.button.hollow.primary:focus {\n  border-color: #0c3d5d;\n  color: #0c3d5d;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.primary:hover.disabled,\n.button.hollow.primary:hover[disabled],\n.button.hollow.primary:focus.disabled,\n.button.hollow.primary:focus[disabled] {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.secondary {\n  border: 1px solid #767676;\n  color: #767676;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.secondary:hover,\n.button.hollow.secondary:focus {\n  border-color: #3b3b3b;\n  color: #3b3b3b;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.secondary:hover.disabled,\n.button.hollow.secondary:hover[disabled],\n.button.hollow.secondary:focus.disabled,\n.button.hollow.secondary:focus[disabled] {\n  border: 1px solid #767676;\n  color: #767676;\n}\n\n/* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.success {\n  border: 1px solid #18a733;\n  color: #18a733;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.success:hover,\n.button.hollow.success:focus {\n  border-color: #0c541a;\n  color: #0c541a;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.success:hover.disabled,\n.button.hollow.success:hover[disabled],\n.button.hollow.success:focus.disabled,\n.button.hollow.success:focus[disabled] {\n  border: 1px solid #18a733;\n  color: #18a733;\n}\n\n/* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.warning {\n  border: 1px solid #ffae00;\n  color: #ffae00;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.warning:hover,\n.button.hollow.warning:focus {\n  border-color: #805700;\n  color: #805700;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.warning:hover.disabled,\n.button.hollow.warning:hover[disabled],\n.button.hollow.warning:focus.disabled,\n.button.hollow.warning:focus[disabled] {\n  border: 1px solid #ffae00;\n  color: #ffae00;\n}\n\n/* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.alert {\n  border: 1px solid #cc4b37;\n  color: #cc4b37;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.alert:hover,\n.button.hollow.alert:focus {\n  border-color: #67251a;\n  color: #67251a;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.alert:hover.disabled,\n.button.hollow.alert:hover[disabled],\n.button.hollow.alert:focus.disabled,\n.button.hollow.alert:focus[disabled] {\n  border: 1px solid #cc4b37;\n  color: #cc4b37;\n}\n\n/* line 347, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 161, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear,\n.button.clear:hover,\n.button.clear:focus {\n  background-color: transparent;\n}\n\n/* line 169, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.disabled,\n.button.clear.disabled:hover,\n.button.clear.disabled:focus,\n.button.clear[disabled],\n.button.clear[disabled]:hover,\n.button.clear[disabled]:focus {\n  background-color: transparent;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear:hover,\n.button.clear:focus {\n  border-color: #0c3d5d;\n  color: #0c3d5d;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear:hover.disabled,\n.button.clear:hover[disabled],\n.button.clear:focus.disabled,\n.button.clear:focus[disabled] {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 352, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear,\n.button.clear.disabled,\n.button.clear[disabled],\n.button.clear:hover,\n.button.clear:hover.disabled,\n.button.clear:hover[disabled],\n.button.clear:focus,\n.button.clear:focus.disabled,\n.button.clear:focus[disabled] {\n  border-color: transparent;\n}\n\n/* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.primary {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.primary:hover,\n.button.clear.primary:focus {\n  border-color: #0c3d5d;\n  color: #0c3d5d;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.primary:hover.disabled,\n.button.clear.primary:hover[disabled],\n.button.clear.primary:focus.disabled,\n.button.clear.primary:focus[disabled] {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.primary,\n.button.clear.primary.disabled,\n.button.clear.primary[disabled],\n.button.clear.primary:hover,\n.button.clear.primary:hover.disabled,\n.button.clear.primary:hover[disabled],\n.button.clear.primary:focus,\n.button.clear.primary:focus.disabled,\n.button.clear.primary:focus[disabled] {\n  border-color: transparent;\n}\n\n/* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.secondary {\n  border: 1px solid #767676;\n  color: #767676;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.secondary:hover,\n.button.clear.secondary:focus {\n  border-color: #3b3b3b;\n  color: #3b3b3b;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.secondary:hover.disabled,\n.button.clear.secondary:hover[disabled],\n.button.clear.secondary:focus.disabled,\n.button.clear.secondary:focus[disabled] {\n  border: 1px solid #767676;\n  color: #767676;\n}\n\n/* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.secondary,\n.button.clear.secondary.disabled,\n.button.clear.secondary[disabled],\n.button.clear.secondary:hover,\n.button.clear.secondary:hover.disabled,\n.button.clear.secondary:hover[disabled],\n.button.clear.secondary:focus,\n.button.clear.secondary:focus.disabled,\n.button.clear.secondary:focus[disabled] {\n  border-color: transparent;\n}\n\n/* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.success {\n  border: 1px solid #18a733;\n  color: #18a733;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.success:hover,\n.button.clear.success:focus {\n  border-color: #0c541a;\n  color: #0c541a;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.success:hover.disabled,\n.button.clear.success:hover[disabled],\n.button.clear.success:focus.disabled,\n.button.clear.success:focus[disabled] {\n  border: 1px solid #18a733;\n  color: #18a733;\n}\n\n/* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.success,\n.button.clear.success.disabled,\n.button.clear.success[disabled],\n.button.clear.success:hover,\n.button.clear.success:hover.disabled,\n.button.clear.success:hover[disabled],\n.button.clear.success:focus,\n.button.clear.success:focus.disabled,\n.button.clear.success:focus[disabled] {\n  border-color: transparent;\n}\n\n/* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.warning {\n  border: 1px solid #ffae00;\n  color: #ffae00;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.warning:hover,\n.button.clear.warning:focus {\n  border-color: #805700;\n  color: #805700;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.warning:hover.disabled,\n.button.clear.warning:hover[disabled],\n.button.clear.warning:focus.disabled,\n.button.clear.warning:focus[disabled] {\n  border: 1px solid #ffae00;\n  color: #ffae00;\n}\n\n/* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.warning,\n.button.clear.warning.disabled,\n.button.clear.warning[disabled],\n.button.clear.warning:hover,\n.button.clear.warning:hover.disabled,\n.button.clear.warning:hover[disabled],\n.button.clear.warning:focus,\n.button.clear.warning:focus.disabled,\n.button.clear.warning:focus[disabled] {\n  border-color: transparent;\n}\n\n/* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.alert {\n  border: 1px solid #cc4b37;\n  color: #cc4b37;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.alert:hover,\n.button.clear.alert:focus {\n  border-color: #67251a;\n  color: #67251a;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.alert:hover.disabled,\n.button.clear.alert:hover[disabled],\n.button.clear.alert:focus.disabled,\n.button.clear.alert:focus[disabled] {\n  border: 1px solid #cc4b37;\n  color: #cc4b37;\n}\n\n/* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.alert,\n.button.clear.alert.disabled,\n.button.clear.alert[disabled],\n.button.clear.alert:hover,\n.button.clear.alert:hover.disabled,\n.button.clear.alert:hover[disabled],\n.button.clear.alert:focus,\n.button.clear.alert:focus.disabled,\n.button.clear.alert:focus[disabled] {\n  border-color: transparent;\n}\n\n/* line 226, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.dropdown::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 0.4em;\n  content: '';\n  border-bottom-width: 0;\n  border-top-style: solid;\n  border-color: #fefefe transparent transparent;\n  position: relative;\n  top: 0.4em;\n  display: inline-block;\n  float: right;\n  margin-left: 1em;\n}\n\n/* line 385, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.dropdown.hollow::after,\n.button.dropdown.clear::after {\n  border-top-color: #1779ba;\n}\n\n/* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.dropdown.hollow.primary::after,\n.button.dropdown.clear.primary::after {\n  border-top-color: #1779ba;\n}\n\n/* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.dropdown.hollow.secondary::after,\n.button.dropdown.clear.secondary::after {\n  border-top-color: #767676;\n}\n\n/* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.dropdown.hollow.success::after,\n.button.dropdown.clear.success::after {\n  border-top-color: #18a733;\n}\n\n/* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.dropdown.hollow.warning::after,\n.button.dropdown.clear.warning::after {\n  border-top-color: #ffae00;\n}\n\n/* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.dropdown.hollow.alert::after,\n.button.dropdown.clear.alert::after {\n  border-top-color: #cc4b37;\n}\n\n/* line 400, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.arrow-only::after {\n  top: -0.1em;\n  float: none;\n  margin-left: 0;\n}\n\n/* line 408, node_modules/foundation-sites/scss/components/_button.scss */\n\na.button:hover,\na.button:focus {\n  text-decoration: none;\n}\n\n/* line 198, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group {\n  margin-bottom: 1rem;\n  display: flex;\n  flex-wrap: nowrap;\n  align-items: stretch;\n}\n\n/* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.button-group::before,\n.button-group::after {\n  display: table;\n  content: ' ';\n  flex-basis: 0;\n  order: 1;\n}\n\n/* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.button-group::after {\n  clear: both;\n}\n\n/* line 48, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group .button {\n  margin: 0;\n  margin-right: 1px;\n  margin-bottom: 1px;\n  font-size: 0.9rem;\n  flex: 0 0 auto;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group .button:last-child {\n  margin-right: 0;\n}\n\n/* line 203, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.tiny .button {\n  font-size: 0.6rem;\n}\n\n/* line 203, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.small .button {\n  font-size: 0.75rem;\n}\n\n/* line 203, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.large .button {\n  font-size: 1.25rem;\n}\n\n/* line 96, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.expanded .button {\n  flex: 1 1 0px;\n}\n\n/* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.primary .button {\n  background-color: #1779ba;\n  color: #fefefe;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-group.primary .button:hover,\n.button-group.primary .button:focus {\n  background-color: #126195;\n  color: #fefefe;\n}\n\n/* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.secondary .button {\n  background-color: #767676;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-group.secondary .button:hover,\n.button-group.secondary .button:focus {\n  background-color: #5e5e5e;\n  color: #000;\n}\n\n/* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.success .button {\n  background-color: #18a733;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-group.success .button:hover,\n.button-group.success .button:focus {\n  background-color: #138629;\n  color: #000;\n}\n\n/* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.warning .button {\n  background-color: #ffae00;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-group.warning .button:hover,\n.button-group.warning .button:focus {\n  background-color: #cc8b00;\n  color: #000;\n}\n\n/* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.alert .button {\n  background-color: #cc4b37;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-group.alert .button:hover,\n.button-group.alert .button:focus {\n  background-color: #a53b2a;\n  color: #000;\n}\n\n/* line 228, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.stacked,\n.button-group.stacked-for-small,\n.button-group.stacked-for-medium {\n  flex-wrap: wrap;\n}\n\n/* line 135, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.stacked .button,\n.button-group.stacked-for-small .button,\n.button-group.stacked-for-medium .button {\n  flex: 0 0 100%;\n}\n\n/* line 143, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.stacked .button:last-child,\n.button-group.stacked-for-small .button:last-child,\n.button-group.stacked-for-medium .button:last-child {\n  margin-bottom: 0;\n}\n\n/* line 96, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.stacked.expanded .button,\n.button-group.stacked-for-small.expanded .button,\n.button-group.stacked-for-medium.expanded .button {\n  flex: 1 1 0px;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 171, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n  .button-group.stacked-for-small .button {\n    flex: 0 0 auto;\n    margin-bottom: 0;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 171, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n  .button-group.stacked-for-medium .button {\n    flex: 0 0 auto;\n    margin-bottom: 0;\n  }\n}\n\n@media screen and (max-width: 39.99875em) {\n  /* line 250, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n  .button-group.stacked-for-small.expanded {\n    display: block;\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n  .button-group.stacked-for-small.expanded .button {\n    display: block;\n    margin-right: 0;\n  }\n}\n\n@media screen and (max-width: 63.99875em) {\n  /* line 261, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n  .button-group.stacked-for-medium.expanded {\n    display: block;\n  }\n\n  /* line 265, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n  .button-group.stacked-for-medium.expanded .button {\n    display: block;\n    margin-right: 0;\n  }\n}\n\n/* line 96, node_modules/foundation-sites/scss/components/_close-button.scss */\n\n.close-button {\n  position: absolute;\n  color: #333333;\n  cursor: pointer;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .close-button {\n  outline: 0;\n}\n\n/* line 89, node_modules/foundation-sites/scss/components/_close-button.scss */\n\n.close-button:hover,\n.close-button:focus {\n  color: #000;\n}\n\n/* line 99, node_modules/foundation-sites/scss/components/_close-button.scss */\n\n.close-button.small {\n  right: 0.66rem;\n  top: 0.33em;\n  font-size: 1.5em;\n  line-height: 1;\n}\n\n/* line 100, node_modules/foundation-sites/scss/components/_close-button.scss */\n\n.close-button,\n.close-button.medium {\n  right: 1rem;\n  top: 0.5rem;\n  font-size: 2em;\n  line-height: 1;\n}\n\n/* line 51, node_modules/foundation-sites/scss/components/_label.scss */\n\n.label {\n  display: inline-block;\n  padding: 0.33333rem 0.5rem;\n  border-radius: 0;\n  font-size: 0.8rem;\n  line-height: 1;\n  white-space: nowrap;\n  cursor: default;\n  background: #1779ba;\n  color: #fefefe;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n\n.label.primary {\n  background: #1779ba;\n  color: #fefefe;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n\n.label.secondary {\n  background: #767676;\n  color: #000;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n\n.label.success {\n  background: #18a733;\n  color: #000;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n\n.label.warning {\n  background: #ffae00;\n  color: #000;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n\n.label.alert {\n  background: #cc4b37;\n  color: #000;\n}\n\n/* line 42, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress {\n  height: 1rem;\n  margin-bottom: 1rem;\n  border-radius: 0;\n  background-color: #777777;\n}\n\n/* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress.primary .progress-meter {\n  background-color: #1779ba;\n}\n\n/* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress.secondary .progress-meter {\n  background-color: #767676;\n}\n\n/* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress.success .progress-meter {\n  background-color: #18a733;\n}\n\n/* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress.warning .progress-meter {\n  background-color: #ffae00;\n}\n\n/* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress.alert .progress-meter {\n  background-color: #cc4b37;\n}\n\n/* line 55, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress-meter {\n  position: relative;\n  display: block;\n  width: 0%;\n  height: 100%;\n  background-color: #1779ba;\n}\n\n/* line 60, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress-meter-text {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  margin: 0;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: #fefefe;\n  white-space: nowrap;\n}\n\n/* line 106, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider {\n  position: relative;\n  height: 0.5rem;\n  margin-top: 1.25rem;\n  margin-bottom: 2.25rem;\n  background-color: #eeeeee;\n  cursor: pointer;\n  user-select: none;\n  touch-action: none;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider-fill {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: inline-block;\n  max-width: 100%;\n  height: 0.5rem;\n  background-color: #777777;\n  transition: all 0.2s ease-in-out;\n}\n\n/* line 46, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider-fill.is-dragging {\n  transition: all 0s linear;\n}\n\n/* line 116, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider-handle {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  left: 0;\n  z-index: 1;\n  display: inline-block;\n  width: 1.4rem;\n  height: 1.4rem;\n  border-radius: 0;\n  background-color: #1779ba;\n  transition: all 0.2s ease-in-out;\n  touch-action: manipulation;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .slider-handle {\n  outline: 0;\n}\n\n/* line 67, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider-handle:hover {\n  background-color: #14679e;\n}\n\n/* line 71, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider-handle.is-dragging {\n  transition: all 0s linear;\n}\n\n/* line 121, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider.disabled,\n.slider[disabled] {\n  opacity: 0.25;\n  cursor: not-allowed;\n}\n\n/* line 127, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider.vertical {\n  display: inline-block;\n  width: 0.5rem;\n  height: 12.5rem;\n  margin: 0 1.25rem;\n  transform: scale(1, -1);\n}\n\n/* line 88, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider.vertical .slider-fill {\n  top: 0;\n  width: 0.5rem;\n  max-height: 100%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider.vertical .slider-handle {\n  position: absolute;\n  top: 0;\n  left: 50%;\n  width: 1.4rem;\n  height: 1.4rem;\n  transform: translateX(-50%);\n}\n\n/* line 203, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch {\n  height: 2rem;\n  position: relative;\n  margin-bottom: 1rem;\n  outline: 0;\n  font-size: 0.875rem;\n  font-weight: bold;\n  color: #fefefe;\n  user-select: none;\n}\n\n/* line 209, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch-input {\n  position: absolute;\n  margin-bottom: 0;\n  opacity: 0;\n}\n\n/* line 214, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch-paddle {\n  position: relative;\n  display: block;\n  width: 4rem;\n  height: 2rem;\n  border-radius: 0;\n  background: #777777;\n  transition: all 0.25s ease-out;\n  font-weight: inherit;\n  color: inherit;\n  cursor: pointer;\n}\n\n/* line 105, node_modules/foundation-sites/scss/components/_switch.scss */\n\ninput + .switch-paddle {\n  margin: 0;\n}\n\n/* line 110, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch-paddle::after {\n  position: absolute;\n  top: 0.25rem;\n  left: 0.25rem;\n  display: block;\n  width: 1.5rem;\n  height: 1.5rem;\n  transform: translate3d(0, 0, 0);\n  border-radius: 0;\n  background: #fefefe;\n  transition: all 0.25s ease-out;\n  content: '';\n}\n\n/* line 127, node_modules/foundation-sites/scss/components/_switch.scss */\n\ninput:checked ~ .switch-paddle {\n  background: #1779ba;\n}\n\n/* line 130, node_modules/foundation-sites/scss/components/_switch.scss */\n\ninput:checked ~ .switch-paddle::after {\n  left: 2.25rem;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] input:focus ~ .switch-paddle {\n  outline: 0;\n}\n\n/* line 219, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch-active,\n.switch-inactive {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n/* line 224, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch-active {\n  left: 8%;\n  display: none;\n}\n\n/* line 152, node_modules/foundation-sites/scss/components/_switch.scss */\n\ninput:checked + label > .switch-active {\n  display: block;\n}\n\n/* line 230, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch-inactive {\n  right: 15%;\n}\n\n/* line 161, node_modules/foundation-sites/scss/components/_switch.scss */\n\ninput:checked + label > .switch-inactive {\n  display: none;\n}\n\n/* line 236, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.tiny {\n  height: 1.5rem;\n}\n\n/* line 183, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.tiny .switch-paddle {\n  width: 3rem;\n  height: 1.5rem;\n  font-size: 0.625rem;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.tiny .switch-paddle::after {\n  top: 0.25rem;\n  left: 0.25rem;\n  width: 1rem;\n  height: 1rem;\n}\n\n/* line 196, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.tiny input:checked ~ .switch-paddle::after {\n  left: 1.75rem;\n}\n\n/* line 240, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.small {\n  height: 1.75rem;\n}\n\n/* line 183, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.small .switch-paddle {\n  width: 3.5rem;\n  height: 1.75rem;\n  font-size: 0.75rem;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.small .switch-paddle::after {\n  top: 0.25rem;\n  left: 0.25rem;\n  width: 1.25rem;\n  height: 1.25rem;\n}\n\n/* line 196, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.small input:checked ~ .switch-paddle::after {\n  left: 2rem;\n}\n\n/* line 244, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.large {\n  height: 2.5rem;\n}\n\n/* line 183, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.large .switch-paddle {\n  width: 5rem;\n  height: 2.5rem;\n  font-size: 1rem;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.large .switch-paddle::after {\n  top: 0.25rem;\n  left: 0.25rem;\n  width: 2rem;\n  height: 2rem;\n}\n\n/* line 196, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.large input:checked ~ .switch-paddle::after {\n  left: 2.75rem;\n}\n\n/* line 305, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable {\n  border-collapse: collapse;\n  width: 100%;\n  margin-bottom: 1rem;\n  border-radius: 0;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_table.scss */\n\nthead,\ntbody,\ntfoot {\n  border: 1px solid #f1f1f1;\n  background-color: #fefefe;\n}\n\n/* line 119, node_modules/foundation-sites/scss/components/_table.scss */\n\ncaption {\n  padding: 0.5rem 0.625rem 0.625rem;\n  font-weight: bold;\n}\n\n/* line 125, node_modules/foundation-sites/scss/components/_table.scss */\n\nthead {\n  background: #f8f8f8;\n  color: #000;\n}\n\n/* line 131, node_modules/foundation-sites/scss/components/_table.scss */\n\ntfoot {\n  background: #f1f1f1;\n  color: #000;\n}\n\n/* line 140, node_modules/foundation-sites/scss/components/_table.scss */\n\nthead tr,\ntfoot tr {\n  background: transparent;\n}\n\n/* line 145, node_modules/foundation-sites/scss/components/_table.scss */\n\nthead th,\nthead td,\ntfoot th,\ntfoot td {\n  padding: 0.5rem 0.625rem 0.625rem;\n  font-weight: bold;\n  text-align: left;\n}\n\n/* line 155, node_modules/foundation-sites/scss/components/_table.scss */\n\ntbody th,\ntbody td {\n  padding: 0.5rem 0.625rem 0.625rem;\n}\n\n/* line 87, node_modules/foundation-sites/scss/components/_table.scss */\n\ntbody tr:nth-child(even) {\n  border-bottom: 0;\n  background-color: #f1f1f1;\n}\n\n/* line 168, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable.unstriped tbody {\n  background-color: #fefefe;\n}\n\n/* line 103, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable.unstriped tbody tr {\n  border-bottom: 0;\n  border-bottom: 1px solid #f1f1f1;\n  background-color: #fefefe;\n}\n\n@media screen and (max-width: 63.99875em) {\n  /* line 284, node_modules/foundation-sites/scss/components/_table.scss */\n\n  table.stack thead {\n    display: none;\n  }\n\n  /* line 289, node_modules/foundation-sites/scss/components/_table.scss */\n\n  table.stack tfoot {\n    display: none;\n  }\n\n  /* line 293, node_modules/foundation-sites/scss/components/_table.scss */\n\n  table.stack tr,\n  table.stack th,\n  table.stack td {\n    display: block;\n  }\n\n  /* line 299, node_modules/foundation-sites/scss/components/_table.scss */\n\n  table.stack td {\n    border-top: 0;\n  }\n}\n\n/* line 315, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable.scroll {\n  display: block;\n  width: 100%;\n  overflow-x: auto;\n}\n\n/* line 221, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable.hover thead tr:hover {\n  background-color: #f3f3f3;\n}\n\n/* line 228, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable.hover tfoot tr:hover {\n  background-color: #ececec;\n}\n\n/* line 235, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable.hover tbody tr:hover {\n  background-color: #f9f9f9;\n}\n\n/* line 243, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable.hover:not(.unstriped) tr:nth-of-type(even):hover {\n  background-color: #ececec;\n}\n\n/* line 323, node_modules/foundation-sites/scss/components/_table.scss */\n\n.table-scroll {\n  overflow-x: auto;\n}\n\n/* line 50, node_modules/foundation-sites/scss/components/_badge.scss */\n\n.badge {\n  display: inline-block;\n  min-width: 2.1em;\n  padding: 0.3em;\n  border-radius: 50%;\n  font-size: 0.6rem;\n  text-align: center;\n  background: #1779ba;\n  color: #fefefe;\n}\n\n/* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n\n.badge.primary {\n  background: #1779ba;\n  color: #fefefe;\n}\n\n/* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n\n.badge.secondary {\n  background: #767676;\n  color: #000;\n}\n\n/* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n\n.badge.success {\n  background: #18a733;\n  color: #000;\n}\n\n/* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n\n.badge.warning {\n  background: #ffae00;\n  color: #000;\n}\n\n/* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n\n.badge.alert {\n  background: #cc4b37;\n  color: #000;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n\n.breadcrumbs {\n  margin: 0 0 1rem 0;\n  list-style: none;\n}\n\n/* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.breadcrumbs::before,\n.breadcrumbs::after {\n  display: table;\n  content: ' ';\n  flex-basis: 0;\n  order: 1;\n}\n\n/* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.breadcrumbs::after {\n  clear: both;\n}\n\n/* line 70, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n\n.breadcrumbs li {\n  float: left;\n  font-size: 0.6875rem;\n  color: #000;\n  cursor: default;\n  text-transform: uppercase;\n}\n\n/* line 86, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n\n.breadcrumbs li:not(:last-child)::after {\n  position: relative;\n  margin: 0 0.75rem;\n  opacity: 1;\n  content: \"/\";\n  color: #777777;\n}\n\n/* line 101, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n\n.breadcrumbs a {\n  color: #1779ba;\n}\n\n/* line 104, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n\n.breadcrumbs a:hover {\n  text-decoration: underline;\n}\n\n/* line 114, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n\n.breadcrumbs .disabled {\n  color: #777777;\n  cursor: not-allowed;\n}\n\n/* line 89, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout {\n  position: relative;\n  margin: 0 0 1rem 0;\n  padding: 1rem;\n  border: 1px solid rgba(0, 0, 0, 0.25);\n  border-radius: 0;\n  background-color: white;\n  color: #000;\n}\n\n/* line 55, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout > :first-child {\n  margin-top: 0;\n}\n\n/* line 59, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout > :last-child {\n  margin-bottom: 0;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout.primary {\n  background-color: #d7ecfa;\n  color: #000;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout.secondary {\n  background-color: #eaeaea;\n  color: #000;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout.success {\n  background-color: #d5f9dc;\n  color: #000;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout.warning {\n  background-color: #fff3d9;\n  color: #000;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout.alert {\n  background-color: #f7e4e1;\n  color: #000;\n}\n\n/* line 98, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout.small {\n  padding-top: 0.5rem;\n  padding-right: 0.5rem;\n  padding-bottom: 0.5rem;\n  padding-left: 0.5rem;\n}\n\n/* line 102, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout.large {\n  padding-top: 3rem;\n  padding-right: 3rem;\n  padding-bottom: 3rem;\n  padding-left: 3rem;\n}\n\n/* line 112, node_modules/foundation-sites/scss/components/_card.scss */\n\n.card {\n  display: flex;\n  flex-direction: column;\n  flex-grow: 1;\n  margin-bottom: 1rem;\n  border: 1px solid #eeeeee;\n  border-radius: 0;\n  background: #fefefe;\n  box-shadow: none;\n  overflow: hidden;\n  color: #000;\n}\n\n/* line 73, node_modules/foundation-sites/scss/components/_card.scss */\n\n.card > :last-child {\n  margin-bottom: 0;\n}\n\n/* line 116, node_modules/foundation-sites/scss/components/_card.scss */\n\n.card-divider {\n  display: flex;\n  flex: 0 1 auto;\n  padding: 1rem;\n  background: #eeeeee;\n}\n\n/* line 91, node_modules/foundation-sites/scss/components/_card.scss */\n\n.card-divider > :last-child {\n  margin-bottom: 0;\n}\n\n/* line 120, node_modules/foundation-sites/scss/components/_card.scss */\n\n.card-section {\n  flex: 1 0 auto;\n  padding: 1rem;\n}\n\n/* line 106, node_modules/foundation-sites/scss/components/_card.scss */\n\n.card-section > :last-child {\n  margin-bottom: 0;\n}\n\n/* line 126, node_modules/foundation-sites/scss/components/_card.scss */\n\n.card-image {\n  min-height: 1px;\n}\n\n/* line 71, node_modules/foundation-sites/scss/components/_dropdown.scss */\n\n.dropdown-pane {\n  position: absolute;\n  z-index: 10;\n  display: none;\n  width: 300px;\n  padding: 1rem;\n  visibility: hidden;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  font-size: 1rem;\n}\n\n/* line 60, node_modules/foundation-sites/scss/components/_dropdown.scss */\n\n.dropdown-pane.is-opening {\n  display: block;\n}\n\n/* line 64, node_modules/foundation-sites/scss/components/_dropdown.scss */\n\n.dropdown-pane.is-open {\n  display: block;\n  visibility: visible;\n}\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown.scss */\n\n.dropdown-pane.tiny {\n  width: 100px;\n}\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown.scss */\n\n.dropdown-pane.small {\n  width: 200px;\n}\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown.scss */\n\n.dropdown-pane.large {\n  width: 400px;\n}\n\n/* line 162, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination {\n  margin-left: 0;\n  margin-bottom: 1rem;\n}\n\n/* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.pagination::before,\n.pagination::after {\n  display: table;\n  content: ' ';\n  flex-basis: 0;\n  order: 1;\n}\n\n/* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.pagination::after {\n  clear: both;\n}\n\n/* line 83, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination li {\n  margin-right: 0.0625rem;\n  border-radius: 0;\n  font-size: 0.875rem;\n  display: none;\n}\n\n/* line 94, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination li:last-child,\n.pagination li:first-child {\n  display: inline-block;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 83, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n  .pagination li {\n    display: inline-block;\n  }\n}\n\n/* line 112, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination a,\n.pagination button {\n  display: block;\n  padding: 0.1875rem 0.625rem;\n  border-radius: 0;\n  color: #000;\n}\n\n/* line 119, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination a:hover,\n.pagination button:hover {\n  background: #eeeeee;\n}\n\n/* line 165, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination .current {\n  padding: 0.1875rem 0.625rem;\n  background: #1779ba;\n  color: #fefefe;\n  cursor: default;\n}\n\n/* line 169, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination .disabled {\n  padding: 0.1875rem 0.625rem;\n  color: #777777;\n  cursor: not-allowed;\n}\n\n/* line 146, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination .disabled:hover {\n  background: transparent;\n}\n\n/* line 173, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination .ellipsis::after {\n  padding: 0.1875rem 0.625rem;\n  content: '\\2026';\n  color: #000;\n}\n\n/* line 179, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination-previous a::before,\n.pagination-previous.disabled::before {\n  display: inline-block;\n  margin-right: 0.5rem;\n  content: '\\00ab';\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination-next a::after,\n.pagination-next.disabled::after {\n  display: inline-block;\n  margin-left: 0.5rem;\n  content: '\\00bb';\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.has-tip {\n  position: relative;\n  display: inline-block;\n  border-bottom: dotted 1px #333333;\n  font-weight: bold;\n  cursor: help;\n}\n\n/* line 157, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip {\n  position: absolute;\n  top: calc(100% + 0.6495rem);\n  z-index: 1200;\n  max-width: 10rem;\n  padding: 0.75rem;\n  border-radius: 0;\n  background-color: #000;\n  font-size: 80%;\n  color: #fefefe;\n}\n\n/* line 75, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip::before {\n  position: absolute;\n}\n\n/* line 80, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.bottom::before {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 0.75rem;\n  content: '';\n  border-top-width: 0;\n  border-bottom-style: solid;\n  border-color: transparent transparent #000;\n  bottom: 100%;\n}\n\n/* line 85, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.bottom.align-center::before {\n  left: 50%;\n  transform: translateX(-50%);\n}\n\n/* line 92, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.top::before {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 0.75rem;\n  content: '';\n  border-bottom-width: 0;\n  border-top-style: solid;\n  border-color: #000 transparent transparent;\n  top: 100%;\n  bottom: auto;\n}\n\n/* line 98, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.top.align-center::before {\n  left: 50%;\n  transform: translateX(-50%);\n}\n\n/* line 105, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.left::before {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 0.75rem;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #000;\n  left: 100%;\n}\n\n/* line 110, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.left.align-center::before {\n  bottom: auto;\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n/* line 118, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.right::before {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 0.75rem;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #000 transparent transparent;\n  right: 100%;\n  left: auto;\n}\n\n/* line 124, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.right.align-center::before {\n  bottom: auto;\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n/* line 131, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.align-top::before {\n  bottom: auto;\n  top: 10%;\n}\n\n/* line 136, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.align-bottom::before {\n  bottom: 10%;\n  top: auto;\n}\n\n/* line 141, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.align-left::before {\n  left: 10%;\n  right: auto;\n}\n\n/* line 146, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.align-right::before {\n  left: auto;\n  right: 10%;\n}\n\n/* line 141, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion {\n  margin-left: 0;\n  background: #fefefe;\n  list-style-type: none;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion[disabled] .accordion-title {\n  cursor: not-allowed;\n}\n\n/* line 66, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion-item:first-child > :first-child {\n  border-radius: 0 0 0 0;\n}\n\n/* line 70, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion-item:last-child > :last-child {\n  border-radius: 0 0 0 0;\n}\n\n/* line 149, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion-title {\n  position: relative;\n  display: block;\n  padding: 1.25rem 1rem;\n  border: 1px solid #eeeeee;\n  border-bottom: 0;\n  font-size: 0.75rem;\n  line-height: 1;\n  color: #1779ba;\n}\n\n/* line 94, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n:last-child:not(.is-active) > .accordion-title {\n  border-bottom: 1px solid #eeeeee;\n  border-radius: 0 0 0 0;\n}\n\n/* line 99, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion-title:hover,\n.accordion-title:focus {\n  background-color: #eeeeee;\n}\n\n/* line 105, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion-title::before {\n  position: absolute;\n  top: 50%;\n  right: 1rem;\n  margin-top: -0.5rem;\n  content: '+';\n}\n\n/* line 113, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.is-active > .accordion-title::before {\n  content: '\\2013';\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion-content {\n  display: none;\n  padding: 1rem;\n  border: 1px solid #eeeeee;\n  border-bottom: 0;\n  background-color: #fefefe;\n  color: #000;\n}\n\n/* line 135, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n:last-child > .accordion-content:last-child {\n  border-bottom: 1px solid #eeeeee;\n}\n\n/* line 107, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n.media-object {\n  display: flex;\n  margin-bottom: 1rem;\n  flex-wrap: nowrap;\n}\n\n/* line 30, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n.media-object img {\n  max-width: none;\n}\n\n@media screen and (max-width: 39.99875em) {\n  /* line 35, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n  .media-object.stack-for-small {\n    flex-wrap: wrap;\n  }\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n.media-object-section {\n  flex: 0 1 auto;\n}\n\n/* line 54, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n.media-object-section:first-child {\n  padding-right: 1rem;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n.media-object-section:last-child:not(:nth-child(2)) {\n  padding-left: 1rem;\n}\n\n/* line 62, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n.media-object-section > :last-child {\n  margin-bottom: 0;\n}\n\n@media screen and (max-width: 39.99875em) {\n  /* line 66, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n  .stack-for-small .media-object-section {\n    padding: 0;\n    padding-bottom: 1rem;\n    flex-basis: 100%;\n    max-width: 100%;\n  }\n\n  /* line 101, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n  .stack-for-small .media-object-section img {\n    width: 100%;\n  }\n}\n\n/* line 73, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n.media-object-section.main-section {\n  flex: 1 1 0px;\n}\n\n/* line 156, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit {\n  position: relative;\n}\n\n/* line 160, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-container {\n  position: relative;\n  height: 0;\n  margin: 0;\n  list-style: none;\n  overflow: hidden;\n}\n\n/* line 164, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-slide {\n  width: 100%;\n  position: absolute;\n}\n\n/* line 73, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-slide.no-motionui.is-active {\n  top: 0;\n  left: 0;\n}\n\n/* line 168, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-figure {\n  margin: 0;\n}\n\n/* line 172, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-image {\n  width: 100%;\n  max-width: 100%;\n  margin: 0;\n}\n\n/* line 176, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-caption {\n  position: absolute;\n  bottom: 0;\n  width: 100%;\n  margin-bottom: 0;\n  padding: 1rem;\n  background-color: rgba(0, 0, 0, 0.5);\n  color: #fefefe;\n}\n\n/* line 180, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-previous,\n.orbit-next {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  z-index: 10;\n  padding: 1rem;\n  color: #fefefe;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .orbit-previous,\n[data-whatinput='mouse'] .orbit-next {\n  outline: 0;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-previous:hover,\n.orbit-next:hover,\n.orbit-previous:active,\n.orbit-next:active,\n.orbit-previous:focus,\n.orbit-next:focus {\n  background-color: rgba(0, 0, 0, 0.5);\n}\n\n/* line 184, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-previous {\n  left: 0;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-next {\n  left: auto;\n  right: 0;\n}\n\n/* line 194, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-bullets {\n  position: relative;\n  margin-top: 0.8rem;\n  margin-bottom: 0.8rem;\n  text-align: center;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .orbit-bullets {\n  outline: 0;\n}\n\n/* line 137, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-bullets button {\n  width: 1.2rem;\n  height: 1.2rem;\n  margin: 0.1rem;\n  border-radius: 50%;\n  background-color: #777777;\n}\n\n/* line 145, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-bullets button:hover {\n  background-color: #333333;\n}\n\n/* line 149, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-bullets button.is-active {\n  background-color: #333333;\n}\n\n/* line 45, node_modules/foundation-sites/scss/components/_responsive-embed.scss */\n\n.responsive-embed,\n.flex-video {\n  position: relative;\n  height: 0;\n  margin-bottom: 1rem;\n  padding-bottom: 75%;\n  overflow: hidden;\n}\n\n/* line 32, node_modules/foundation-sites/scss/components/_responsive-embed.scss */\n\n.responsive-embed iframe,\n.responsive-embed object,\n.responsive-embed embed,\n.responsive-embed video,\n.flex-video iframe,\n.flex-video object,\n.flex-video embed,\n.flex-video video {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n}\n\n/* line 52, node_modules/foundation-sites/scss/components/_responsive-embed.scss */\n\n.responsive-embed.widescreen,\n.flex-video.widescreen {\n  padding-bottom: 56.25%;\n}\n\n/* line 144, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs {\n  margin: 0;\n  border: 1px solid #eeeeee;\n  background: #fefefe;\n  list-style-type: none;\n}\n\n/* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.tabs::before,\n.tabs::after {\n  display: table;\n  content: ' ';\n  flex-basis: 0;\n  order: 1;\n}\n\n/* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.tabs::after {\n  clear: both;\n}\n\n/* line 71, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs.vertical > li {\n  display: block;\n  float: none;\n  width: auto;\n}\n\n/* line 155, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs.simple > li > a {\n  padding: 0;\n}\n\n/* line 158, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs.simple > li > a:hover {\n  background: transparent;\n}\n\n/* line 165, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs.primary {\n  background: #1779ba;\n}\n\n/* line 168, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs.primary > li > a {\n  color: #fefefe;\n}\n\n/* line 171, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs.primary > li > a:hover,\n.tabs.primary > li > a:focus {\n  background: #1673b1;\n}\n\n/* line 178, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-title {\n  float: left;\n}\n\n/* line 89, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-title > a {\n  display: block;\n  padding: 1.25rem 1.5rem;\n  font-size: 0.75rem;\n  line-height: 1;\n  color: #1779ba;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .tabs-title > a {\n  outline: 0;\n}\n\n/* line 97, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-title > a:hover {\n  background: #fefefe;\n  color: #1468a0;\n}\n\n/* line 102, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-title > a:focus,\n.tabs-title > a[aria-selected='true'] {\n  background: #eeeeee;\n  color: #1779ba;\n}\n\n/* line 182, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-content {\n  border: 1px solid #eeeeee;\n  border-top: 0;\n  background: #fefefe;\n  color: #000;\n  transition: all 0.5s ease;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-content.vertical {\n  border: 1px solid #eeeeee;\n  border-left: 0;\n}\n\n/* line 190, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-panel {\n  display: none;\n  padding: 1rem;\n}\n\n/* line 138, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-panel.is-active {\n  display: block;\n}\n\n/* line 60, node_modules/foundation-sites/scss/components/_thumbnail.scss */\n\n.thumbnail {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 1rem;\n  border: 4px solid #fefefe;\n  border-radius: 0;\n  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n  line-height: 0;\n}\n\n/* line 64, node_modules/foundation-sites/scss/components/_thumbnail.scss */\n\na.thumbnail {\n  transition: box-shadow 200ms ease-out;\n}\n\n/* line 49, node_modules/foundation-sites/scss/components/_thumbnail.scss */\n\na.thumbnail:hover,\na.thumbnail:focus {\n  box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5);\n}\n\n/* line 54, node_modules/foundation-sites/scss/components/_thumbnail.scss */\n\na.thumbnail image {\n  box-shadow: none;\n}\n\n/* line 357, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu {\n  padding: 0;\n  margin: 0;\n  list-style: none;\n  position: relative;\n  display: flex;\n  flex-wrap: wrap;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .menu li {\n  outline: 0;\n}\n\n/* line 68, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu a,\n.menu .button {\n  line-height: 1;\n  text-decoration: none;\n  display: block;\n  padding: 0.7rem 1rem;\n}\n\n/* line 77, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu input,\n.menu select,\n.menu a,\n.menu button {\n  margin-bottom: 0;\n}\n\n/* line 84, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu input {\n  display: inline-block;\n}\n\n/* line 361, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu,\n.menu.horizontal {\n  flex-wrap: wrap;\n  flex-direction: row;\n}\n\n/* line 366, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.vertical {\n  flex-wrap: nowrap;\n  flex-direction: column;\n}\n\n/* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.expanded li {\n  flex: 1 1 0px;\n}\n\n/* line 376, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.simple {\n  align-items: center;\n}\n\n/* line 210, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.simple li + li {\n  margin-left: 1rem;\n}\n\n/* line 214, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.simple a {\n  padding: 0;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 382, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.medium-horizontal {\n    flex-wrap: wrap;\n    flex-direction: row;\n  }\n\n  /* line 386, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.medium-vertical {\n    flex-wrap: nowrap;\n    flex-direction: column;\n  }\n\n  /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.medium-expanded li {\n    flex: 1 1 0px;\n  }\n\n  /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.medium-simple li {\n    flex: 1 1 0px;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 382, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.large-horizontal {\n    flex-wrap: wrap;\n    flex-direction: row;\n  }\n\n  /* line 386, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.large-vertical {\n    flex-wrap: nowrap;\n    flex-direction: column;\n  }\n\n  /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.large-expanded li {\n    flex: 1 1 0px;\n  }\n\n  /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.large-simple li {\n    flex: 1 1 0px;\n  }\n}\n\n/* line 400, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.nested {\n  margin-right: 0;\n  margin-left: 1rem;\n}\n\n/* line 240, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icons a {\n  display: flex;\n}\n\n/* line 240, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-top a,\n.menu.icon-right a,\n.menu.icon-bottom a,\n.menu.icon-left a {\n  display: flex;\n}\n\n/* line 260, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-left li a {\n  flex-flow: row nowrap;\n}\n\n/* line 265, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-left li a img,\n.menu.icon-left li a i,\n.menu.icon-left li a svg {\n  margin-right: 0.25rem;\n}\n\n/* line 277, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-right li a {\n  flex-flow: row nowrap;\n}\n\n/* line 282, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-right li a img,\n.menu.icon-right li a i,\n.menu.icon-right li a svg {\n  margin-left: 0.25rem;\n}\n\n/* line 294, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-top li a {\n  flex-flow: column nowrap;\n}\n\n/* line 302, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-top li a img,\n.menu.icon-top li a i,\n.menu.icon-top li a svg {\n  align-self: stretch;\n  margin-bottom: 0.25rem;\n  text-align: center;\n}\n\n/* line 318, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-bottom li a {\n  flex-flow: column nowrap;\n}\n\n/* line 326, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-bottom li a img,\n.menu.icon-bottom li a i,\n.menu.icon-bottom li a svg {\n  align-self: stretch;\n  margin-bottom: 0.25rem;\n  text-align: center;\n}\n\n/* line 440, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu .is-active > a {\n  background: #1779ba;\n  color: #fefefe;\n}\n\n/* line 446, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu .active > a {\n  background: #1779ba;\n  color: #fefefe;\n}\n\n/* line 452, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-left {\n  justify-content: flex-start;\n}\n\n/* line 119, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-right li {\n  display: flex;\n  justify-content: flex-end;\n}\n\n/* line 123, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-right li .submenu li {\n  justify-content: flex-start;\n}\n\n/* line 128, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-right.vertical li {\n  display: block;\n  text-align: right;\n}\n\n/* line 132, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-right.vertical li .submenu li {\n  text-align: right;\n}\n\n/* line 460, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-right .nested {\n  margin-right: 1rem;\n  margin-left: 0;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-center li {\n  display: flex;\n  justify-content: center;\n}\n\n/* line 157, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-center li .submenu li {\n  justify-content: flex-start;\n}\n\n/* line 470, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu .menu-text {\n  padding: 0.7rem 1rem;\n  font-weight: bold;\n  line-height: 1;\n  color: inherit;\n}\n\n/* line 477, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu-centered > .menu {\n  justify-content: center;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu-centered > .menu li {\n  display: flex;\n  justify-content: center;\n}\n\n/* line 157, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu-centered > .menu li .submenu li {\n  justify-content: flex-start;\n}\n\n/* line 488, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.no-js [data-responsive-menu] ul {\n  display: none;\n}\n\n/* line 2, node_modules/foundation-sites/scss/components/_menu-icon.scss */\n\n.menu-icon {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 16px;\n  cursor: pointer;\n}\n\n/* line 114, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.menu-icon::after {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: block;\n  width: 100%;\n  height: 2px;\n  background: #fefefe;\n  box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;\n  content: '';\n}\n\n/* line 137, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.menu-icon:hover::after {\n  background: #777777;\n  box-shadow: 0 7px 0 #777777, 0 14px 0 #777777;\n}\n\n/* line 6, node_modules/foundation-sites/scss/components/_menu-icon.scss */\n\n.menu-icon.dark {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 16px;\n  cursor: pointer;\n}\n\n/* line 114, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.menu-icon.dark::after {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: block;\n  width: 100%;\n  height: 2px;\n  background: #000;\n  box-shadow: 0 7px 0 #000, 0 14px 0 #000;\n  content: '';\n}\n\n/* line 137, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.menu-icon.dark:hover::after {\n  background: #333333;\n  box-shadow: 0 7px 0 #333333, 0 14px 0 #333333;\n}\n\n/* line 83, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu li {\n  width: 100%;\n}\n\n/* line 92, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu a {\n  padding: 0.7rem 1rem;\n}\n\n/* line 99, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu .is-accordion-submenu a {\n  padding: 0.7rem 1rem;\n}\n\n/* line 103, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu .nested.is-accordion-submenu {\n  margin-right: 0;\n  margin-left: 1rem;\n}\n\n/* line 108, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu.align-right .nested.is-accordion-submenu {\n  margin-right: 1rem;\n  margin-left: 0;\n}\n\n/* line 54, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {\n  position: relative;\n}\n\n/* line 57, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-bottom-width: 0;\n  border-top-style: solid;\n  border-color: #1779ba transparent transparent;\n  position: absolute;\n  top: 50%;\n  margin-top: -3px;\n  right: 1rem;\n}\n\n/* line 66, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu.align-left .is-accordion-submenu-parent > a::after {\n  right: 1rem;\n  left: auto;\n}\n\n/* line 71, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu.align-right .is-accordion-submenu-parent > a::after {\n  right: auto;\n  left: 1rem;\n}\n\n/* line 116, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {\n  transform: rotate(180deg);\n  transform-origin: 50% 50%;\n}\n\n/* line 130, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.is-accordion-submenu-parent {\n  position: relative;\n}\n\n/* line 134, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.has-submenu-toggle > a {\n  margin-right: 40px;\n}\n\n/* line 139, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.submenu-toggle {\n  position: absolute;\n  top: 0;\n  right: 0;\n  width: 40px;\n  height: 40px;\n  cursor: pointer;\n}\n\n/* line 156, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.submenu-toggle::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-bottom-width: 0;\n  border-top-style: solid;\n  border-color: #1779ba transparent transparent;\n  top: 0;\n  bottom: 0;\n  margin: auto;\n}\n\n/* line 166, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.submenu-toggle[aria-expanded='true']::after {\n  transform: scaleY(-1);\n  transform-origin: 50% 50%;\n}\n\n/* line 171, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.submenu-toggle-text {\n  position: absolute !important;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n\n/* line 74, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.is-drilldown {\n  position: relative;\n  overflow: hidden;\n}\n\n/* line 78, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.is-drilldown li {\n  display: block;\n}\n\n/* line 82, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.is-drilldown.animate-height {\n  transition: height 0.5s;\n}\n\n/* line 89, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown a {\n  padding: 0.7rem 1rem;\n  background: #fefefe;\n}\n\n/* line 95, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .is-drilldown-submenu {\n  position: absolute;\n  top: 0;\n  left: 100%;\n  z-index: -1;\n  width: 100%;\n  background: #fefefe;\n  transition: transform 0.15s linear;\n}\n\n/* line 105, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .is-drilldown-submenu.is-active {\n  z-index: 1;\n  display: block;\n  transform: translateX(-100%);\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .is-drilldown-submenu.is-closing {\n  transform: translateX(100%);\n}\n\n/* line 116, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .is-drilldown-submenu a {\n  padding: 0.7rem 1rem;\n}\n\n/* line 121, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .nested.is-drilldown-submenu {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n/* line 125, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .drilldown-submenu-cover-previous {\n  min-height: 100%;\n}\n\n/* line 46, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .is-drilldown-submenu-parent > a {\n  position: relative;\n}\n\n/* line 49, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .is-drilldown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba;\n  position: absolute;\n  top: 50%;\n  margin-top: -6px;\n  right: 1rem;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown.align-left .is-drilldown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba;\n  right: 1rem;\n  left: auto;\n}\n\n/* line 64, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown.align-right .is-drilldown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  right: auto;\n  left: 1rem;\n}\n\n/* line 132, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .js-drilldown-back > a::before {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  display: inline-block;\n  vertical-align: middle;\n  margin-right: 0.75rem;\n}\n\n/* line 85, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu > li.opens-left > .is-dropdown-submenu {\n  top: 100%;\n  right: 0;\n  left: auto;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu > li.opens-right > .is-dropdown-submenu {\n  top: 100%;\n  right: auto;\n  left: 0;\n}\n\n/* line 101, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu > li.is-dropdown-submenu-parent > a {\n  position: relative;\n  padding-right: 1.5rem;\n}\n\n/* line 106, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu > li.is-dropdown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-bottom-width: 0;\n  border-top-style: solid;\n  border-color: #1779ba transparent transparent;\n  right: 5px;\n  left: auto;\n  margin-top: -3px;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .dropdown.menu a {\n  outline: 0;\n}\n\n/* line 154, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu > li > a {\n  padding: 0.7rem 1rem;\n}\n\n/* line 160, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu > li.is-active > a {\n  background: transparent;\n  color: #1779ba;\n}\n\n/* line 165, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.no-js .dropdown.menu ul {\n  display: none;\n}\n\n/* line 169, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu .nested.is-dropdown-submenu {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n/* line 116, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu.vertical > li .is-dropdown-submenu {\n  top: 0;\n}\n\n/* line 121, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {\n  top: 0;\n  right: 100%;\n  left: auto;\n}\n\n/* line 129, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {\n  right: auto;\n  left: 100%;\n}\n\n/* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu.vertical > li > a::after {\n  right: 14px;\n}\n\n/* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu.vertical > li.opens-left > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  right: auto;\n  left: 5px;\n}\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu.vertical > li.opens-right > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {\n    top: 100%;\n    right: 0;\n    left: auto;\n  }\n\n  /* line 93, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {\n    top: 100%;\n    right: auto;\n    left: 0;\n  }\n\n  /* line 101, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {\n    position: relative;\n    padding-right: 1.5rem;\n  }\n\n  /* line 106, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    right: 5px;\n    left: auto;\n    margin-top: -3px;\n  }\n\n  /* line 116, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {\n    top: 0;\n  }\n\n  /* line 121, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {\n    top: 0;\n    right: 100%;\n    left: auto;\n  }\n\n  /* line 129, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%;\n  }\n\n  /* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-vertical > li > a::after {\n    right: 14px;\n  }\n\n  /* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-vertical > li.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent;\n    right: auto;\n    left: 5px;\n  }\n\n  /* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-vertical > li.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {\n    top: 100%;\n    right: 0;\n    left: auto;\n  }\n\n  /* line 93, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {\n    top: 100%;\n    right: auto;\n    left: 0;\n  }\n\n  /* line 101, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {\n    position: relative;\n    padding-right: 1.5rem;\n  }\n\n  /* line 106, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    right: 5px;\n    left: auto;\n    margin-top: -3px;\n  }\n\n  /* line 116, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-vertical > li .is-dropdown-submenu {\n    top: 0;\n  }\n\n  /* line 121, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {\n    top: 0;\n    right: 100%;\n    left: auto;\n  }\n\n  /* line 129, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%;\n  }\n\n  /* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-vertical > li > a::after {\n    right: 14px;\n  }\n\n  /* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-vertical > li.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent;\n    right: auto;\n    left: 5px;\n  }\n\n  /* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-vertical > li.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba;\n  }\n}\n\n/* line 192, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu.align-right .is-dropdown-submenu.first-sub {\n  top: 100%;\n  right: 0;\n  left: auto;\n}\n\n/* line 200, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-menu.vertical {\n  width: 100px;\n}\n\n/* line 203, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-menu.vertical.align-right {\n  float: right;\n}\n\n/* line 208, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu-parent {\n  position: relative;\n}\n\n/* line 211, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu-parent a::after {\n  position: absolute;\n  top: 50%;\n  right: 5px;\n  left: auto;\n  margin-top: -6px;\n}\n\n/* line 219, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {\n  top: 100%;\n  left: auto;\n}\n\n/* line 230, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {\n  right: 100%;\n  left: auto;\n}\n\n/* line 235, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {\n  right: auto;\n  left: 100%;\n}\n\n/* line 241, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu {\n  position: absolute;\n  top: 0;\n  left: 100%;\n  z-index: 1;\n  display: none;\n  min-width: 200px;\n  border: 1px solid #777777;\n  background: #fefefe;\n}\n\n/* line 253, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown .is-dropdown-submenu a {\n  padding: 0.7rem 1rem;\n}\n\n/* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu .is-dropdown-submenu-parent > a::after {\n  right: 14px;\n}\n\n/* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  right: auto;\n  left: 5px;\n}\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba;\n}\n\n/* line 264, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu .is-dropdown-submenu {\n  margin-top: -1px;\n}\n\n/* line 269, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu > li {\n  width: 100%;\n}\n\n/* line 275, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu.js-dropdown-active {\n  display: block;\n}\n\n/* line 92, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.is-off-canvas-open {\n  overflow: hidden;\n}\n\n/* line 97, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.js-off-canvas-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 11;\n  width: 100%;\n  height: 100%;\n  transition: opacity 0.5s ease, visibility 0.5s ease;\n  background: rgba(254, 254, 254, 0.25);\n  opacity: 0;\n  visibility: hidden;\n  overflow: hidden;\n}\n\n/* line 115, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.js-off-canvas-overlay.is-visible {\n  opacity: 1;\n  visibility: visible;\n}\n\n/* line 120, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.js-off-canvas-overlay.is-closable {\n  cursor: pointer;\n}\n\n/* line 124, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.js-off-canvas-overlay.is-overlay-absolute {\n  position: absolute;\n}\n\n/* line 128, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.js-off-canvas-overlay.is-overlay-fixed {\n  position: fixed;\n}\n\n/* line 442, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-wrapper {\n  position: relative;\n  overflow: hidden;\n}\n\n/* line 447, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas {\n  position: fixed;\n  z-index: 12;\n  transition: transform 0.5s ease;\n  backface-visibility: hidden;\n  background: #eeeeee;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .off-canvas {\n  outline: 0;\n}\n\n/* line 159, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas.is-transition-push {\n  z-index: 12;\n}\n\n/* line 169, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas.is-closed {\n  visibility: hidden;\n}\n\n/* line 174, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas.is-transition-overlap {\n  z-index: 13;\n}\n\n/* line 177, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas.is-transition-overlap.is-open {\n  box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);\n}\n\n/* line 183, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas.is-open {\n  transform: translate(0, 0);\n}\n\n/* line 458, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-absolute {\n  position: absolute;\n  z-index: 12;\n  transition: transform 0.5s ease;\n  backface-visibility: hidden;\n  background: #eeeeee;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .off-canvas-absolute {\n  outline: 0;\n}\n\n/* line 159, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-absolute.is-transition-push {\n  z-index: 12;\n}\n\n/* line 169, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-absolute.is-closed {\n  visibility: hidden;\n}\n\n/* line 174, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-absolute.is-transition-overlap {\n  z-index: 13;\n}\n\n/* line 177, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-absolute.is-transition-overlap.is-open {\n  box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);\n}\n\n/* line 183, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-absolute.is-open {\n  transform: translate(0, 0);\n}\n\n/* line 463, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-left {\n  top: 0;\n  left: 0;\n  height: 100%;\n  overflow-y: auto;\n  width: 250px;\n  transform: translateX(-250px);\n}\n\n/* line 208, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-left {\n  transform: translateX(-250px);\n}\n\n/* line 215, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {\n  transform: translate(0, 0);\n}\n\n/* line 222, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content.is-open-left.has-transition-push {\n  transform: translateX(250px);\n}\n\n/* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-left.is-transition-push {\n  box-shadow: inset -13px 0 20px -13px rgba(0, 0, 0, 0.25);\n}\n\n/* line 464, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-right {\n  top: 0;\n  right: 0;\n  height: 100%;\n  overflow-y: auto;\n  width: 250px;\n  transform: translateX(250px);\n}\n\n/* line 245, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-right {\n  transform: translateX(250px);\n}\n\n/* line 252, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {\n  transform: translate(0, 0);\n}\n\n/* line 259, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content.is-open-right.has-transition-push {\n  transform: translateX(-250px);\n}\n\n/* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-right.is-transition-push {\n  box-shadow: inset 13px 0 20px -13px rgba(0, 0, 0, 0.25);\n}\n\n/* line 465, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-top {\n  top: 0;\n  left: 0;\n  width: 100%;\n  overflow-x: auto;\n  height: 250px;\n  transform: translateY(-250px);\n}\n\n/* line 282, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-top {\n  transform: translateY(-250px);\n}\n\n/* line 288, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {\n  transform: translate(0, 0);\n}\n\n/* line 295, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content.is-open-top.has-transition-push {\n  transform: translateY(250px);\n}\n\n/* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-top.is-transition-push {\n  box-shadow: inset 0 -13px 20px -13px rgba(0, 0, 0, 0.25);\n}\n\n/* line 466, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-bottom {\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  overflow-x: auto;\n  height: 250px;\n  transform: translateY(250px);\n}\n\n/* line 318, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-bottom {\n  transform: translateY(250px);\n}\n\n/* line 324, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {\n  transform: translate(0, 0);\n}\n\n/* line 331, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content.is-open-bottom.has-transition-push {\n  transform: translateY(-250px);\n}\n\n/* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-bottom.is-transition-push {\n  box-shadow: inset 0 13px 20px -13px rgba(0, 0, 0, 0.25);\n}\n\n/* line 468, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content {\n  transform: none;\n  transition: transform 0.5s ease;\n  backface-visibility: hidden;\n}\n\n/* line 369, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content.has-transition-push {\n  transform: translate(0, 0);\n}\n\n/* line 374, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.is-open {\n  transform: translate(0, 0);\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 476, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-left.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-left.reveal-for-medium .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-left.reveal-for-medium {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-left {\n    margin-left: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-left.reveal-for-medium ~ .off-canvas-content {\n    margin-left: 250px;\n  }\n\n  /* line 480, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-right.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-right.reveal-for-medium .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-right.reveal-for-medium {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-right {\n    margin-right: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-right.reveal-for-medium ~ .off-canvas-content {\n    margin-right: 250px;\n  }\n\n  /* line 484, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-top.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-top.reveal-for-medium .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-top.reveal-for-medium {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-top {\n    margin-top: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-top.reveal-for-medium ~ .off-canvas-content {\n    margin-top: 250px;\n  }\n\n  /* line 488, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-bottom.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-bottom.reveal-for-medium .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-bottom.reveal-for-medium {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-bottom {\n    margin-bottom: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-bottom.reveal-for-medium ~ .off-canvas-content {\n    margin-bottom: 250px;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 476, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-left.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-left.reveal-for-large .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-left.reveal-for-large {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-left {\n    margin-left: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-left.reveal-for-large ~ .off-canvas-content {\n    margin-left: 250px;\n  }\n\n  /* line 480, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-right.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-right.reveal-for-large .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-right.reveal-for-large {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-right {\n    margin-right: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-right.reveal-for-large ~ .off-canvas-content {\n    margin-right: 250px;\n  }\n\n  /* line 484, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-top.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-top.reveal-for-large .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-top.reveal-for-large {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-top {\n    margin-top: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-top.reveal-for-large ~ .off-canvas-content {\n    margin-top: 250px;\n  }\n\n  /* line 488, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-bottom.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-bottom.reveal-for-large .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-bottom.reveal-for-large {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-bottom {\n    margin-bottom: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-bottom.reveal-for-large ~ .off-canvas-content {\n    margin-bottom: 250px;\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 499, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas.in-canvas-for-medium {\n    visibility: visible;\n    height: auto;\n    position: static;\n    background: none;\n    width: auto;\n    overflow: visible;\n    transition: none;\n  }\n\n  /* line 425, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas.in-canvas-for-medium.position-left,\n  .off-canvas.in-canvas-for-medium.position-right,\n  .off-canvas.in-canvas-for-medium.position-top,\n  .off-canvas.in-canvas-for-medium.position-bottom {\n    box-shadow: none;\n    transform: none;\n  }\n\n  /* line 433, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas.in-canvas-for-medium .close-button {\n    display: none;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 499, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas.in-canvas-for-large {\n    visibility: visible;\n    height: auto;\n    position: static;\n    background: none;\n    width: auto;\n    overflow: visible;\n    transition: none;\n  }\n\n  /* line 425, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas.in-canvas-for-large.position-left,\n  .off-canvas.in-canvas-for-large.position-right,\n  .off-canvas.in-canvas-for-large.position-top,\n  .off-canvas.in-canvas-for-large.position-bottom {\n    box-shadow: none;\n    transform: none;\n  }\n\n  /* line 433, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas.in-canvas-for-large .close-button {\n    display: none;\n  }\n}\n\n/* line 133, node_modules/foundation-sites/scss/components/_reveal.scss */\n\nhtml.is-reveal-open {\n  position: fixed;\n  width: 100%;\n  overflow-y: hidden;\n}\n\n/* line 138, node_modules/foundation-sites/scss/components/_reveal.scss */\n\nhtml.is-reveal-open.zf-has-scroll {\n  overflow-y: scroll;\n}\n\n/* line 142, node_modules/foundation-sites/scss/components/_reveal.scss */\n\nhtml.is-reveal-open body {\n  overflow-y: hidden;\n}\n\n/* line 148, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n.reveal-overlay {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1005;\n  display: none;\n  background-color: rgba(0, 0, 0, 0.45);\n  overflow-y: auto;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n.reveal {\n  z-index: 1006;\n  backface-visibility: hidden;\n  display: none;\n  padding: 1rem;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  position: relative;\n  top: 100px;\n  margin-right: auto;\n  margin-left: auto;\n  overflow-y: auto;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .reveal {\n  outline: 0;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n  .reveal {\n    min-height: 0;\n  }\n}\n\n/* line 88, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n.reveal .column {\n  min-width: 0;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n.reveal > :last-child {\n  margin-bottom: 0;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n  .reveal {\n    width: 600px;\n    max-width: 75rem;\n  }\n}\n\n/* line 163, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n.reveal.collapse {\n  padding: 0;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 168, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n  .reveal.tiny {\n    width: 30%;\n    max-width: 75rem;\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 169, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n  .reveal.small {\n    width: 50%;\n    max-width: 75rem;\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 170, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n  .reveal.large {\n    width: 90%;\n    max-width: 75rem;\n  }\n}\n\n/* line 173, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n.reveal.full {\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  max-width: none;\n  height: 100%;\n  min-height: 100%;\n  margin-left: 0;\n  border: 0;\n  border-radius: 0;\n}\n\n@media screen and (max-width: 39.99875em) {\n  /* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n  .reveal {\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    min-height: 100%;\n    margin-left: 0;\n    border: 0;\n    border-radius: 0;\n  }\n}\n\n/* line 181, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n.reveal.without-overlay {\n  position: fixed;\n}\n\n/* line 6, node_modules/foundation-sites/scss/components/_sticky.scss */\n\n.sticky-container {\n  position: relative;\n}\n\n/* line 10, node_modules/foundation-sites/scss/components/_sticky.scss */\n\n.sticky {\n  position: relative;\n  z-index: 0;\n  transform: translate3d(0, 0, 0);\n}\n\n/* line 16, node_modules/foundation-sites/scss/components/_sticky.scss */\n\n.sticky.is-stuck {\n  position: fixed;\n  z-index: 5;\n  width: 100%;\n}\n\n/* line 21, node_modules/foundation-sites/scss/components/_sticky.scss */\n\n.sticky.is-stuck.is-at-top {\n  top: 0;\n}\n\n/* line 25, node_modules/foundation-sites/scss/components/_sticky.scss */\n\n.sticky.is-stuck.is-at-bottom {\n  bottom: 0;\n}\n\n/* line 30, node_modules/foundation-sites/scss/components/_sticky.scss */\n\n.sticky.is-anchored {\n  position: relative;\n  right: auto;\n  left: auto;\n}\n\n/* line 35, node_modules/foundation-sites/scss/components/_sticky.scss */\n\n.sticky.is-anchored.is-at-bottom {\n  bottom: 0;\n}\n\n/* line 38, node_modules/foundation-sites/scss/components/_title-bar.scss */\n\n.title-bar {\n  padding: 0.5rem;\n  background: #000;\n  color: #fefefe;\n  display: flex;\n  justify-content: flex-start;\n  align-items: center;\n}\n\n/* line 52, node_modules/foundation-sites/scss/components/_title-bar.scss */\n\n.title-bar .menu-icon {\n  margin-left: 0.25rem;\n  margin-right: 0.25rem;\n}\n\n/* line 59, node_modules/foundation-sites/scss/components/_title-bar.scss */\n\n.title-bar-left,\n.title-bar-right {\n  flex: 1 1 0px;\n}\n\n/* line 64, node_modules/foundation-sites/scss/components/_title-bar.scss */\n\n.title-bar-right {\n  text-align: right;\n}\n\n/* line 79, node_modules/foundation-sites/scss/components/_title-bar.scss */\n\n.title-bar-title {\n  display: inline-block;\n  vertical-align: middle;\n  font-weight: bold;\n}\n\n/* line 122, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar {\n  display: flex;\n  flex-wrap: nowrap;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0.5rem;\n  flex-wrap: wrap;\n}\n\n/* line 47, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar,\n.top-bar ul {\n  background-color: #eeeeee;\n}\n\n/* line 60, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar input {\n  max-width: 200px;\n  margin-right: 1rem;\n}\n\n/* line 66, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar .input-group-field,\n.top-bar .search-form .search-field,\n.search-form .top-bar .search-field {\n  width: 100%;\n  margin-right: 0;\n}\n\n/* line 71, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar input.button {\n  width: auto;\n}\n\n/* line 82, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar .top-bar-left,\n.top-bar .top-bar-right {\n  flex: 0 0 100%;\n  max-width: 100%;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 122, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n  .top-bar {\n    flex-wrap: nowrap;\n  }\n\n  /* line 102, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n  .top-bar .top-bar-left {\n    flex: 1 1 auto;\n    margin-right: auto;\n  }\n\n  /* line 107, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n  .top-bar .top-bar-right {\n    flex: 0 1 auto;\n    margin-left: auto;\n  }\n}\n\n@media screen and (max-width: 63.99875em) {\n  /* line 135, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n  .top-bar.stacked-for-medium {\n    flex-wrap: wrap;\n  }\n\n  /* line 82, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n  .top-bar.stacked-for-medium .top-bar-left,\n  .top-bar.stacked-for-medium .top-bar-right {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n}\n\n@media screen and (max-width: 74.99875em) {\n  /* line 135, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n  .top-bar.stacked-for-large {\n    flex-wrap: wrap;\n  }\n\n  /* line 82, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n  .top-bar.stacked-for-large .top-bar-left,\n  .top-bar.stacked-for-large .top-bar-right {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n}\n\n/* line 146, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar-title {\n  flex: 0 0 auto;\n  margin: 0.5rem 1rem 0.5rem 0;\n}\n\n/* line 151, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar-left,\n.top-bar-right {\n  flex: 0 0 auto;\n}\n\n/* line 10, node_modules/foundation-sites/scss/components/_float.scss */\n\n.float-left {\n  float: left !important;\n}\n\n/* line 14, node_modules/foundation-sites/scss/components/_float.scss */\n\n.float-right {\n  float: right !important;\n}\n\n/* line 18, node_modules/foundation-sites/scss/components/_float.scss */\n\n.float-center {\n  display: block;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n/* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.clearfix::before,\n.clearfix::after {\n  display: table;\n  content: ' ';\n  flex-basis: 0;\n  order: 1;\n}\n\n/* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.clearfix::after {\n  clear: both;\n}\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-left {\n  justify-content: flex-start;\n}\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-right {\n  justify-content: flex-end;\n}\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-center {\n  justify-content: center;\n}\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-justify {\n  justify-content: space-between;\n}\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-spaced {\n  justify-content: space-around;\n}\n\n/* line 84, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-left.vertical.menu > li > a {\n  justify-content: flex-start;\n}\n\n/* line 84, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-right.vertical.menu > li > a {\n  justify-content: flex-end;\n}\n\n/* line 84, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-center.vertical.menu > li > a {\n  justify-content: center;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-top {\n  align-items: flex-start;\n}\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-self-top {\n  align-self: flex-start;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-bottom {\n  align-items: flex-end;\n}\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-self-bottom {\n  align-self: flex-end;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-middle {\n  align-items: center;\n}\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-self-middle {\n  align-self: center;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-stretch {\n  align-items: stretch;\n}\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-self-stretch {\n  align-self: stretch;\n}\n\n/* line 103, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-center-middle {\n  justify-content: center;\n  align-items: center;\n  align-content: center;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.small-order-1 {\n  order: 1;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.small-order-2 {\n  order: 2;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.small-order-3 {\n  order: 3;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.small-order-4 {\n  order: 4;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.small-order-5 {\n  order: 5;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.small-order-6 {\n  order: 6;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-order-1 {\n    order: 1;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-order-2 {\n    order: 2;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-order-3 {\n    order: 3;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-order-4 {\n    order: 4;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-order-5 {\n    order: 5;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-order-6 {\n    order: 6;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-order-1 {\n    order: 1;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-order-2 {\n    order: 2;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-order-3 {\n    order: 3;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-order-4 {\n    order: 4;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-order-5 {\n    order: 5;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-order-6 {\n    order: 6;\n  }\n}\n\n/* line 18, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-container {\n  display: flex;\n}\n\n/* line 22, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-child-auto {\n  flex: 1 1 auto;\n}\n\n/* line 26, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-child-grow {\n  flex: 1 0 auto;\n}\n\n/* line 30, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-child-shrink {\n  flex: 0 1 auto;\n}\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-dir-row {\n  flex-direction: row;\n}\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-dir-row-reverse {\n  flex-direction: row-reverse;\n}\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-dir-column {\n  flex-direction: column;\n}\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-dir-column-reverse {\n  flex-direction: column-reverse;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 45, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-container {\n    display: flex;\n  }\n\n  /* line 49, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-child-auto {\n    flex: 1 1 auto;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-child-grow {\n    flex: 1 0 auto;\n  }\n\n  /* line 57, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-child-shrink {\n    flex: 0 1 auto;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-dir-row {\n    flex-direction: row;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-dir-row-reverse {\n    flex-direction: row-reverse;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-dir-column {\n    flex-direction: column;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-dir-column-reverse {\n    flex-direction: column-reverse;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 45, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-container {\n    display: flex;\n  }\n\n  /* line 49, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-child-auto {\n    flex: 1 1 auto;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-child-grow {\n    flex: 1 0 auto;\n  }\n\n  /* line 57, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-child-shrink {\n    flex: 0 1 auto;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-dir-row {\n    flex-direction: row;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-dir-row-reverse {\n    flex-direction: row-reverse;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-dir-column {\n    flex-direction: column;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-dir-column-reverse {\n    flex-direction: column-reverse;\n  }\n}\n\n/* line 65, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n.hide {\n  display: none !important;\n}\n\n/* line 69, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n.invisible {\n  visibility: hidden;\n}\n\n@media screen and (max-width: 39.99875em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .hide-for-small-only {\n    display: none !important;\n  }\n}\n\n@media screen and (max-width: 0em), screen and (min-width: 40em) {\n  /* line 89, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .show-for-small-only {\n    display: none !important;\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 76, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .hide-for-medium {\n    display: none !important;\n  }\n}\n\n@media screen and (max-width: 39.99875em) {\n  /* line 80, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .show-for-medium {\n    display: none !important;\n  }\n}\n\n@media screen and (min-width: 40em) and (max-width: 63.99875em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .hide-for-medium-only {\n    display: none !important;\n  }\n}\n\n@media screen and (max-width: 39.99875em), screen and (min-width: 64em) {\n  /* line 89, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .show-for-medium-only {\n    display: none !important;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 76, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .hide-for-large {\n    display: none !important;\n  }\n}\n\n@media screen and (max-width: 63.99875em) {\n  /* line 80, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .show-for-large {\n    display: none !important;\n  }\n}\n\n@media screen and (min-width: 64em) and (max-width: 74.99875em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .hide-for-large-only {\n    display: none !important;\n  }\n}\n\n@media screen and (max-width: 63.99875em), screen and (min-width: 75em) {\n  /* line 89, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .show-for-large-only {\n    display: none !important;\n  }\n}\n\n/* line 96, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n.show-for-sr,\n.screen-reader-text,\n.show-on-focus,\n.screen-reader-text {\n  position: absolute !important;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n\n/* line 103, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n.show-on-focus:active,\n.screen-reader-text:active,\n.show-on-focus:focus,\n.screen-reader-text:focus {\n  position: static !important;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n  white-space: normal;\n}\n\n/* line 110, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n.show-for-landscape,\n.hide-for-portrait {\n  display: block !important;\n}\n\n@media screen and (orientation: landscape) {\n  /* line 110, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .show-for-landscape,\n  .hide-for-portrait {\n    display: block !important;\n  }\n}\n\n@media screen and (orientation: portrait) {\n  /* line 110, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .show-for-landscape,\n  .hide-for-portrait {\n    display: none !important;\n  }\n}\n\n/* line 123, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n.hide-for-landscape,\n.show-for-portrait {\n  display: none !important;\n}\n\n@media screen and (orientation: landscape) {\n  /* line 123, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .hide-for-landscape,\n  .show-for-portrait {\n    display: none !important;\n  }\n}\n\n@media screen and (orientation: portrait) {\n  /* line 123, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .hide-for-landscape,\n  .show-for-portrait {\n    display: block !important;\n  }\n}\n\n/* stylelint-disable */\n\n/* stylelint-enable */\n\n/**\n * Foundation for Sites by ZURB\n * Version 6.5.3\n * foundation.zurb.com\n * Licensed under MIT Open Source\n */\n\n@media print, screen and (min-width: 40em) {\n  /* line 46, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n  .reveal,\n  .reveal.tiny,\n  .reveal.small,\n  .reveal.large {\n    right: auto;\n    left: auto;\n    margin: 0 auto;\n  }\n}\n\n/*!\n * Hamburgers\n * @description Tasty CSS-animated hamburgers\n * @author Jonathan Suh @jonsuh\n * @site https://jonsuh.com/hamburgers\n * @link https://github.com/jonsuh/hamburgers\n */\n\n/* line 3, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger {\n  padding: 15px 15px;\n  display: inline-block;\n  cursor: pointer;\n  transition-property: opacity, filter;\n  transition-duration: 0.15s;\n  transition-timing-function: linear;\n  font: inherit;\n  color: inherit;\n  text-transform: none;\n  background-color: transparent;\n  border: 0;\n  margin: 0;\n  overflow: visible;\n}\n\n/* line 21, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger:hover {\n  opacity: 0.7;\n}\n\n/* line 31, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger.is-active:hover {\n  opacity: 0.7;\n}\n\n/* line 40, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger.is-active .hamburger-inner,\n.hamburger.is-active .hamburger-inner::before,\n.hamburger.is-active .hamburger-inner::after {\n  background-color: #000;\n}\n\n/* line 48, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger-box {\n  width: 20px;\n  height: 13px;\n  display: inline-block;\n  position: relative;\n}\n\n/* line 55, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger-inner {\n  display: block;\n  top: 50%;\n  margin-top: -0.5px;\n}\n\n/* line 60, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger-inner,\n.hamburger-inner::before,\n.hamburger-inner::after {\n  width: 20px;\n  height: 1px;\n  background-color: #000;\n  border-radius: 0;\n  position: absolute;\n  transition-property: transform;\n  transition-duration: 0.15s;\n  transition-timing-function: ease;\n}\n\n/* line 73, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger-inner::before,\n.hamburger-inner::after {\n  content: \"\";\n  display: block;\n}\n\n/* line 79, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger-inner::before {\n  top: -6px;\n}\n\n/* line 83, node_modules/hamburgers/_sass/hamburgers/_base.scss */\n\n.hamburger-inner::after {\n  bottom: -6px;\n}\n\n/*\n   * Arrow\n   */\n\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrow.scss */\n\n.hamburger--arrow.is-active .hamburger-inner::before {\n  transform: translate3d(-4px, 0, 0) rotate(-45deg) scale(0.7, 1);\n}\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_arrow.scss */\n\n.hamburger--arrow.is-active .hamburger-inner::after {\n  transform: translate3d(-4px, 0, 0) rotate(45deg) scale(0.7, 1);\n}\n\n/*\n   * Arrow Right\n   */\n\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrow-r.scss */\n\n.hamburger--arrow-r.is-active .hamburger-inner::before {\n  transform: translate3d(4px, 0, 0) rotate(45deg) scale(0.7, 1);\n}\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_arrow-r.scss */\n\n.hamburger--arrow-r.is-active .hamburger-inner::after {\n  transform: translate3d(4px, 0, 0) rotate(-45deg) scale(0.7, 1);\n}\n\n/*\n   * Arrow Alt\n   */\n\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n\n.hamburger--arrowalt .hamburger-inner::before {\n  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);\n}\n\n/* line 12, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n\n.hamburger--arrowalt .hamburger-inner::after {\n  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);\n}\n\n/* line 20, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n\n.hamburger--arrowalt.is-active .hamburger-inner::before {\n  top: 0;\n  transform: translate3d(-4px, -5px, 0) rotate(-45deg) scale(0.7, 1);\n  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss */\n\n.hamburger--arrowalt.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: translate3d(-4px, 5px, 0) rotate(45deg) scale(0.7, 1);\n  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);\n}\n\n/*\n   * Arrow Alt Right\n   */\n\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n\n.hamburger--arrowalt-r .hamburger-inner::before {\n  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);\n}\n\n/* line 12, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n\n.hamburger--arrowalt-r .hamburger-inner::after {\n  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);\n}\n\n/* line 20, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n\n.hamburger--arrowalt-r.is-active .hamburger-inner::before {\n  top: 0;\n  transform: translate3d(4px, -5px, 0) rotate(45deg) scale(0.7, 1);\n  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss */\n\n.hamburger--arrowalt-r.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: translate3d(4px, 5px, 0) rotate(-45deg) scale(0.7, 1);\n  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);\n}\n\n/*\n   * Arrow Turn\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn.scss */\n\n.hamburger--arrowturn.is-active .hamburger-inner {\n  transform: rotate(-180deg);\n}\n\n/* line 9, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn.scss */\n\n.hamburger--arrowturn.is-active .hamburger-inner::before {\n  transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);\n}\n\n/* line 13, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn.scss */\n\n.hamburger--arrowturn.is-active .hamburger-inner::after {\n  transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);\n}\n\n/*\n   * Arrow Turn Right\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn-r.scss */\n\n.hamburger--arrowturn-r.is-active .hamburger-inner {\n  transform: rotate(-180deg);\n}\n\n/* line 9, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn-r.scss */\n\n.hamburger--arrowturn-r.is-active .hamburger-inner::before {\n  transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);\n}\n\n/* line 13, node_modules/hamburgers/_sass/hamburgers/types/_arrowturn-r.scss */\n\n.hamburger--arrowturn-r.is-active .hamburger-inner::after {\n  transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);\n}\n\n/*\n   * Boring\n   */\n\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n\n.hamburger--boring .hamburger-inner,\n.hamburger--boring .hamburger-inner::before,\n.hamburger--boring .hamburger-inner::after {\n  transition-property: none;\n}\n\n/* line 15, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n\n.hamburger--boring.is-active .hamburger-inner {\n  transform: rotate(45deg);\n}\n\n/* line 18, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n\n.hamburger--boring.is-active .hamburger-inner::before {\n  top: 0;\n  opacity: 0;\n}\n\n/* line 23, node_modules/hamburgers/_sass/hamburgers/types/_boring.scss */\n\n.hamburger--boring.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(-90deg);\n}\n\n/*\n   * Collapse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n\n.hamburger--collapse .hamburger-inner {\n  top: auto;\n  bottom: 0;\n  transition-duration: 0.13s;\n  transition-delay: 0.13s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 13, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n\n.hamburger--collapse .hamburger-inner::after {\n  top: -12px;\n  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;\n}\n\n/* line 19, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n\n.hamburger--collapse .hamburger-inner::before {\n  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 26, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n\n.hamburger--collapse.is-active .hamburger-inner {\n  transform: translate3d(0, -6px, 0) rotate(-45deg);\n  transition-delay: 0.22s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 31, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n\n.hamburger--collapse.is-active .hamburger-inner::after {\n  top: 0;\n  opacity: 0;\n  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;\n}\n\n/* line 38, node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss */\n\n.hamburger--collapse.is-active .hamburger-inner::before {\n  top: 0;\n  transform: rotate(-90deg);\n  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Collapse Reverse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n\n.hamburger--collapse-r .hamburger-inner {\n  top: auto;\n  bottom: 0;\n  transition-duration: 0.13s;\n  transition-delay: 0.13s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 13, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n\n.hamburger--collapse-r .hamburger-inner::after {\n  top: -12px;\n  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;\n}\n\n/* line 19, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n\n.hamburger--collapse-r .hamburger-inner::before {\n  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 26, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n\n.hamburger--collapse-r.is-active .hamburger-inner {\n  transform: translate3d(0, -6px, 0) rotate(45deg);\n  transition-delay: 0.22s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 31, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n\n.hamburger--collapse-r.is-active .hamburger-inner::after {\n  top: 0;\n  opacity: 0;\n  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;\n}\n\n/* line 38, node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss */\n\n.hamburger--collapse-r.is-active .hamburger-inner::before {\n  top: 0;\n  transform: rotate(90deg);\n  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Elastic\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n\n.hamburger--elastic .hamburger-inner {\n  top: 0.5px;\n  transition-duration: 0.275s;\n  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n\n.hamburger--elastic .hamburger-inner::before {\n  top: 6px;\n  transition: opacity 0.125s 0.275s ease;\n}\n\n/* line 16, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n\n.hamburger--elastic .hamburger-inner::after {\n  top: 12px;\n  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n\n/* line 23, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n\n.hamburger--elastic.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(135deg);\n  transition-delay: 0.075s;\n}\n\n/* line 29, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n\n.hamburger--elastic.is-active .hamburger-inner::before {\n  transition-delay: 0s;\n  opacity: 0;\n}\n\n/* line 34, node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss */\n\n.hamburger--elastic.is-active .hamburger-inner::after {\n  transform: translate3d(0, -12px, 0) rotate(-270deg);\n  transition-delay: 0.075s;\n}\n\n/*\n   * Elastic Reverse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n\n.hamburger--elastic-r .hamburger-inner {\n  top: 0.5px;\n  transition-duration: 0.275s;\n  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n\n.hamburger--elastic-r .hamburger-inner::before {\n  top: 6px;\n  transition: opacity 0.125s 0.275s ease;\n}\n\n/* line 16, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n\n.hamburger--elastic-r .hamburger-inner::after {\n  top: 12px;\n  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n}\n\n/* line 23, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n\n.hamburger--elastic-r.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(-135deg);\n  transition-delay: 0.075s;\n}\n\n/* line 29, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n\n.hamburger--elastic-r.is-active .hamburger-inner::before {\n  transition-delay: 0s;\n  opacity: 0;\n}\n\n/* line 34, node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss */\n\n.hamburger--elastic-r.is-active .hamburger-inner::after {\n  transform: translate3d(0, -12px, 0) rotate(270deg);\n  transition-delay: 0.075s;\n}\n\n/*\n   * Emphatic\n   */\n\n/* line 5, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n\n.hamburger--emphatic {\n  overflow: hidden;\n}\n\n/* line 8, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n\n.hamburger--emphatic .hamburger-inner {\n  transition: background-color 0.125s 0.175s ease-in;\n}\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n\n.hamburger--emphatic .hamburger-inner::before {\n  left: 0;\n  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;\n}\n\n/* line 18, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n\n.hamburger--emphatic .hamburger-inner::after {\n  top: 6px;\n  right: 0;\n  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;\n}\n\n/* line 28, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n\n.hamburger--emphatic.is-active .hamburger-inner {\n  transition-delay: 0s;\n  transition-timing-function: ease-out;\n  background-color: transparent !important;\n}\n\n/* line 33, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n\n.hamburger--emphatic.is-active .hamburger-inner::before {\n  left: -40px;\n  top: -40px;\n  transform: translate3d(40px, 40px, 0) rotate(45deg);\n  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);\n}\n\n/* line 42, node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss */\n\n.hamburger--emphatic.is-active .hamburger-inner::after {\n  right: -40px;\n  top: -40px;\n  transform: translate3d(-40px, 40px, 0) rotate(-45deg);\n  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);\n}\n\n/*\n   * Emphatic Reverse\n   */\n\n/* line 5, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n\n.hamburger--emphatic-r {\n  overflow: hidden;\n}\n\n/* line 8, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n\n.hamburger--emphatic-r .hamburger-inner {\n  transition: background-color 0.125s 0.175s ease-in;\n}\n\n/* line 11, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n\n.hamburger--emphatic-r .hamburger-inner::before {\n  left: 0;\n  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;\n}\n\n/* line 18, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n\n.hamburger--emphatic-r .hamburger-inner::after {\n  top: 6px;\n  right: 0;\n  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;\n}\n\n/* line 28, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n\n.hamburger--emphatic-r.is-active .hamburger-inner {\n  transition-delay: 0s;\n  transition-timing-function: ease-out;\n  background-color: transparent !important;\n}\n\n/* line 33, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n\n.hamburger--emphatic-r.is-active .hamburger-inner::before {\n  left: -40px;\n  top: 40px;\n  transform: translate3d(40px, -40px, 0) rotate(-45deg);\n  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);\n}\n\n/* line 42, node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss */\n\n.hamburger--emphatic-r.is-active .hamburger-inner::after {\n  right: -40px;\n  top: 40px;\n  transform: translate3d(-40px, -40px, 0) rotate(45deg);\n  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);\n}\n\n/*\n   * Minus\n   */\n\n/* line 7, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n\n.hamburger--minus .hamburger-inner::before,\n.hamburger--minus .hamburger-inner::after {\n  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear;\n}\n\n/* line 17, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n\n.hamburger--minus.is-active .hamburger-inner::before,\n.hamburger--minus.is-active .hamburger-inner::after {\n  opacity: 0;\n  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear;\n}\n\n/* line 24, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n\n.hamburger--minus.is-active .hamburger-inner::before {\n  top: 0;\n}\n\n/* line 28, node_modules/hamburgers/_sass/hamburgers/types/_minus.scss */\n\n.hamburger--minus.is-active .hamburger-inner::after {\n  bottom: 0;\n}\n\n/*\n   * Slider\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n\n.hamburger--slider .hamburger-inner {\n  top: 0.5px;\n}\n\n/* line 9, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n\n.hamburger--slider .hamburger-inner::before {\n  top: 6px;\n  transition-property: transform, opacity;\n  transition-timing-function: ease;\n  transition-duration: 0.15s;\n}\n\n/* line 16, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n\n.hamburger--slider .hamburger-inner::after {\n  top: 12px;\n}\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n\n.hamburger--slider.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(45deg);\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n\n.hamburger--slider.is-active .hamburger-inner::before {\n  transform: rotate(-45deg) translate3d(-2.85714px, -5px, 0);\n  opacity: 0;\n}\n\n/* line 32, node_modules/hamburgers/_sass/hamburgers/types/_slider.scss */\n\n.hamburger--slider.is-active .hamburger-inner::after {\n  transform: translate3d(0, -12px, 0) rotate(-90deg);\n}\n\n/*\n   * Slider Reverse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n\n.hamburger--slider-r .hamburger-inner {\n  top: 0.5px;\n}\n\n/* line 9, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n\n.hamburger--slider-r .hamburger-inner::before {\n  top: 6px;\n  transition-property: transform, opacity;\n  transition-timing-function: ease;\n  transition-duration: 0.15s;\n}\n\n/* line 16, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n\n.hamburger--slider-r .hamburger-inner::after {\n  top: 12px;\n}\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n\n.hamburger--slider-r.is-active .hamburger-inner {\n  transform: translate3d(0, 6px, 0) rotate(-45deg);\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n\n.hamburger--slider-r.is-active .hamburger-inner::before {\n  transform: rotate(45deg) translate3d(2.85714px, -5px, 0);\n  opacity: 0;\n}\n\n/* line 32, node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss */\n\n.hamburger--slider-r.is-active .hamburger-inner::after {\n  transform: translate3d(0, -12px, 0) rotate(90deg);\n}\n\n/*\n   * Spin\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n\n.hamburger--spin .hamburger-inner {\n  transition-duration: 0.22s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n\n.hamburger--spin .hamburger-inner::before {\n  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;\n}\n\n/* line 15, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n\n.hamburger--spin .hamburger-inner::after {\n  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n\n.hamburger--spin.is-active .hamburger-inner {\n  transform: rotate(225deg);\n  transition-delay: 0.12s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n\n.hamburger--spin.is-active .hamburger-inner::before {\n  top: 0;\n  opacity: 0;\n  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;\n}\n\n/* line 34, node_modules/hamburgers/_sass/hamburgers/types/_spin.scss */\n\n.hamburger--spin.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(-90deg);\n  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Spin Reverse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n\n.hamburger--spin-r .hamburger-inner {\n  transition-duration: 0.22s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n\n.hamburger--spin-r .hamburger-inner::before {\n  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;\n}\n\n/* line 15, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n\n.hamburger--spin-r .hamburger-inner::after {\n  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n\n.hamburger--spin-r.is-active .hamburger-inner {\n  transform: rotate(-225deg);\n  transition-delay: 0.12s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n\n.hamburger--spin-r.is-active .hamburger-inner::before {\n  top: 0;\n  opacity: 0;\n  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;\n}\n\n/* line 34, node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss */\n\n.hamburger--spin-r.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(90deg);\n  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Spring\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n\n.hamburger--spring .hamburger-inner {\n  top: 0.5px;\n  transition: background-color 0s 0.13s linear;\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n\n.hamburger--spring .hamburger-inner::before {\n  top: 6px;\n  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 16, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n\n.hamburger--spring .hamburger-inner::after {\n  top: 12px;\n  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 24, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n\n.hamburger--spring.is-active .hamburger-inner {\n  transition-delay: 0.22s;\n  background-color: transparent !important;\n}\n\n/* line 28, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n\n.hamburger--spring.is-active .hamburger-inner::before {\n  top: 0;\n  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);\n  transform: translate3d(0, 6px, 0) rotate(45deg);\n}\n\n/* line 35, node_modules/hamburgers/_sass/hamburgers/types/_spring.scss */\n\n.hamburger--spring.is-active .hamburger-inner::after {\n  top: 0;\n  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);\n  transform: translate3d(0, 6px, 0) rotate(-45deg);\n}\n\n/*\n   * Spring Reverse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n\n.hamburger--spring-r .hamburger-inner {\n  top: auto;\n  bottom: 0;\n  transition-duration: 0.13s;\n  transition-delay: 0s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 13, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n\n.hamburger--spring-r .hamburger-inner::after {\n  top: -12px;\n  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear;\n}\n\n/* line 19, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n\n.hamburger--spring-r .hamburger-inner::before {\n  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 26, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n\n.hamburger--spring-r.is-active .hamburger-inner {\n  transform: translate3d(0, -6px, 0) rotate(-45deg);\n  transition-delay: 0.22s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 31, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n\n.hamburger--spring-r.is-active .hamburger-inner::after {\n  top: 0;\n  opacity: 0;\n  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear;\n}\n\n/* line 38, node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss */\n\n.hamburger--spring-r.is-active .hamburger-inner::before {\n  top: 0;\n  transform: rotate(90deg);\n  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Stand\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n\n.hamburger--stand .hamburger-inner {\n  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n\n.hamburger--stand .hamburger-inner::before {\n  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 15, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n\n.hamburger--stand .hamburger-inner::after {\n  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n\n.hamburger--stand.is-active .hamburger-inner {\n  transform: rotate(90deg);\n  background-color: transparent !important;\n  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;\n}\n\n/* line 29, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n\n.hamburger--stand.is-active .hamburger-inner::before {\n  top: 0;\n  transform: rotate(-45deg);\n  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 36, node_modules/hamburgers/_sass/hamburgers/types/_stand.scss */\n\n.hamburger--stand.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(45deg);\n  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Stand Reverse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n\n.hamburger--stand-r .hamburger-inner {\n  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n\n.hamburger--stand-r .hamburger-inner::before {\n  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 15, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n\n.hamburger--stand-r .hamburger-inner::after {\n  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n\n.hamburger--stand-r.is-active .hamburger-inner {\n  transform: rotate(-90deg);\n  background-color: transparent !important;\n  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;\n}\n\n/* line 29, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n\n.hamburger--stand-r.is-active .hamburger-inner::before {\n  top: 0;\n  transform: rotate(-45deg);\n  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 36, node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss */\n\n.hamburger--stand-r.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(45deg);\n  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Squeeze\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n\n.hamburger--squeeze .hamburger-inner {\n  transition-duration: 0.075s;\n  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n\n.hamburger--squeeze .hamburger-inner::before {\n  transition: top 0.075s 0.12s ease, opacity 0.075s ease;\n}\n\n/* line 15, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n\n.hamburger--squeeze .hamburger-inner::after {\n  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n}\n\n/* line 22, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n\n.hamburger--squeeze.is-active .hamburger-inner {\n  transform: rotate(45deg);\n  transition-delay: 0.12s;\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n\n.hamburger--squeeze.is-active .hamburger-inner::before {\n  top: 0;\n  opacity: 0;\n  transition: top 0.075s ease, opacity 0.075s 0.12s ease;\n}\n\n/* line 34, node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss */\n\n.hamburger--squeeze.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(-90deg);\n  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n/*\n   * Vortex\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex .hamburger-inner {\n  transition-duration: 0.2s;\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex .hamburger-inner::before,\n.hamburger--vortex .hamburger-inner::after {\n  transition-duration: 0s;\n  transition-delay: 0.1s;\n  transition-timing-function: linear;\n}\n\n/* line 17, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex .hamburger-inner::before {\n  transition-property: top, opacity;\n}\n\n/* line 21, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex .hamburger-inner::after {\n  transition-property: bottom, transform;\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex.is-active .hamburger-inner {\n  transform: rotate(765deg);\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n}\n\n/* line 31, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex.is-active .hamburger-inner::before,\n.hamburger--vortex.is-active .hamburger-inner::after {\n  transition-delay: 0s;\n}\n\n/* line 36, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex.is-active .hamburger-inner::before {\n  top: 0;\n  opacity: 0;\n}\n\n/* line 41, node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss */\n\n.hamburger--vortex.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(90deg);\n}\n\n/*\n   * Vortex Reverse\n   */\n\n/* line 6, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r .hamburger-inner {\n  transition-duration: 0.2s;\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n}\n\n/* line 10, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r .hamburger-inner::before,\n.hamburger--vortex-r .hamburger-inner::after {\n  transition-duration: 0s;\n  transition-delay: 0.1s;\n  transition-timing-function: linear;\n}\n\n/* line 17, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r .hamburger-inner::before {\n  transition-property: top, opacity;\n}\n\n/* line 21, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r .hamburger-inner::after {\n  transition-property: bottom, transform;\n}\n\n/* line 27, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r.is-active .hamburger-inner {\n  transform: rotate(-765deg);\n  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n}\n\n/* line 31, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r.is-active .hamburger-inner::before,\n.hamburger--vortex-r.is-active .hamburger-inner::after {\n  transition-delay: 0s;\n}\n\n/* line 36, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r.is-active .hamburger-inner::before {\n  top: 0;\n  opacity: 0;\n}\n\n/* line 41, node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss */\n\n.hamburger--vortex-r.is-active .hamburger-inner::after {\n  bottom: 0;\n  transform: rotate(-90deg);\n}\n\n/* line 35, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox {\n  position: relative;\n  padding-left: 20px;\n  margin: 0 0 0.5rem;\n}\n\n/* line 40, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox label {\n  display: inline-block;\n  vertical-align: middle;\n  position: relative;\n  padding-left: 5px;\n  height: 23px;\n}\n\n/* line 47, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox label::before {\n  content: \"\";\n  display: inline-block;\n  position: absolute;\n  width: 21px;\n  height: 21px;\n  left: 0;\n  margin-left: -28px;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fff;\n  transition: border 0.15s ease-in-out, color 0.15s ease-in-out;\n}\n\n/* line 61, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox label::after {\n  display: inline-block;\n  position: absolute;\n  width: 20px;\n  height: 20px;\n  left: 0;\n  top: -2px;\n  margin-left: -27px;\n  padding-left: 3px;\n  font-size: 0.875rem;\n  color: #000;\n}\n\n/* line 75, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox input[type=\"checkbox\"],\n.checkbox input[type=\"radio\"] {\n  position: absolute;\n  margin: 4px 4px 4px -18px;\n  opacity: 0;\n  z-index: 1;\n  width: 18px;\n  height: 17px;\n}\n\n/* line 84, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox input[type=\"checkbox\"]:focus + label::before,\n.checkbox input[type=\"radio\"]:focus + label::before {\n  outline: 0;\n}\n\n/* line 88, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox input[type=\"checkbox\"]:checked + label::after,\n.checkbox input[type=\"radio\"]:checked + label::after {\n  font-family: \"rc-base-icons\";\n  content: \"\";\n}\n\n/* line 93, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox input[type=\"radio\"]:indeterminate + label::after {\n  display: block;\n  content: \"\";\n  width: 10px;\n  height: 3px;\n  background-color: #555555;\n  border-radius: 0;\n  margin-left: -22.5px;\n  margin-top: 11px;\n}\n\n/* line 104, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox input[type=\"checkbox\"]:disabled + label,\n.checkbox input[type=\"radio\"]:disabled + label {\n  opacity: 0.65;\n}\n\n/* line 107, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox input[type=\"checkbox\"]:disabled + label::before,\n.checkbox input[type=\"radio\"]:disabled + label::before {\n  background-color: #eeeeee;\n  cursor: not-allowed;\n}\n\n/* line 115, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.checkbox-circle label::before {\n  border-radius: 50%;\n}\n\n/* line 119, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.checkbox-inline {\n  margin-top: 0;\n  display: inline-block;\n}\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.primary input[type=\"checkbox\"]:checked + label::before,\n.checkbox.primary input[type=\"radio\"]:checked + label::before {\n  background-color: #1779ba;\n  border-color: #1779ba;\n}\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.primary input[type=\"checkbox\"]:checked + label::after,\n.checkbox.primary input[type=\"radio\"]:checked + label::after {\n  color: #fff;\n}\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.secondary input[type=\"checkbox\"]:checked + label::before,\n.checkbox.secondary input[type=\"radio\"]:checked + label::before {\n  background-color: #767676;\n  border-color: #767676;\n}\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.secondary input[type=\"checkbox\"]:checked + label::after,\n.checkbox.secondary input[type=\"radio\"]:checked + label::after {\n  color: #fff;\n}\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.alert input[type=\"checkbox\"]:checked + label::before,\n.checkbox.alert input[type=\"radio\"]:checked + label::before {\n  background-color: #cc4b37;\n  border-color: #cc4b37;\n}\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.alert input[type=\"checkbox\"]:checked + label::after,\n.checkbox.alert input[type=\"radio\"]:checked + label::after {\n  color: #fff;\n}\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.warning input[type=\"checkbox\"]:checked + label::before,\n.checkbox.warning input[type=\"radio\"]:checked + label::before {\n  background-color: #ffae00;\n  border-color: #ffae00;\n}\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.warning input[type=\"checkbox\"]:checked + label::after,\n.checkbox.warning input[type=\"radio\"]:checked + label::after {\n  color: #fff;\n}\n\n/* line 10, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.success input[type=\"checkbox\"]:checked + label::before,\n.checkbox.success input[type=\"radio\"]:checked + label::before {\n  background-color: #18a733;\n  border-color: #18a733;\n}\n\n/* line 14, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.success input[type=\"checkbox\"]:checked + label::after,\n.checkbox.success input[type=\"radio\"]:checked + label::after {\n  color: #fff;\n}\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.primary input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.primary input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #1779ba;\n  border-color: #1779ba;\n}\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.primary input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.primary input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff;\n}\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.secondary input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.secondary input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #767676;\n  border-color: #767676;\n}\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.secondary input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.secondary input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff;\n}\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.alert input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.alert input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #cc4b37;\n  border-color: #cc4b37;\n}\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.alert input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.alert input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff;\n}\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.warning input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.warning input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #ffae00;\n  border-color: #ffae00;\n}\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.warning input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.warning input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff;\n}\n\n/* line 23, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.success input[type=\"checkbox\"]:indeterminate + label::before,\n.checkbox.success input[type=\"radio\"]:indeterminate + label::before {\n  background-color: #18a733;\n  border-color: #18a733;\n}\n\n/* line 27, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.checkbox.success input[type=\"checkbox\"]:indeterminate + label::after,\n.checkbox.success input[type=\"radio\"]:indeterminate + label::after {\n  background-color: #fff;\n}\n\n/* line 162, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio {\n  padding-left: 20px;\n}\n\n/* line 165, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio label {\n  display: inline-block;\n  vertical-align: middle;\n  position: relative;\n  padding-left: 5px;\n  height: 23px;\n}\n\n/* line 172, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio label::before {\n  content: \"\";\n  display: inline-block;\n  position: absolute;\n  width: 21px;\n  height: 21px;\n  left: 0;\n  margin-left: -28px;\n  border: 1px solid #777777;\n  border-radius: 50%;\n  background-color: #fff;\n  transition: border 0.15s ease-in-out;\n}\n\n/* line 186, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio label::after {\n  display: inline-block;\n  position: absolute;\n  content: \" \";\n  width: 13px;\n  height: 13px;\n  left: 4px;\n  top: 4px;\n  margin-left: -28px;\n  border-radius: 50%;\n  background-color: #000;\n  transform: scale(0, 0);\n  transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);\n}\n\n/* line 202, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio input[type=\"radio\"] {\n  position: absolute;\n  margin: 4px 4px 4px -18px;\n  opacity: 0;\n  z-index: 1;\n  width: 18px;\n  height: 17px;\n}\n\n/* line 210, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio input[type=\"radio\"]:focus + label::before {\n  outline: 0;\n}\n\n/* line 214, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio input[type=\"radio\"]:checked + label::after {\n  transform: scale(1, 1);\n}\n\n/* line 218, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio input[type=\"radio\"]:disabled + label {\n  opacity: 0.65;\n}\n\n/* line 221, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio input[type=\"radio\"]:disabled + label::before {\n  cursor: not-allowed;\n}\n\n/* line 228, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.radio-inline {\n  margin-top: 0;\n  display: inline-block;\n}\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.primary input[type=\"radio\"] + label::after {\n  background-color: #1779ba;\n}\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.primary input[type=\"radio\"]:checked + label::before {\n  border-color: #1779ba;\n}\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.primary input[type=\"radio\"]:checked + label::after {\n  background-color: #1779ba;\n}\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.secondary input[type=\"radio\"] + label::after {\n  background-color: #767676;\n}\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.secondary input[type=\"radio\"]:checked + label::before {\n  border-color: #767676;\n}\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.secondary input[type=\"radio\"]:checked + label::after {\n  background-color: #767676;\n}\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.alert input[type=\"radio\"] + label::after {\n  background-color: #cc4b37;\n}\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.alert input[type=\"radio\"]:checked + label::before {\n  border-color: #cc4b37;\n}\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.alert input[type=\"radio\"]:checked + label::after {\n  background-color: #cc4b37;\n}\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.warning input[type=\"radio\"] + label::after {\n  background-color: #ffae00;\n}\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.warning input[type=\"radio\"]:checked + label::before {\n  border-color: #ffae00;\n}\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.warning input[type=\"radio\"]:checked + label::after {\n  background-color: #ffae00;\n}\n\n/* line 147, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.success input[type=\"radio\"] + label::after {\n  background-color: #18a733;\n}\n\n/* line 152, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.success input[type=\"radio\"]:checked + label::before {\n  border-color: #18a733;\n}\n\n/* line 155, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\n.radio.success input[type=\"radio\"]:checked + label::after {\n  background-color: #18a733;\n}\n\n/* line 243, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\ninput[type=\"checkbox\"].styled:checked + label:after,\ninput[type=\"radio\"].styled:checked + label:after {\n  font-family: \"rc-base-icons\";\n  content: \"\";\n}\n\n/* line 248, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\ninput[type=\"checkbox\"] .styled:checked + label::before,\ninput[type=\"radio\"] .styled:checked + label::before {\n  color: #fff;\n}\n\n/* line 251, node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss */\n\ninput[type=\"checkbox\"] .styled:checked + label::after,\ninput[type=\"radio\"] .styled:checked + label::after {\n  color: #fff;\n}\n\n/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */\n\n/* line 10, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nhtml {\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n}\n\n/* line 20, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nbody {\n  margin: 0;\n}\n\n/* line 27, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/* line 38, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\n/* line 47, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\npre {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n/* line 57, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\na {\n  background-color: transparent;\n}\n\n/* line 64, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nabbr[title] {\n  border-bottom: none;\n  text-decoration: underline;\n  text-decoration: underline dotted;\n}\n\n/* line 72, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\n/* line 80, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\ncode,\nkbd,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n/* line 89, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nsmall {\n  font-size: 80%;\n}\n\n/* line 96, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\n/* line 104, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nsub {\n  bottom: -0.25em;\n}\n\n/* line 108, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nsup {\n  top: -0.5em;\n}\n\n/* line 117, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nimg {\n  border-style: none;\n}\n\n/* line 127, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit;\n  font-size: 100%;\n  line-height: 1.15;\n  margin: 0;\n}\n\n/* line 141, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nbutton,\ninput {\n  overflow: visible;\n}\n\n/* line 149, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n/* line 156, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n  -webkit-appearance: button;\n}\n\n/* line 165, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n  border-style: none;\n  padding: 0;\n}\n\n/* line 175, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n  outline: 1px dotted ButtonText;\n}\n\n/* line 184, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nfieldset {\n  padding: 0.35em 0.75em 0.625em;\n}\n\n/* line 193, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nlegend {\n  box-sizing: border-box;\n  color: inherit;\n  display: table;\n  max-width: 100%;\n  padding: 0;\n  white-space: normal;\n}\n\n/* line 204, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nprogress {\n  vertical-align: baseline;\n}\n\n/* line 210, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\ntextarea {\n  overflow: auto;\n}\n\n/* line 217, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\n/* line 225, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/* line 233, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\n[type=\"search\"] {\n  -webkit-appearance: textfield;\n  outline-offset: -2px;\n}\n\n/* line 240, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\n[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/* line 247, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\n::-webkit-file-upload-button {\n  -webkit-appearance: button;\n  font: inherit;\n}\n\n/* line 257, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\ndetails {\n  display: block;\n}\n\n/* line 263, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\nsummary {\n  display: list-item;\n}\n\n/* line 272, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\ntemplate {\n  display: none;\n}\n\n/* line 278, node_modules/foundation-sites/scss/vendor/normalize.scss */\n\n[hidden] {\n  display: none;\n}\n\n/* line 140, node_modules/foundation-sites/scss/_global.scss */\n\n.foundation-mq {\n  font-family: \"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em\";\n}\n\n/* line 144, node_modules/foundation-sites/scss/_global.scss */\n\nhtml {\n  box-sizing: border-box;\n  font-size: 100%;\n}\n\n/* line 150, node_modules/foundation-sites/scss/_global.scss */\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\n/* line 157, node_modules/foundation-sites/scss/_global.scss */\n\nbody {\n  margin: 0;\n  padding: 0;\n  background: #fefefe;\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #000;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n/* line 174, node_modules/foundation-sites/scss/_global.scss */\n\nimg {\n  display: inline-block;\n  vertical-align: middle;\n  max-width: 100%;\n  height: auto;\n  -ms-interpolation-mode: bicubic;\n}\n\n/* line 186, node_modules/foundation-sites/scss/_global.scss */\n\ntextarea {\n  height: auto;\n  min-height: 50px;\n  border-radius: 0;\n}\n\n/* line 193, node_modules/foundation-sites/scss/_global.scss */\n\nselect {\n  box-sizing: border-box;\n  width: 100%;\n  border-radius: 0;\n}\n\n/* line 203, node_modules/foundation-sites/scss/_global.scss */\n\n.map_canvas img,\n.map_canvas embed,\n.map_canvas object,\n.mqa-display img,\n.mqa-display embed,\n.mqa-display object {\n  max-width: none !important;\n}\n\n/* line 211, node_modules/foundation-sites/scss/_global.scss */\n\nbutton {\n  padding: 0;\n  appearance: none;\n  border: 0;\n  border-radius: 0;\n  background: transparent;\n  line-height: 1;\n  cursor: auto;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] button {\n  outline: 0;\n}\n\n/* line 223, node_modules/foundation-sites/scss/_global.scss */\n\npre {\n  overflow: auto;\n}\n\n/* line 228, node_modules/foundation-sites/scss/_global.scss */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  font-family: inherit;\n}\n\n/* line 237, node_modules/foundation-sites/scss/_global.scss */\n\n.is-visible {\n  display: block !important;\n}\n\n/* line 241, node_modules/foundation-sites/scss/_global.scss */\n\n.is-hidden {\n  display: none !important;\n}\n\n/* line 125, node_modules/foundation-sites/scss/forms/_text.scss */\n\n[type='text'],\n[type='password'],\n[type='date'],\n[type='datetime'],\n[type='datetime-local'],\n[type='month'],\n[type='week'],\n[type='email'],\n[type='number'],\n[type='search'],\n[type='tel'],\n[type='time'],\n[type='url'],\n[type='color'],\ntextarea {\n  display: block;\n  box-sizing: border-box;\n  width: 100%;\n  height: 2.4375rem;\n  margin: 0 0 1rem;\n  padding: 0.5rem;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  font-family: inherit;\n  font-size: 1rem;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #000;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n  appearance: none;\n}\n\n/* line 111, node_modules/foundation-sites/scss/forms/_text.scss */\n\n[type='text']:focus,\n[type='password']:focus,\n[type='date']:focus,\n[type='datetime']:focus,\n[type='datetime-local']:focus,\n[type='month']:focus,\n[type='week']:focus,\n[type='email']:focus,\n[type='number']:focus,\n[type='search']:focus,\n[type='tel']:focus,\n[type='time']:focus,\n[type='url']:focus,\n[type='color']:focus,\ntextarea:focus {\n  outline: none;\n  border: 1px solid #333333;\n  background-color: #fefefe;\n  box-shadow: 0 0 5px #777777;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n}\n\n/* line 132, node_modules/foundation-sites/scss/forms/_text.scss */\n\ntextarea {\n  max-width: 100%;\n}\n\n/* line 135, node_modules/foundation-sites/scss/forms/_text.scss */\n\ntextarea[rows] {\n  height: auto;\n}\n\n/* line 143, node_modules/foundation-sites/scss/forms/_text.scss */\n\ninput:disabled,\ninput[readonly],\ntextarea:disabled,\ntextarea[readonly] {\n  background-color: #eeeeee;\n  cursor: not-allowed;\n}\n\n/* line 151, node_modules/foundation-sites/scss/forms/_text.scss */\n\n[type='submit'],\n[type='button'] {\n  appearance: none;\n  border-radius: 0;\n}\n\n/* line 158, node_modules/foundation-sites/scss/forms/_text.scss */\n\ninput[type='search'] {\n  box-sizing: border-box;\n}\n\n/* line 176, node_modules/foundation-sites/scss/forms/_text.scss */\n\n::placeholder {\n  color: #777777;\n}\n\n/* line 10, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n\n[type='file'],\n[type='checkbox'],\n[type='radio'] {\n  margin: 0 0 1rem;\n}\n\n/* line 17, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n\n[type='checkbox'] + label,\n[type='radio'] + label {\n  display: inline-block;\n  vertical-align: baseline;\n  margin-left: 0.5rem;\n  margin-right: 1rem;\n  margin-bottom: 0;\n}\n\n/* line 26, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n\n[type='checkbox'] + label[for],\n[type='radio'] + label[for] {\n  cursor: pointer;\n}\n\n/* line 32, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n\nlabel > [type='checkbox'],\nlabel > [type='radio'] {\n  margin-right: 0.5rem;\n}\n\n/* line 38, node_modules/foundation-sites/scss/forms/_checkbox.scss */\n\n[type='file'] {\n  width: 100%;\n}\n\n/* line 43, node_modules/foundation-sites/scss/forms/_label.scss */\n\nlabel {\n  display: block;\n  margin: 0;\n  font-size: 0.875rem;\n  font-weight: normal;\n  line-height: 1.8;\n  color: #000;\n}\n\n/* line 46, node_modules/foundation-sites/scss/forms/_label.scss */\n\nlabel.middle {\n  margin: 0 0 1rem;\n  padding: 0.5625rem 0;\n}\n\n/* line 22, node_modules/foundation-sites/scss/forms/_help-text.scss */\n\n.help-text {\n  margin-top: -0.5rem;\n  font-size: 0.8125rem;\n  font-style: italic;\n  color: #000;\n}\n\n/* line 27, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group,\n.search-form {\n  display: flex;\n  width: 100%;\n  margin-bottom: 1rem;\n  align-items: stretch;\n}\n\n/* line 37, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group > :first-child,\n.search-form > :first-child,\n.input-group > :first-child.input-group-button > *,\n.search-form > :first-child.input-group-button > * {\n  border-radius: 0 0 0 0;\n}\n\n/* line 43, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group > :last-child,\n.search-form > :last-child,\n.input-group > :last-child.input-group-button > *,\n.search-form > :last-child.input-group-button > * {\n  border-radius: 0 0 0 0;\n}\n\n/* line 49, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group-label,\n.input-group-field,\n.search-form .search-field,\n.input-group-button,\n.input-group-button a,\n.input-group-button input,\n.input-group-button button,\n.input-group-button label {\n  margin: 0;\n  white-space: nowrap;\n}\n\n/* line 59, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group-label {\n  padding: 0 1rem;\n  border: 1px solid #777777;\n  background: #eeeeee;\n  color: #000;\n  text-align: center;\n  white-space: nowrap;\n  display: flex;\n  flex: 0 0 auto;\n  align-items: center;\n}\n\n/* line 80, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group-label:first-child {\n  border-right: 0;\n}\n\n/* line 84, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group-label:last-child {\n  border-left: 0;\n}\n\n/* line 90, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group-field,\n.search-form .search-field {\n  border-radius: 0;\n  flex: 1 1 0px;\n  min-width: 0;\n}\n\n/* line 100, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group-button {\n  padding-top: 0;\n  padding-bottom: 0;\n  text-align: center;\n  display: flex;\n  flex: 0 0 auto;\n}\n\n/* line 115, node_modules/foundation-sites/scss/forms/_input-group.scss */\n\n.input-group-button a,\n.input-group-button input,\n.input-group-button button,\n.input-group-button label {\n  align-self: stretch;\n  height: auto;\n  padding-top: 0;\n  padding-bottom: 0;\n  font-size: 1rem;\n}\n\n/* line 39, node_modules/foundation-sites/scss/forms/_fieldset.scss */\n\nfieldset {\n  margin: 0;\n  padding: 0;\n  border: 0;\n}\n\n/* line 45, node_modules/foundation-sites/scss/forms/_fieldset.scss */\n\nlegend {\n  max-width: 100%;\n  margin-bottom: 0.5rem;\n}\n\n/* line 50, node_modules/foundation-sites/scss/forms/_fieldset.scss */\n\n.fieldset {\n  margin: 1.125rem 0;\n  padding: 1.25rem;\n  border: 1px solid #777777;\n}\n\n/* line 30, node_modules/foundation-sites/scss/forms/_fieldset.scss */\n\n.fieldset legend {\n  margin: 0;\n  margin-left: -0.1875rem;\n  padding: 0 0.1875rem;\n}\n\n/* line 83, node_modules/foundation-sites/scss/forms/_select.scss */\n\nselect {\n  height: 2.4375rem;\n  margin: 0 0 1rem;\n  padding: 0.5rem;\n  appearance: none;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  font-family: inherit;\n  font-size: 1rem;\n  font-weight: normal;\n  line-height: 1.5;\n  color: #000;\n  background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2851, 51, 51%29'></polygon></svg>\");\n  background-origin: content-box;\n  background-position: right -1rem center;\n  background-repeat: no-repeat;\n  background-size: 9px 6px;\n  padding-right: 1.5rem;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n}\n\n@media screen and (min-width: 0\\0) {\n  /* line 83, node_modules/foundation-sites/scss/forms/_select.scss */\n\n  select {\n    background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==\");\n  }\n}\n\n/* line 54, node_modules/foundation-sites/scss/forms/_select.scss */\n\nselect:focus {\n  outline: none;\n  border: 1px solid #333333;\n  background-color: #fefefe;\n  box-shadow: 0 0 5px #777777;\n  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;\n}\n\n/* line 66, node_modules/foundation-sites/scss/forms/_select.scss */\n\nselect:disabled {\n  background-color: #eeeeee;\n  cursor: not-allowed;\n}\n\n/* line 72, node_modules/foundation-sites/scss/forms/_select.scss */\n\nselect::-ms-expand {\n  display: none;\n}\n\n/* line 76, node_modules/foundation-sites/scss/forms/_select.scss */\n\nselect[multiple] {\n  height: auto;\n  background-image: none;\n}\n\n/* line 45, node_modules/foundation-sites/scss/forms/_error.scss */\n\n.is-invalid-input:not(:focus) {\n  border-color: #cc4b37;\n  background-color: #f9ecea;\n}\n\n/* line 49, node_modules/foundation-sites/scss/forms/_error.scss */\n\n.is-invalid-input:not(:focus)::placeholder {\n  color: #cc4b37;\n}\n\n/* line 76, node_modules/foundation-sites/scss/forms/_error.scss */\n\n.is-invalid-label {\n  color: #cc4b37;\n}\n\n/* line 82, node_modules/foundation-sites/scss/forms/_error.scss */\n\n.form-error {\n  display: none;\n  margin-top: -0.5rem;\n  margin-bottom: 1rem;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: #cc4b37;\n}\n\n/* line 85, node_modules/foundation-sites/scss/forms/_error.scss */\n\n.form-error.is-visible {\n  display: block;\n}\n\n/* line 256, node_modules/foundation-sites/scss/typography/_base.scss */\n\ndiv,\ndl,\ndt,\ndd,\nul,\nol,\nli,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\npre,\nform,\np,\nblockquote,\nth,\ntd {\n  margin: 0;\n  padding: 0;\n}\n\n/* line 280, node_modules/foundation-sites/scss/typography/_base.scss */\n\np {\n  margin-bottom: 1rem;\n  font-size: inherit;\n  line-height: 1.6;\n  text-rendering: optimizeLegibility;\n}\n\n/* line 289, node_modules/foundation-sites/scss/typography/_base.scss */\n\nem,\ni {\n  font-style: italic;\n  line-height: inherit;\n}\n\n/* line 296, node_modules/foundation-sites/scss/typography/_base.scss */\n\nstrong,\nb {\n  font-weight: bold;\n  line-height: inherit;\n}\n\n/* line 303, node_modules/foundation-sites/scss/typography/_base.scss */\n\nsmall {\n  font-size: 80%;\n  line-height: inherit;\n}\n\n/* line 309, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3,\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-style: normal;\n  font-weight: normal;\n  color: inherit;\n  text-rendering: optimizeLegibility;\n}\n\n/* line 321, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small {\n  line-height: 0;\n  color: #777777;\n}\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh1,\n.h1 {\n  font-size: 1.5rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh2,\n.h2 {\n  font-size: 1.25rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh3,\n.h3 {\n  font-size: 1.1875rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh4,\n.h4 {\n  font-size: 1.125rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh5,\n.h5 {\n  font-size: 1.0625rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\n/* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\nh6,\n.h6 {\n  font-size: 1rem;\n  line-height: 1.4;\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\n  h1,\n  .h1 {\n    font-size: 3rem;\n  }\n\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\n  h2,\n  .h2 {\n    font-size: 2.5rem;\n  }\n\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\n  h3,\n  .h3 {\n    font-size: 1.9375rem;\n  }\n\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\n  h4,\n  .h4 {\n    font-size: 1.5625rem;\n  }\n\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\n  h5,\n  .h5 {\n    font-size: 1.25rem;\n  }\n\n  /* line 332, node_modules/foundation-sites/scss/typography/_base.scss */\n\n  h6,\n  .h6 {\n    font-size: 1rem;\n  }\n}\n\n/* line 371, node_modules/foundation-sites/scss/typography/_base.scss */\n\na {\n  line-height: inherit;\n  color: #1779ba;\n  text-decoration: none;\n  cursor: pointer;\n}\n\n/* line 378, node_modules/foundation-sites/scss/typography/_base.scss */\n\na:hover,\na:focus {\n  color: #1468a0;\n}\n\n/* line 386, node_modules/foundation-sites/scss/typography/_base.scss */\n\na img {\n  border: 0;\n}\n\n/* line 392, node_modules/foundation-sites/scss/typography/_base.scss */\n\nhr {\n  clear: both;\n  max-width: 75rem;\n  height: 0;\n  margin: 1.25rem auto;\n  border-top: 0;\n  border-right: 0;\n  border-bottom: 1px solid #777777;\n  border-left: 0;\n}\n\n/* line 406, node_modules/foundation-sites/scss/typography/_base.scss */\n\nul,\nol,\ndl {\n  margin-bottom: 1rem;\n  list-style-position: outside;\n  line-height: 1.6;\n}\n\n/* line 415, node_modules/foundation-sites/scss/typography/_base.scss */\n\nli {\n  font-size: inherit;\n}\n\n/* line 420, node_modules/foundation-sites/scss/typography/_base.scss */\n\nul {\n  margin-left: 1.25rem;\n  list-style-type: disc;\n}\n\n/* line 426, node_modules/foundation-sites/scss/typography/_base.scss */\n\nol {\n  margin-left: 1.25rem;\n}\n\n/* line 432, node_modules/foundation-sites/scss/typography/_base.scss */\n\nul ul,\nol ul,\nul ol,\nol ol {\n  margin-left: 1.25rem;\n  margin-bottom: 0;\n}\n\n/* line 439, node_modules/foundation-sites/scss/typography/_base.scss */\n\ndl {\n  margin-bottom: 1rem;\n}\n\n/* line 442, node_modules/foundation-sites/scss/typography/_base.scss */\n\ndl dt {\n  margin-bottom: 0.3rem;\n  font-weight: bold;\n}\n\n/* line 449, node_modules/foundation-sites/scss/typography/_base.scss */\n\nblockquote {\n  margin: 0 0 1rem;\n  padding: 0.5625rem 1.25rem 0 1.1875rem;\n  border-left: 1px solid #777777;\n}\n\n/* line 454, node_modules/foundation-sites/scss/typography/_base.scss */\n\nblockquote,\nblockquote p {\n  line-height: 1.6;\n  color: #333333;\n}\n\n/* line 461, node_modules/foundation-sites/scss/typography/_base.scss */\n\ncite {\n  display: block;\n  font-size: 0.8125rem;\n  color: #333333;\n}\n\n/* line 466, node_modules/foundation-sites/scss/typography/_base.scss */\n\ncite:before {\n  content: \"— \";\n}\n\n/* line 472, node_modules/foundation-sites/scss/typography/_base.scss */\n\nabbr,\nabbr[title] {\n  border-bottom: 1px dotted #000;\n  cursor: help;\n  text-decoration: none;\n}\n\n/* line 479, node_modules/foundation-sites/scss/typography/_base.scss */\n\nfigure {\n  margin: 0;\n}\n\n/* line 484, node_modules/foundation-sites/scss/typography/_base.scss */\n\ncode {\n  padding: 0.125rem 0.3125rem 0.0625rem;\n  border: 1px solid #777777;\n  background-color: #eeeeee;\n  font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n  font-weight: normal;\n  color: #000;\n}\n\n/* line 496, node_modules/foundation-sites/scss/typography/_base.scss */\n\nkbd {\n  margin: 0;\n  padding: 0.125rem 0.25rem 0;\n  background-color: #eeeeee;\n  font-family: Consolas, \"Liberation Mono\", Courier, monospace;\n  color: #000;\n}\n\n/* line 48, node_modules/foundation-sites/scss/typography/_helpers.scss */\n\n.subheader {\n  margin-top: 0.2rem;\n  margin-bottom: 0.5rem;\n  font-weight: normal;\n  line-height: 1.4;\n  color: #333333;\n}\n\n/* line 58, node_modules/foundation-sites/scss/typography/_helpers.scss */\n\n.lead {\n  font-size: 125%;\n  line-height: 1.6;\n}\n\n/* line 64, node_modules/foundation-sites/scss/typography/_helpers.scss */\n\n.stat {\n  font-size: 2.5rem;\n  line-height: 1;\n}\n\n/* line 68, node_modules/foundation-sites/scss/typography/_helpers.scss */\n\np + .stat {\n  margin-top: -1rem;\n}\n\n/* line 75, node_modules/foundation-sites/scss/typography/_helpers.scss */\n\nul.no-bullet,\nul.comment-list,\nol.no-bullet,\nol.comment-list {\n  margin-left: 0;\n  list-style: none;\n}\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n.text-left {\n  text-align: left;\n}\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n.text-right {\n  text-align: right;\n}\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n.text-center {\n  text-align: center;\n}\n\n/* line 15, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n.text-justify {\n  text-align: justify;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .medium-text-left {\n    text-align: left;\n  }\n\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .medium-text-right {\n    text-align: right;\n  }\n\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .medium-text-center {\n    text-align: center;\n  }\n\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .medium-text-justify {\n    text-align: justify;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .large-text-left {\n    text-align: left;\n  }\n\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .large-text-right {\n    text-align: right;\n  }\n\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .large-text-center {\n    text-align: center;\n  }\n\n  /* line 10, node_modules/foundation-sites/scss/typography/_alignment.scss */\n\n  .large-text-justify {\n    text-align: justify;\n  }\n}\n\n/* line 18, node_modules/foundation-sites/scss/typography/_print.scss */\n\n.show-for-print {\n  display: none !important;\n}\n\n@media print {\n  /* line 21, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  * {\n    background: transparent !important;\n    box-shadow: none !important;\n    color: black !important;\n    text-shadow: none !important;\n  }\n\n  /* line 32, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  .show-for-print {\n    display: block !important;\n  }\n\n  /* line 33, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  .hide-for-print {\n    display: none !important;\n  }\n\n  /* line 35, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  table.show-for-print {\n    display: table !important;\n  }\n\n  /* line 36, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  thead.show-for-print {\n    display: table-header-group !important;\n  }\n\n  /* line 37, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  tbody.show-for-print {\n    display: table-row-group !important;\n  }\n\n  /* line 38, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  tr.show-for-print {\n    display: table-row !important;\n  }\n\n  /* line 39, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  td.show-for-print {\n    display: table-cell !important;\n  }\n\n  /* line 40, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  th.show-for-print {\n    display: table-cell !important;\n  }\n\n  /* line 43, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  a,\n  a:visited {\n    text-decoration: underline;\n  }\n\n  /* line 46, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n\n  /* line 50, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  .ir a:after,\n  a[href^='javascript:']:after,\n  a[href^='#']:after {\n    content: '';\n  }\n\n  /* line 55, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n\n  /* line 58, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  pre,\n  blockquote {\n    border: 1px solid #333333;\n    page-break-inside: avoid;\n  }\n\n  /* line 65, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  thead {\n    display: table-header-group;\n  }\n\n  /* line 67, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  tr,\n  img {\n    page-break-inside: avoid;\n  }\n\n  /* line 70, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  img {\n    max-width: 100% !important;\n  }\n\n@page {\n    margin: 0.5cm;\n}\n\n  /* line 74, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  p,\n  h2,\n  h3 {\n    orphans: 3;\n    widows: 3;\n  }\n\n  /* line 82, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  h2,\n  h3 {\n    page-break-after: avoid;\n  }\n\n  /* line 86, node_modules/foundation-sites/scss/typography/_print.scss */\n\n  .print-break-inside {\n    page-break-inside: auto;\n  }\n}\n\n/* line 13, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-container {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem;\n  max-width: 75rem;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 13, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-container {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem;\n  }\n}\n\n/* line 16, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-container.fluid {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem;\n  max-width: 100%;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 16, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-container.fluid {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem;\n  }\n}\n\n/* line 20, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-container.full {\n  padding-right: 0;\n  padding-left: 0;\n  max-width: 100%;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/* line 26, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x {\n  display: flex;\n  flex-flow: row wrap;\n}\n\n/* line 30, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell {\n  flex: 0 0 auto;\n  min-height: 0px;\n  min-width: 0px;\n  width: 100%;\n}\n\n/* line 34, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell.auto {\n  flex: 1 1 0px;\n}\n\n/* line 38, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell.shrink {\n  flex: 0 0 auto;\n}\n\n/* line 44, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .auto {\n  width: auto;\n}\n\n/* line 48, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .shrink {\n  width: auto;\n}\n\n/* line 64, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-shrink,\n.grid-x > .small-full,\n.grid-x > .small-1,\n.grid-x > .small-2,\n.grid-x > .small-3,\n.grid-x > .small-4,\n.grid-x > .small-5,\n.grid-x > .small-6,\n.grid-x > .small-7,\n.grid-x > .small-8,\n.grid-x > .small-9,\n.grid-x > .small-10,\n.grid-x > .small-11,\n.grid-x > .small-12 {\n  flex-basis: auto;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 64, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-shrink,\n  .grid-x > .medium-full,\n  .grid-x > .medium-1,\n  .grid-x > .medium-2,\n  .grid-x > .medium-3,\n  .grid-x > .medium-4,\n  .grid-x > .medium-5,\n  .grid-x > .medium-6,\n  .grid-x > .medium-7,\n  .grid-x > .medium-8,\n  .grid-x > .medium-9,\n  .grid-x > .medium-10,\n  .grid-x > .medium-11,\n  .grid-x > .medium-12 {\n    flex-basis: auto;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 64, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-shrink,\n  .grid-x > .large-full,\n  .grid-x > .large-1,\n  .grid-x > .large-2,\n  .grid-x > .large-3,\n  .grid-x > .large-4,\n  .grid-x > .large-5,\n  .grid-x > .large-6,\n  .grid-x > .large-7,\n  .grid-x > .large-8,\n  .grid-x > .large-9,\n  .grid-x > .large-10,\n  .grid-x > .large-11,\n  .grid-x > .large-12 {\n    flex-basis: auto;\n  }\n}\n\n/* line 79, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-1,\n.grid-x > .small-2,\n.grid-x > .small-3,\n.grid-x > .small-4,\n.grid-x > .small-5,\n.grid-x > .small-6,\n.grid-x > .small-7,\n.grid-x > .small-8,\n.grid-x > .small-9,\n.grid-x > .small-10,\n.grid-x > .small-11,\n.grid-x > .small-12 {\n  flex: 0 0 auto;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-1 {\n  width: 8.33333%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-2 {\n  width: 16.66667%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-3 {\n  width: 25%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-4 {\n  width: 33.33333%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-5 {\n  width: 41.66667%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-6 {\n  width: 50%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-7 {\n  width: 58.33333%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-8 {\n  width: 66.66667%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-9 {\n  width: 75%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-10 {\n  width: 83.33333%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-11 {\n  width: 91.66667%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-x > .small-12 {\n  width: 100%;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 73, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-auto {\n    flex: 1 1 0px;\n    width: auto;\n  }\n\n  /* line 79, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-shrink,\n  .grid-x > .medium-1,\n  .grid-x > .medium-2,\n  .grid-x > .medium-3,\n  .grid-x > .medium-4,\n  .grid-x > .medium-5,\n  .grid-x > .medium-6,\n  .grid-x > .medium-7,\n  .grid-x > .medium-8,\n  .grid-x > .medium-9,\n  .grid-x > .medium-10,\n  .grid-x > .medium-11,\n  .grid-x > .medium-12 {\n    flex: 0 0 auto;\n  }\n\n  /* line 85, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-shrink {\n    width: auto;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-1 {\n    width: 8.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-2 {\n    width: 16.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-3 {\n    width: 25%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-4 {\n    width: 33.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-5 {\n    width: 41.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-6 {\n    width: 50%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-7 {\n    width: 58.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-8 {\n    width: 66.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-9 {\n    width: 75%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-10 {\n    width: 83.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-11 {\n    width: 91.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .medium-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 73, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-auto {\n    flex: 1 1 0px;\n    width: auto;\n  }\n\n  /* line 79, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-shrink,\n  .grid-x > .large-1,\n  .grid-x > .large-2,\n  .grid-x > .large-3,\n  .grid-x > .large-4,\n  .grid-x > .large-5,\n  .grid-x > .large-6,\n  .grid-x > .large-7,\n  .grid-x > .large-8,\n  .grid-x > .large-9,\n  .grid-x > .large-10,\n  .grid-x > .large-11,\n  .grid-x > .large-12 {\n    flex: 0 0 auto;\n  }\n\n  /* line 85, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-shrink {\n    width: auto;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-1 {\n    width: 8.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-2 {\n    width: 16.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-3 {\n    width: 25%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-4 {\n    width: 33.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-5 {\n    width: 41.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-6 {\n    width: 50%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-7 {\n    width: 58.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-8 {\n    width: 66.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-9 {\n    width: 75%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-10 {\n    width: 83.33333%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-11 {\n    width: 91.66667%;\n  }\n\n  /* line 94, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-x > .large-12 {\n    width: 100%;\n  }\n}\n\n/* line 102, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x:not(.grid-x) > .cell {\n  width: auto;\n}\n\n/* line 107, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y:not(.grid-y) > .cell {\n  height: auto;\n}\n\n/* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x {\n  margin-left: -0.625rem;\n  margin-right: -0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x {\n    margin-left: -0.9375rem;\n    margin-right: -0.9375rem;\n  }\n}\n\n/* line 142, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .cell {\n  width: calc(100% - 1.25rem);\n  margin-left: 0.625rem;\n  margin-right: 0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 149, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .cell {\n    width: calc(100% - 1.875rem);\n    margin-left: 0.9375rem;\n    margin-right: 0.9375rem;\n  }\n}\n\n/* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .auto {\n  width: auto;\n}\n\n/* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .shrink {\n  width: auto;\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-1 {\n  width: calc(8.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-2 {\n  width: calc(16.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-3 {\n  width: calc(25% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-4 {\n  width: calc(33.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-5 {\n  width: calc(41.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-6 {\n  width: calc(50% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-7 {\n  width: calc(58.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-8 {\n  width: calc(66.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-9 {\n  width: calc(75% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-10 {\n  width: calc(83.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-11 {\n  width: calc(91.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-12 {\n  width: calc(100% - 1.25rem);\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .auto {\n    width: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .shrink {\n    width: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-1 {\n    width: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-2 {\n    width: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-3 {\n    width: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-4 {\n    width: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-5 {\n    width: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-6 {\n    width: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-7 {\n    width: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-8 {\n    width: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-9 {\n    width: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-10 {\n    width: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-11 {\n    width: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .small-12 {\n    width: calc(100% - 1.875rem);\n  }\n\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-auto {\n    width: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-shrink {\n    width: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-1 {\n    width: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-2 {\n    width: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-3 {\n    width: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-4 {\n    width: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-5 {\n    width: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-6 {\n    width: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-7 {\n    width: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-8 {\n    width: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-9 {\n    width: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-10 {\n    width: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-11 {\n    width: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-12 {\n    width: calc(100% - 1.875rem);\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-auto {\n    width: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-shrink {\n    width: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-1 {\n    width: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-2 {\n    width: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-3 {\n    width: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-4 {\n    width: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-5 {\n    width: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-6 {\n    width: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-7 {\n    width: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-8 {\n    width: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-9 {\n    width: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-10 {\n    width: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-11 {\n    width: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-12 {\n    width: calc(100% - 1.875rem);\n  }\n}\n\n/* line 177, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-padding-x .grid-padding-x {\n  margin-right: -0.625rem;\n  margin-left: -0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 177, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-padding-x .grid-padding-x {\n    margin-right: -0.9375rem;\n    margin-left: -0.9375rem;\n  }\n}\n\n/* line 183, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-container:not(.full) > .grid-padding-x {\n  margin-right: -0.625rem;\n  margin-left: -0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 183, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-container:not(.full) > .grid-padding-x {\n    margin-right: -0.9375rem;\n    margin-left: -0.9375rem;\n  }\n}\n\n/* line 188, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-padding-x > .cell {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 188, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-padding-x > .cell {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem;\n  }\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-1 > .cell {\n  width: 100%;\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-2 > .cell {\n  width: 50%;\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-3 > .cell {\n  width: 33.33333%;\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-4 > .cell {\n  width: 25%;\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-5 > .cell {\n  width: 20%;\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-6 > .cell {\n  width: 16.66667%;\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-7 > .cell {\n  width: 14.28571%;\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.small-up-8 > .cell {\n  width: 12.5%;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-1 > .cell {\n    width: 100%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-2 > .cell {\n    width: 50%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-3 > .cell {\n    width: 33.33333%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-4 > .cell {\n    width: 25%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-5 > .cell {\n    width: 20%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-6 > .cell {\n    width: 16.66667%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-7 > .cell {\n    width: 14.28571%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .medium-up-8 > .cell {\n    width: 12.5%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-1 > .cell {\n    width: 100%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-2 > .cell {\n    width: 50%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-3 > .cell {\n    width: 33.33333%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-4 > .cell {\n    width: 25%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-5 > .cell {\n    width: 20%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-6 > .cell {\n    width: 16.66667%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-7 > .cell {\n    width: 14.28571%;\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .large-up-8 > .cell {\n    width: 12.5%;\n  }\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-1 > .cell {\n  width: calc(100% - 1.25rem);\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-2 > .cell {\n  width: calc(50% - 1.25rem);\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-3 > .cell {\n  width: calc(33.33333% - 1.25rem);\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-4 > .cell {\n  width: calc(25% - 1.25rem);\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-5 > .cell {\n  width: calc(20% - 1.25rem);\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-6 > .cell {\n  width: calc(16.66667% - 1.25rem);\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-7 > .cell {\n  width: calc(14.28571% - 1.25rem);\n}\n\n/* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n.grid-margin-x.small-up-8 > .cell {\n  width: calc(12.5% - 1.25rem);\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-1 > .cell {\n    width: calc(100% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-2 > .cell {\n    width: calc(50% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-3 > .cell {\n    width: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-4 > .cell {\n    width: calc(25% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-5 > .cell {\n    width: calc(20% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-6 > .cell {\n    width: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-7 > .cell {\n    width: calc(14.28571% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.small-up-8 > .cell {\n    width: calc(12.5% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-1 > .cell {\n    width: calc(100% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-2 > .cell {\n    width: calc(50% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-3 > .cell {\n    width: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-4 > .cell {\n    width: calc(25% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-5 > .cell {\n    width: calc(20% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-6 > .cell {\n    width: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-7 > .cell {\n    width: calc(14.28571% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.medium-up-8 > .cell {\n    width: calc(12.5% - 1.875rem);\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-1 > .cell {\n    width: calc(100% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-2 > .cell {\n    width: calc(50% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-3 > .cell {\n    width: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-4 > .cell {\n    width: calc(25% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-5 > .cell {\n    width: calc(20% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-6 > .cell {\n    width: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-7 > .cell {\n    width: calc(14.28571% - 1.875rem);\n  }\n\n  /* line 31, node_modules/foundation-sites/scss/xy-grid/_layout.scss */\n\n  .grid-margin-x.large-up-8 > .cell {\n    width: calc(12.5% - 1.875rem);\n  }\n}\n\n/* line 234, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-margin-collapse {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n/* line 29, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .cell {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-1 {\n  width: 8.33333%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-2 {\n  width: 16.66667%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-3 {\n  width: 25%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-4 {\n  width: 33.33333%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-5 {\n  width: 41.66667%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-6 {\n  width: 50%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-7 {\n  width: 58.33333%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-8 {\n  width: 66.66667%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-9 {\n  width: 75%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-10 {\n  width: 83.33333%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-11 {\n  width: 91.66667%;\n}\n\n/* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-margin-collapse > .small-12 {\n  width: 100%;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-1 {\n    width: 8.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-2 {\n    width: 16.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-3 {\n    width: 25%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-4 {\n    width: 33.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-5 {\n    width: 41.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-6 {\n    width: 50%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-7 {\n    width: 58.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-8 {\n    width: 66.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-9 {\n    width: 75%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-10 {\n    width: 83.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-11 {\n    width: 91.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .medium-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-1 {\n    width: 8.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-2 {\n    width: 16.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-3 {\n    width: 25%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-4 {\n    width: 33.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-5 {\n    width: 41.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-6 {\n    width: 50%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-7 {\n    width: 58.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-8 {\n    width: 66.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-9 {\n    width: 75%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-10 {\n    width: 83.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-11 {\n    width: 91.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .small-margin-collapse > .large-12 {\n    width: 100%;\n  }\n}\n\n/* line 240, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-padding-collapse {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n/* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.small-padding-collapse > .cell {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 234, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-margin-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n\n  /* line 29, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .cell {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-1 {\n    width: 8.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-2 {\n    width: 16.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-3 {\n    width: 25%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-4 {\n    width: 33.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-5 {\n    width: 41.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-6 {\n    width: 50%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-7 {\n    width: 58.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-8 {\n    width: 66.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-9 {\n    width: 75%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-10 {\n    width: 83.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-11 {\n    width: 91.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .small-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-1 {\n    width: 8.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-2 {\n    width: 16.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-3 {\n    width: 25%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-4 {\n    width: 33.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-5 {\n    width: 41.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-6 {\n    width: 50%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-7 {\n    width: 58.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-8 {\n    width: 66.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-9 {\n    width: 75%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-10 {\n    width: 83.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-11 {\n    width: 91.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .medium-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-1 {\n    width: 8.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-2 {\n    width: 16.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-3 {\n    width: 25%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-4 {\n    width: 33.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-5 {\n    width: 41.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-6 {\n    width: 50%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-7 {\n    width: 58.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-8 {\n    width: 66.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-9 {\n    width: 75%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-10 {\n    width: 83.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-11 {\n    width: 91.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-margin-collapse > .large-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 240, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-padding-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n\n  /* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .medium-padding-collapse > .cell {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 234, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-margin-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n\n  /* line 29, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .cell {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-1 {\n    width: 8.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-2 {\n    width: 16.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-3 {\n    width: 25%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-4 {\n    width: 33.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-5 {\n    width: 41.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-6 {\n    width: 50%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-7 {\n    width: 58.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-8 {\n    width: 66.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-9 {\n    width: 75%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-10 {\n    width: 83.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-11 {\n    width: 91.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .small-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-1 {\n    width: 8.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-2 {\n    width: 16.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-3 {\n    width: 25%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-4 {\n    width: 33.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-5 {\n    width: 41.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-6 {\n    width: 50%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-7 {\n    width: 58.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-8 {\n    width: 66.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-9 {\n    width: 75%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-10 {\n    width: 83.33333%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-11 {\n    width: 91.66667%;\n  }\n\n  /* line 44, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .medium-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-1 {\n    width: 8.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-2 {\n    width: 16.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-3 {\n    width: 25%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-4 {\n    width: 33.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-5 {\n    width: 41.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-6 {\n    width: 50%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-7 {\n    width: 58.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-8 {\n    width: 66.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-9 {\n    width: 75%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-10 {\n    width: 83.33333%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-11 {\n    width: 91.66667%;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-margin-collapse > .large-12 {\n    width: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 240, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-padding-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n\n  /* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n  .large-padding-collapse > .cell {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-0 {\n  margin-left: 0%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-0 {\n  margin-left: calc(0% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-1 {\n  margin-left: 8.33333%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-1 {\n  margin-left: calc(8.33333% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-2 {\n  margin-left: 16.66667%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-2 {\n  margin-left: calc(16.66667% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-3 {\n  margin-left: 25%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-3 {\n  margin-left: calc(25% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-4 {\n  margin-left: 33.33333%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-4 {\n  margin-left: calc(33.33333% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-5 {\n  margin-left: 41.66667%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-5 {\n  margin-left: calc(41.66667% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-6 {\n  margin-left: 50%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-6 {\n  margin-left: calc(50% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-7 {\n  margin-left: 58.33333%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-7 {\n  margin-left: calc(58.33333% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-8 {\n  margin-left: 66.66667%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-8 {\n  margin-left: calc(66.66667% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-9 {\n  margin-left: 75%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-9 {\n  margin-left: calc(75% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-10 {\n  margin-left: 83.33333%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-10 {\n  margin-left: calc(83.33333% + 0.625rem);\n}\n\n/* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.small-offset-11 {\n  margin-left: 91.66667%;\n}\n\n/* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-x > .small-offset-11 {\n  margin-left: calc(91.66667% + 0.625rem);\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-0 {\n    margin-left: 0%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-0 {\n    margin-left: calc(0% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-1 {\n    margin-left: 8.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-1 {\n    margin-left: calc(8.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-2 {\n    margin-left: 16.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-2 {\n    margin-left: calc(16.66667% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-3 {\n    margin-left: 25%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-3 {\n    margin-left: calc(25% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-4 {\n    margin-left: 33.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-4 {\n    margin-left: calc(33.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-5 {\n    margin-left: 41.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-5 {\n    margin-left: calc(41.66667% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-6 {\n    margin-left: 50%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-6 {\n    margin-left: calc(50% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-7 {\n    margin-left: 58.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-7 {\n    margin-left: calc(58.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-8 {\n    margin-left: 66.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-8 {\n    margin-left: calc(66.66667% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-9 {\n    margin-left: 75%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-9 {\n    margin-left: calc(75% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-10 {\n    margin-left: 83.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-10 {\n    margin-left: calc(83.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-offset-11 {\n    margin-left: 91.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .medium-offset-11 {\n    margin-left: calc(91.66667% + 0.9375rem);\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-0 {\n    margin-left: 0%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-0 {\n    margin-left: calc(0% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-1 {\n    margin-left: 8.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-1 {\n    margin-left: calc(8.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-2 {\n    margin-left: 16.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-2 {\n    margin-left: calc(16.66667% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-3 {\n    margin-left: 25%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-3 {\n    margin-left: calc(25% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-4 {\n    margin-left: 33.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-4 {\n    margin-left: calc(33.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-5 {\n    margin-left: 41.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-5 {\n    margin-left: calc(41.66667% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-6 {\n    margin-left: 50%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-6 {\n    margin-left: calc(50% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-7 {\n    margin-left: 58.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-7 {\n    margin-left: calc(58.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-8 {\n    margin-left: 66.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-8 {\n    margin-left: calc(66.66667% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-9 {\n    margin-left: 75%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-9 {\n    margin-left: calc(75% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-10 {\n    margin-left: 83.33333%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-10 {\n    margin-left: calc(83.33333% + 0.9375rem);\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-offset-11 {\n    margin-left: 91.66667%;\n  }\n\n  /* line 258, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-x > .large-offset-11 {\n    margin-left: calc(91.66667% + 0.9375rem);\n  }\n}\n\n/* line 276, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y {\n  display: flex;\n  flex-flow: column nowrap;\n}\n\n/* line 280, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .cell {\n  width: auto;\n  max-width: none;\n}\n\n/* line 284, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .auto {\n  height: auto;\n}\n\n/* line 288, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .shrink {\n  height: auto;\n}\n\n/* line 302, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-shrink,\n.grid-y > .small-full,\n.grid-y > .small-1,\n.grid-y > .small-2,\n.grid-y > .small-3,\n.grid-y > .small-4,\n.grid-y > .small-5,\n.grid-y > .small-6,\n.grid-y > .small-7,\n.grid-y > .small-8,\n.grid-y > .small-9,\n.grid-y > .small-10,\n.grid-y > .small-11,\n.grid-y > .small-12 {\n  flex-basis: auto;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 302, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-shrink,\n  .grid-y > .medium-full,\n  .grid-y > .medium-1,\n  .grid-y > .medium-2,\n  .grid-y > .medium-3,\n  .grid-y > .medium-4,\n  .grid-y > .medium-5,\n  .grid-y > .medium-6,\n  .grid-y > .medium-7,\n  .grid-y > .medium-8,\n  .grid-y > .medium-9,\n  .grid-y > .medium-10,\n  .grid-y > .medium-11,\n  .grid-y > .medium-12 {\n    flex-basis: auto;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 302, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-shrink,\n  .grid-y > .large-full,\n  .grid-y > .large-1,\n  .grid-y > .large-2,\n  .grid-y > .large-3,\n  .grid-y > .large-4,\n  .grid-y > .large-5,\n  .grid-y > .large-6,\n  .grid-y > .large-7,\n  .grid-y > .large-8,\n  .grid-y > .large-9,\n  .grid-y > .large-10,\n  .grid-y > .large-11,\n  .grid-y > .large-12 {\n    flex-basis: auto;\n  }\n}\n\n/* line 316, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-1,\n.grid-y > .small-2,\n.grid-y > .small-3,\n.grid-y > .small-4,\n.grid-y > .small-5,\n.grid-y > .small-6,\n.grid-y > .small-7,\n.grid-y > .small-8,\n.grid-y > .small-9,\n.grid-y > .small-10,\n.grid-y > .small-11,\n.grid-y > .small-12 {\n  flex: 0 0 auto;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-1 {\n  height: 8.33333%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-2 {\n  height: 16.66667%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-3 {\n  height: 25%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-4 {\n  height: 33.33333%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-5 {\n  height: 41.66667%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-6 {\n  height: 50%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-7 {\n  height: 58.33333%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-8 {\n  height: 66.66667%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-9 {\n  height: 75%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-10 {\n  height: 83.33333%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-11 {\n  height: 91.66667%;\n}\n\n/* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y > .small-12 {\n  height: 100%;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 310, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-auto {\n    flex: 1 1 0px;\n    height: auto;\n  }\n\n  /* line 316, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-shrink,\n  .grid-y > .medium-1,\n  .grid-y > .medium-2,\n  .grid-y > .medium-3,\n  .grid-y > .medium-4,\n  .grid-y > .medium-5,\n  .grid-y > .medium-6,\n  .grid-y > .medium-7,\n  .grid-y > .medium-8,\n  .grid-y > .medium-9,\n  .grid-y > .medium-10,\n  .grid-y > .medium-11,\n  .grid-y > .medium-12 {\n    flex: 0 0 auto;\n  }\n\n  /* line 322, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-shrink {\n    height: auto;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-1 {\n    height: 8.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-2 {\n    height: 16.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-3 {\n    height: 25%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-4 {\n    height: 33.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-5 {\n    height: 41.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-6 {\n    height: 50%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-7 {\n    height: 58.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-8 {\n    height: 66.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-9 {\n    height: 75%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-10 {\n    height: 83.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-11 {\n    height: 91.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .medium-12 {\n    height: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 310, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-auto {\n    flex: 1 1 0px;\n    height: auto;\n  }\n\n  /* line 316, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-shrink,\n  .grid-y > .large-1,\n  .grid-y > .large-2,\n  .grid-y > .large-3,\n  .grid-y > .large-4,\n  .grid-y > .large-5,\n  .grid-y > .large-6,\n  .grid-y > .large-7,\n  .grid-y > .large-8,\n  .grid-y > .large-9,\n  .grid-y > .large-10,\n  .grid-y > .large-11,\n  .grid-y > .large-12 {\n    flex: 0 0 auto;\n  }\n\n  /* line 322, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-shrink {\n    height: auto;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-1 {\n    height: 8.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-2 {\n    height: 16.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-3 {\n    height: 25%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-4 {\n    height: 33.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-5 {\n    height: 41.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-6 {\n    height: 50%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-7 {\n    height: 58.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-8 {\n    height: 66.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-9 {\n    height: 75%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-10 {\n    height: 83.33333%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-11 {\n    height: 91.66667%;\n  }\n\n  /* line 331, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y > .large-12 {\n    height: 100%;\n  }\n}\n\n/* line 343, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-padding-y .grid-padding-y {\n  margin-top: -0.625rem;\n  margin-bottom: -0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 343, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-padding-y .grid-padding-y {\n    margin-top: -0.9375rem;\n    margin-bottom: -0.9375rem;\n  }\n}\n\n/* line 348, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-padding-y > .cell {\n  padding-top: 0.625rem;\n  padding-bottom: 0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 348, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-padding-y > .cell {\n    padding-top: 0.9375rem;\n    padding-bottom: 0.9375rem;\n  }\n}\n\n/* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y {\n  margin-top: -0.625rem;\n  margin-bottom: -0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y {\n    margin-top: -0.9375rem;\n    margin-bottom: -0.9375rem;\n  }\n}\n\n/* line 142, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .cell {\n  height: calc(100% - 1.25rem);\n  margin-top: 0.625rem;\n  margin-bottom: 0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 149, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .cell {\n    height: calc(100% - 1.875rem);\n    margin-top: 0.9375rem;\n    margin-bottom: 0.9375rem;\n  }\n}\n\n/* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .auto {\n  height: auto;\n}\n\n/* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .shrink {\n  height: auto;\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-1 {\n  height: calc(8.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-2 {\n  height: calc(16.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-3 {\n  height: calc(25% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-4 {\n  height: calc(33.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-5 {\n  height: calc(41.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-6 {\n  height: calc(50% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-7 {\n  height: calc(58.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-8 {\n  height: calc(66.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-9 {\n  height: calc(75% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-10 {\n  height: calc(83.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-11 {\n  height: calc(91.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-12 {\n  height: calc(100% - 1.25rem);\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .auto {\n    height: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .shrink {\n    height: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-1 {\n    height: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-2 {\n    height: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-3 {\n    height: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-4 {\n    height: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-5 {\n    height: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-6 {\n    height: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-7 {\n    height: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-8 {\n    height: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-9 {\n    height: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-10 {\n    height: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-11 {\n    height: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-12 {\n    height: calc(100% - 1.875rem);\n  }\n\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-auto {\n    height: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-shrink {\n    height: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-1 {\n    height: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-2 {\n    height: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-3 {\n    height: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-4 {\n    height: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-5 {\n    height: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-6 {\n    height: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-7 {\n    height: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-8 {\n    height: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-9 {\n    height: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-10 {\n    height: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-11 {\n    height: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-12 {\n    height: calc(100% - 1.875rem);\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-auto {\n    height: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-shrink {\n    height: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-1 {\n    height: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-2 {\n    height: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-3 {\n    height: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-4 {\n    height: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-5 {\n    height: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-6 {\n    height: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-7 {\n    height: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-8 {\n    height: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-9 {\n    height: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-10 {\n    height: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-11 {\n    height: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-12 {\n    height: calc(100% - 1.875rem);\n  }\n}\n\n/* line 362, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-frame {\n  overflow: hidden;\n  position: relative;\n  flex-wrap: nowrap;\n  align-items: stretch;\n  width: 100vw;\n}\n\n/* line 366, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell .grid-frame {\n  width: 100%;\n}\n\n/* line 370, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell-block {\n  overflow-x: auto;\n  max-width: 100%;\n  -webkit-overflow-scrolling: touch;\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n/* line 374, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell-block-y {\n  overflow-y: auto;\n  max-height: 100%;\n  min-height: 100%;\n  -webkit-overflow-scrolling: touch;\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n/* line 379, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell-block-container {\n  display: flex;\n  flex-direction: column;\n  max-height: 100%;\n}\n\n/* line 82, node_modules/foundation-sites/scss/xy-grid/_frame.scss */\n\n.cell-block-container > .grid-x {\n  max-height: 100%;\n  flex-wrap: nowrap;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 386, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-grid-frame {\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    width: 100vw;\n  }\n\n  /* line 390, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .cell .medium-grid-frame {\n    width: 100%;\n  }\n\n  /* line 394, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-cell-block {\n    overflow-x: auto;\n    max-width: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n\n  /* line 398, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-cell-block-container {\n    display: flex;\n    flex-direction: column;\n    max-height: 100%;\n  }\n\n  /* line 82, node_modules/foundation-sites/scss/xy-grid/_frame.scss */\n\n  .medium-cell-block-container > .grid-x {\n    max-height: 100%;\n    flex-wrap: nowrap;\n  }\n\n  /* line 402, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .medium-cell-block-y {\n    overflow-y: auto;\n    max-height: 100%;\n    min-height: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 386, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-grid-frame {\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    width: 100vw;\n  }\n\n  /* line 390, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .cell .large-grid-frame {\n    width: 100%;\n  }\n\n  /* line 394, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-cell-block {\n    overflow-x: auto;\n    max-width: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n\n  /* line 398, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-cell-block-container {\n    display: flex;\n    flex-direction: column;\n    max-height: 100%;\n  }\n\n  /* line 82, node_modules/foundation-sites/scss/xy-grid/_frame.scss */\n\n  .large-cell-block-container > .grid-x {\n    max-height: 100%;\n    flex-wrap: nowrap;\n  }\n\n  /* line 402, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .large-cell-block-y {\n    overflow-y: auto;\n    max-height: 100%;\n    min-height: 100%;\n    -webkit-overflow-scrolling: touch;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n  }\n}\n\n/* line 409, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-y.grid-frame {\n  width: auto;\n  overflow: hidden;\n  position: relative;\n  flex-wrap: nowrap;\n  align-items: stretch;\n  height: 100vh;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 415, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y.medium-grid-frame {\n    width: auto;\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    height: 100vh;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 415, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-y.large-grid-frame {\n    width: auto;\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n    height: 100vh;\n  }\n}\n\n/* line 423, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.cell .grid-y.grid-frame {\n  height: 100%;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 427, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .cell .grid-y.medium-grid-frame {\n    height: 100%;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 427, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .cell .grid-y.large-grid-frame {\n    height: 100%;\n  }\n}\n\n/* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y {\n  margin-top: -0.625rem;\n  margin-bottom: -0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 138, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y {\n    margin-top: -0.9375rem;\n    margin-bottom: -0.9375rem;\n  }\n}\n\n/* line 142, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .cell {\n  height: calc(100% - 1.25rem);\n  margin-top: 0.625rem;\n  margin-bottom: 0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 149, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .cell {\n    height: calc(100% - 1.875rem);\n    margin-top: 0.9375rem;\n    margin-bottom: 0.9375rem;\n  }\n}\n\n/* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .auto {\n  height: auto;\n}\n\n/* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .shrink {\n  height: auto;\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-1 {\n  height: calc(8.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-2 {\n  height: calc(16.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-3 {\n  height: calc(25% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-4 {\n  height: calc(33.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-5 {\n  height: calc(41.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-6 {\n  height: calc(50% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-7 {\n  height: calc(58.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-8 {\n  height: calc(66.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-9 {\n  height: calc(75% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-10 {\n  height: calc(83.33333% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-11 {\n  height: calc(91.66667% - 1.25rem);\n}\n\n/* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-margin-y > .small-12 {\n  height: calc(100% - 1.25rem);\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .auto {\n    height: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .shrink {\n    height: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-1 {\n    height: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-2 {\n    height: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-3 {\n    height: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-4 {\n    height: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-5 {\n    height: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-6 {\n    height: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-7 {\n    height: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-8 {\n    height: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-9 {\n    height: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-10 {\n    height: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-11 {\n    height: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .small-12 {\n    height: calc(100% - 1.875rem);\n  }\n\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-auto {\n    height: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-shrink {\n    height: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-1 {\n    height: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-2 {\n    height: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-3 {\n    height: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-4 {\n    height: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-5 {\n    height: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-6 {\n    height: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-7 {\n    height: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-8 {\n    height: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-9 {\n    height: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-10 {\n    height: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-11 {\n    height: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .medium-12 {\n    height: calc(100% - 1.875rem);\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 114, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-auto {\n    height: auto;\n  }\n\n  /* line 118, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-shrink {\n    height: auto;\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-1 {\n    height: calc(8.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-2 {\n    height: calc(16.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-3 {\n    height: calc(25% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-4 {\n    height: calc(33.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-5 {\n    height: calc(41.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-6 {\n    height: calc(50% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-7 {\n    height: calc(58.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-8 {\n    height: calc(66.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-9 {\n    height: calc(75% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-10 {\n    height: calc(83.33333% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-11 {\n    height: calc(91.66667% - 1.875rem);\n  }\n\n  /* line 126, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y > .large-12 {\n    height: calc(100% - 1.875rem);\n  }\n}\n\n/* line 435, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n.grid-frame.grid-margin-y {\n  height: calc(100vh + 1.25rem);\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 435, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-frame.grid-margin-y {\n    height: calc(100vh + 1.875rem);\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 435, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-frame.grid-margin-y {\n    height: calc(100vh + 1.875rem);\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 439, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y.medium-grid-frame {\n    height: calc(100vh + 1.875rem);\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 439, node_modules/foundation-sites/scss/xy-grid/_classes.scss */\n\n  .grid-margin-y.large-grid-frame {\n    height: calc(100vh + 1.875rem);\n  }\n}\n\n/* line 266, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #1779ba;\n  color: #fefefe;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .button {\n  outline: 0;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button:hover,\n.button:focus {\n  background-color: #14679e;\n  color: #fefefe;\n}\n\n/* line 271, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.tiny {\n  font-size: 0.6rem;\n}\n\n/* line 271, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.small {\n  font-size: 0.75rem;\n}\n\n/* line 271, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.large {\n  font-size: 1.25rem;\n}\n\n/* line 276, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.expanded {\n  display: block;\n  width: 100%;\n  margin-right: 0;\n  margin-left: 0;\n}\n\n/* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.primary {\n  background-color: #1779ba;\n  color: #fefefe;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.primary:hover,\n.button.primary:focus {\n  background-color: #126195;\n  color: #fefefe;\n}\n\n/* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.secondary {\n  background-color: #767676;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.secondary:hover,\n.button.secondary:focus {\n  background-color: #5e5e5e;\n  color: #000;\n}\n\n/* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.success {\n  background-color: #18a733;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.success:hover,\n.button.success:focus {\n  background-color: #138629;\n  color: #000;\n}\n\n/* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.warning {\n  background-color: #ffae00;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.warning:hover,\n.button.warning:focus {\n  background-color: #cc8b00;\n  color: #000;\n}\n\n/* line 304, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.alert {\n  background-color: #cc4b37;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.alert:hover,\n.button.alert:focus {\n  background-color: #a53b2a;\n  color: #000;\n}\n\n/* line 320, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled,\n.button[disabled] {\n  opacity: 0.25;\n  cursor: not-allowed;\n}\n\n/* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled,\n.button.disabled:hover,\n.button.disabled:focus,\n.button[disabled],\n.button[disabled]:hover,\n.button[disabled]:focus {\n  background-color: #1779ba;\n  color: #fefefe;\n}\n\n/* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.primary,\n.button[disabled].primary {\n  opacity: 0.25;\n  cursor: not-allowed;\n}\n\n/* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.primary,\n.button.disabled.primary:hover,\n.button.disabled.primary:focus,\n.button[disabled].primary,\n.button[disabled].primary:hover,\n.button[disabled].primary:focus {\n  background-color: #1779ba;\n  color: #fefefe;\n}\n\n/* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.secondary,\n.button[disabled].secondary {\n  opacity: 0.25;\n  cursor: not-allowed;\n}\n\n/* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.secondary,\n.button.disabled.secondary:hover,\n.button.disabled.secondary:focus,\n.button[disabled].secondary,\n.button[disabled].secondary:hover,\n.button[disabled].secondary:focus {\n  background-color: #767676;\n  color: #000;\n}\n\n/* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.success,\n.button[disabled].success {\n  opacity: 0.25;\n  cursor: not-allowed;\n}\n\n/* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.success,\n.button.disabled.success:hover,\n.button.disabled.success:focus,\n.button[disabled].success,\n.button[disabled].success:hover,\n.button[disabled].success:focus {\n  background-color: #18a733;\n  color: #000;\n}\n\n/* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.warning,\n.button[disabled].warning {\n  opacity: 0.25;\n  cursor: not-allowed;\n}\n\n/* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.warning,\n.button.disabled.warning:hover,\n.button.disabled.warning:focus,\n.button[disabled].warning,\n.button[disabled].warning:hover,\n.button[disabled].warning:focus {\n  background-color: #ffae00;\n  color: #000;\n}\n\n/* line 325, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.alert,\n.button[disabled].alert {\n  opacity: 0.25;\n  cursor: not-allowed;\n}\n\n/* line 211, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.disabled.alert,\n.button.disabled.alert:hover,\n.button.disabled.alert:focus,\n.button[disabled].alert,\n.button[disabled].alert:hover,\n.button[disabled].alert:focus {\n  background-color: #cc4b37;\n  color: #000;\n}\n\n/* line 333, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 161, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow,\n.button.hollow:hover,\n.button.hollow:focus {\n  background-color: transparent;\n}\n\n/* line 169, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.disabled,\n.button.hollow.disabled:hover,\n.button.hollow.disabled:focus,\n.button.hollow[disabled],\n.button.hollow[disabled]:hover,\n.button.hollow[disabled]:focus {\n  background-color: transparent;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow:hover,\n.button.hollow:focus {\n  border-color: #0c3d5d;\n  color: #0c3d5d;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow:hover.disabled,\n.button.hollow:hover[disabled],\n.button.hollow:focus.disabled,\n.button.hollow:focus[disabled] {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.primary {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.primary:hover,\n.button.hollow.primary:focus {\n  border-color: #0c3d5d;\n  color: #0c3d5d;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.primary:hover.disabled,\n.button.hollow.primary:hover[disabled],\n.button.hollow.primary:focus.disabled,\n.button.hollow.primary:focus[disabled] {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.secondary {\n  border: 1px solid #767676;\n  color: #767676;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.secondary:hover,\n.button.hollow.secondary:focus {\n  border-color: #3b3b3b;\n  color: #3b3b3b;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.secondary:hover.disabled,\n.button.hollow.secondary:hover[disabled],\n.button.hollow.secondary:focus.disabled,\n.button.hollow.secondary:focus[disabled] {\n  border: 1px solid #767676;\n  color: #767676;\n}\n\n/* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.success {\n  border: 1px solid #18a733;\n  color: #18a733;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.success:hover,\n.button.hollow.success:focus {\n  border-color: #0c541a;\n  color: #0c541a;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.success:hover.disabled,\n.button.hollow.success:hover[disabled],\n.button.hollow.success:focus.disabled,\n.button.hollow.success:focus[disabled] {\n  border: 1px solid #18a733;\n  color: #18a733;\n}\n\n/* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.warning {\n  border: 1px solid #ffae00;\n  color: #ffae00;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.warning:hover,\n.button.hollow.warning:focus {\n  border-color: #805700;\n  color: #805700;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.warning:hover.disabled,\n.button.hollow.warning:hover[disabled],\n.button.hollow.warning:focus.disabled,\n.button.hollow.warning:focus[disabled] {\n  border: 1px solid #ffae00;\n  color: #ffae00;\n}\n\n/* line 338, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.alert {\n  border: 1px solid #cc4b37;\n  color: #cc4b37;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.alert:hover,\n.button.hollow.alert:focus {\n  border-color: #67251a;\n  color: #67251a;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.hollow.alert:hover.disabled,\n.button.hollow.alert:hover[disabled],\n.button.hollow.alert:focus.disabled,\n.button.hollow.alert:focus[disabled] {\n  border: 1px solid #cc4b37;\n  color: #cc4b37;\n}\n\n/* line 347, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 161, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear,\n.button.clear:hover,\n.button.clear:focus {\n  background-color: transparent;\n}\n\n/* line 169, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.disabled,\n.button.clear.disabled:hover,\n.button.clear.disabled:focus,\n.button.clear[disabled],\n.button.clear[disabled]:hover,\n.button.clear[disabled]:focus {\n  background-color: transparent;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear:hover,\n.button.clear:focus {\n  border-color: #0c3d5d;\n  color: #0c3d5d;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear:hover.disabled,\n.button.clear:hover[disabled],\n.button.clear:focus.disabled,\n.button.clear:focus[disabled] {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 352, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear,\n.button.clear.disabled,\n.button.clear[disabled],\n.button.clear:hover,\n.button.clear:hover.disabled,\n.button.clear:hover[disabled],\n.button.clear:focus,\n.button.clear:focus.disabled,\n.button.clear:focus[disabled] {\n  border-color: transparent;\n}\n\n/* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.primary {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.primary:hover,\n.button.clear.primary:focus {\n  border-color: #0c3d5d;\n  color: #0c3d5d;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.primary:hover.disabled,\n.button.clear.primary:hover[disabled],\n.button.clear.primary:focus.disabled,\n.button.clear.primary:focus[disabled] {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.primary,\n.button.clear.primary.disabled,\n.button.clear.primary[disabled],\n.button.clear.primary:hover,\n.button.clear.primary:hover.disabled,\n.button.clear.primary:hover[disabled],\n.button.clear.primary:focus,\n.button.clear.primary:focus.disabled,\n.button.clear.primary:focus[disabled] {\n  border-color: transparent;\n}\n\n/* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.secondary {\n  border: 1px solid #767676;\n  color: #767676;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.secondary:hover,\n.button.clear.secondary:focus {\n  border-color: #3b3b3b;\n  color: #3b3b3b;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.secondary:hover.disabled,\n.button.clear.secondary:hover[disabled],\n.button.clear.secondary:focus.disabled,\n.button.clear.secondary:focus[disabled] {\n  border: 1px solid #767676;\n  color: #767676;\n}\n\n/* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.secondary,\n.button.clear.secondary.disabled,\n.button.clear.secondary[disabled],\n.button.clear.secondary:hover,\n.button.clear.secondary:hover.disabled,\n.button.clear.secondary:hover[disabled],\n.button.clear.secondary:focus,\n.button.clear.secondary:focus.disabled,\n.button.clear.secondary:focus[disabled] {\n  border-color: transparent;\n}\n\n/* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.success {\n  border: 1px solid #18a733;\n  color: #18a733;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.success:hover,\n.button.clear.success:focus {\n  border-color: #0c541a;\n  color: #0c541a;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.success:hover.disabled,\n.button.clear.success:hover[disabled],\n.button.clear.success:focus.disabled,\n.button.clear.success:focus[disabled] {\n  border: 1px solid #18a733;\n  color: #18a733;\n}\n\n/* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.success,\n.button.clear.success.disabled,\n.button.clear.success[disabled],\n.button.clear.success:hover,\n.button.clear.success:hover.disabled,\n.button.clear.success:hover[disabled],\n.button.clear.success:focus,\n.button.clear.success:focus.disabled,\n.button.clear.success:focus[disabled] {\n  border-color: transparent;\n}\n\n/* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.warning {\n  border: 1px solid #ffae00;\n  color: #ffae00;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.warning:hover,\n.button.clear.warning:focus {\n  border-color: #805700;\n  color: #805700;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.warning:hover.disabled,\n.button.clear.warning:hover[disabled],\n.button.clear.warning:focus.disabled,\n.button.clear.warning:focus[disabled] {\n  border: 1px solid #ffae00;\n  color: #ffae00;\n}\n\n/* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.warning,\n.button.clear.warning.disabled,\n.button.clear.warning[disabled],\n.button.clear.warning:hover,\n.button.clear.warning:hover.disabled,\n.button.clear.warning:hover[disabled],\n.button.clear.warning:focus,\n.button.clear.warning:focus.disabled,\n.button.clear.warning:focus[disabled] {\n  border-color: transparent;\n}\n\n/* line 358, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.alert {\n  border: 1px solid #cc4b37;\n  color: #cc4b37;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.alert:hover,\n.button.clear.alert:focus {\n  border-color: #67251a;\n  color: #67251a;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.alert:hover.disabled,\n.button.clear.alert:hover[disabled],\n.button.clear.alert:focus.disabled,\n.button.clear.alert:focus[disabled] {\n  border: 1px solid #cc4b37;\n  color: #cc4b37;\n}\n\n/* line 363, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.clear.alert,\n.button.clear.alert.disabled,\n.button.clear.alert[disabled],\n.button.clear.alert:hover,\n.button.clear.alert:hover.disabled,\n.button.clear.alert:hover[disabled],\n.button.clear.alert:focus,\n.button.clear.alert:focus.disabled,\n.button.clear.alert:focus[disabled] {\n  border-color: transparent;\n}\n\n/* line 226, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.dropdown::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 0.4em;\n  content: '';\n  border-bottom-width: 0;\n  border-top-style: solid;\n  border-color: #fefefe transparent transparent;\n  position: relative;\n  top: 0.4em;\n  display: inline-block;\n  float: right;\n  margin-left: 1em;\n}\n\n/* line 385, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.dropdown.hollow::after,\n.button.dropdown.clear::after {\n  border-top-color: #1779ba;\n}\n\n/* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.dropdown.hollow.primary::after,\n.button.dropdown.clear.primary::after {\n  border-top-color: #1779ba;\n}\n\n/* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.dropdown.hollow.secondary::after,\n.button.dropdown.clear.secondary::after {\n  border-top-color: #767676;\n}\n\n/* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.dropdown.hollow.success::after,\n.button.dropdown.clear.success::after {\n  border-top-color: #18a733;\n}\n\n/* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.dropdown.hollow.warning::after,\n.button.dropdown.clear.warning::after {\n  border-top-color: #ffae00;\n}\n\n/* line 391, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.dropdown.hollow.alert::after,\n.button.dropdown.clear.alert::after {\n  border-top-color: #cc4b37;\n}\n\n/* line 400, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button.arrow-only::after {\n  top: -0.1em;\n  float: none;\n  margin-left: 0;\n}\n\n/* line 408, node_modules/foundation-sites/scss/components/_button.scss */\n\na.button:hover,\na.button:focus {\n  text-decoration: none;\n}\n\n/* line 198, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group {\n  margin-bottom: 1rem;\n  display: flex;\n  flex-wrap: nowrap;\n  align-items: stretch;\n}\n\n/* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.button-group::before,\n.button-group::after {\n  display: table;\n  content: ' ';\n  flex-basis: 0;\n  order: 1;\n}\n\n/* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.button-group::after {\n  clear: both;\n}\n\n/* line 48, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group .button {\n  margin: 0;\n  margin-right: 1px;\n  margin-bottom: 1px;\n  font-size: 0.9rem;\n  flex: 0 0 auto;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group .button:last-child {\n  margin-right: 0;\n}\n\n/* line 203, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.tiny .button {\n  font-size: 0.6rem;\n}\n\n/* line 203, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.small .button {\n  font-size: 0.75rem;\n}\n\n/* line 203, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.large .button {\n  font-size: 1.25rem;\n}\n\n/* line 96, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.expanded .button {\n  flex: 1 1 0px;\n}\n\n/* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.primary .button {\n  background-color: #1779ba;\n  color: #fefefe;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-group.primary .button:hover,\n.button-group.primary .button:focus {\n  background-color: #126195;\n  color: #fefefe;\n}\n\n/* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.secondary .button {\n  background-color: #767676;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-group.secondary .button:hover,\n.button-group.secondary .button:focus {\n  background-color: #5e5e5e;\n  color: #000;\n}\n\n/* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.success .button {\n  background-color: #18a733;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-group.success .button:hover,\n.button-group.success .button:focus {\n  background-color: #138629;\n  color: #000;\n}\n\n/* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.warning .button {\n  background-color: #ffae00;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-group.warning .button:hover,\n.button-group.warning .button:focus {\n  background-color: #cc8b00;\n  color: #000;\n}\n\n/* line 216, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.alert .button {\n  background-color: #cc4b37;\n  color: #000;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-group.alert .button:hover,\n.button-group.alert .button:focus {\n  background-color: #a53b2a;\n  color: #000;\n}\n\n/* line 228, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.stacked,\n.button-group.stacked-for-small,\n.button-group.stacked-for-medium {\n  flex-wrap: wrap;\n}\n\n/* line 135, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.stacked .button,\n.button-group.stacked-for-small .button,\n.button-group.stacked-for-medium .button {\n  flex: 0 0 100%;\n}\n\n/* line 143, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.stacked .button:last-child,\n.button-group.stacked-for-small .button:last-child,\n.button-group.stacked-for-medium .button:last-child {\n  margin-bottom: 0;\n}\n\n/* line 96, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n.button-group.stacked.expanded .button,\n.button-group.stacked-for-small.expanded .button,\n.button-group.stacked-for-medium.expanded .button {\n  flex: 1 1 0px;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 171, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n  .button-group.stacked-for-small .button {\n    flex: 0 0 auto;\n    margin-bottom: 0;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 171, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n  .button-group.stacked-for-medium .button {\n    flex: 0 0 auto;\n    margin-bottom: 0;\n  }\n}\n\n@media screen and (max-width: 39.99875em) {\n  /* line 250, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n  .button-group.stacked-for-small.expanded {\n    display: block;\n  }\n\n  /* line 254, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n  .button-group.stacked-for-small.expanded .button {\n    display: block;\n    margin-right: 0;\n  }\n}\n\n@media screen and (max-width: 63.99875em) {\n  /* line 261, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n  .button-group.stacked-for-medium.expanded {\n    display: block;\n  }\n\n  /* line 265, node_modules/foundation-sites/scss/components/_button-group.scss */\n\n  .button-group.stacked-for-medium.expanded .button {\n    display: block;\n    margin-right: 0;\n  }\n}\n\n/* line 96, node_modules/foundation-sites/scss/components/_close-button.scss */\n\n.close-button {\n  position: absolute;\n  color: #333333;\n  cursor: pointer;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .close-button {\n  outline: 0;\n}\n\n/* line 89, node_modules/foundation-sites/scss/components/_close-button.scss */\n\n.close-button:hover,\n.close-button:focus {\n  color: #000;\n}\n\n/* line 99, node_modules/foundation-sites/scss/components/_close-button.scss */\n\n.close-button.small {\n  right: 0.66rem;\n  top: 0.33em;\n  font-size: 1.5em;\n  line-height: 1;\n}\n\n/* line 100, node_modules/foundation-sites/scss/components/_close-button.scss */\n\n.close-button,\n.close-button.medium {\n  right: 1rem;\n  top: 0.5rem;\n  font-size: 2em;\n  line-height: 1;\n}\n\n/* line 51, node_modules/foundation-sites/scss/components/_label.scss */\n\n.label {\n  display: inline-block;\n  padding: 0.33333rem 0.5rem;\n  border-radius: 0;\n  font-size: 0.8rem;\n  line-height: 1;\n  white-space: nowrap;\n  cursor: default;\n  background: #1779ba;\n  color: #fefefe;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n\n.label.primary {\n  background: #1779ba;\n  color: #fefefe;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n\n.label.secondary {\n  background: #767676;\n  color: #000;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n\n.label.success {\n  background: #18a733;\n  color: #000;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n\n.label.warning {\n  background: #ffae00;\n  color: #000;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_label.scss */\n\n.label.alert {\n  background: #cc4b37;\n  color: #000;\n}\n\n/* line 42, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress {\n  height: 1rem;\n  margin-bottom: 1rem;\n  border-radius: 0;\n  background-color: #777777;\n}\n\n/* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress.primary .progress-meter {\n  background-color: #1779ba;\n}\n\n/* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress.secondary .progress-meter {\n  background-color: #767676;\n}\n\n/* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress.success .progress-meter {\n  background-color: #18a733;\n}\n\n/* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress.warning .progress-meter {\n  background-color: #ffae00;\n}\n\n/* line 47, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress.alert .progress-meter {\n  background-color: #cc4b37;\n}\n\n/* line 55, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress-meter {\n  position: relative;\n  display: block;\n  width: 0%;\n  height: 100%;\n  background-color: #1779ba;\n}\n\n/* line 60, node_modules/foundation-sites/scss/components/_progress-bar.scss */\n\n.progress-meter-text {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n  margin: 0;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: #fefefe;\n  white-space: nowrap;\n}\n\n/* line 106, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider {\n  position: relative;\n  height: 0.5rem;\n  margin-top: 1.25rem;\n  margin-bottom: 2.25rem;\n  background-color: #eeeeee;\n  cursor: pointer;\n  user-select: none;\n  touch-action: none;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider-fill {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: inline-block;\n  max-width: 100%;\n  height: 0.5rem;\n  background-color: #777777;\n  transition: all 0.2s ease-in-out;\n}\n\n/* line 46, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider-fill.is-dragging {\n  transition: all 0s linear;\n}\n\n/* line 116, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider-handle {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  left: 0;\n  z-index: 1;\n  display: inline-block;\n  width: 1.4rem;\n  height: 1.4rem;\n  border-radius: 0;\n  background-color: #1779ba;\n  transition: all 0.2s ease-in-out;\n  touch-action: manipulation;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .slider-handle {\n  outline: 0;\n}\n\n/* line 67, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider-handle:hover {\n  background-color: #14679e;\n}\n\n/* line 71, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider-handle.is-dragging {\n  transition: all 0s linear;\n}\n\n/* line 121, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider.disabled,\n.slider[disabled] {\n  opacity: 0.25;\n  cursor: not-allowed;\n}\n\n/* line 127, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider.vertical {\n  display: inline-block;\n  width: 0.5rem;\n  height: 12.5rem;\n  margin: 0 1.25rem;\n  transform: scale(1, -1);\n}\n\n/* line 88, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider.vertical .slider-fill {\n  top: 0;\n  width: 0.5rem;\n  max-height: 100%;\n}\n\n/* line 94, node_modules/foundation-sites/scss/components/_slider.scss */\n\n.slider.vertical .slider-handle {\n  position: absolute;\n  top: 0;\n  left: 50%;\n  width: 1.4rem;\n  height: 1.4rem;\n  transform: translateX(-50%);\n}\n\n/* line 203, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch {\n  height: 2rem;\n  position: relative;\n  margin-bottom: 1rem;\n  outline: 0;\n  font-size: 0.875rem;\n  font-weight: bold;\n  color: #fefefe;\n  user-select: none;\n}\n\n/* line 209, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch-input {\n  position: absolute;\n  margin-bottom: 0;\n  opacity: 0;\n}\n\n/* line 214, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch-paddle {\n  position: relative;\n  display: block;\n  width: 4rem;\n  height: 2rem;\n  border-radius: 0;\n  background: #777777;\n  transition: all 0.25s ease-out;\n  font-weight: inherit;\n  color: inherit;\n  cursor: pointer;\n}\n\n/* line 105, node_modules/foundation-sites/scss/components/_switch.scss */\n\ninput + .switch-paddle {\n  margin: 0;\n}\n\n/* line 110, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch-paddle::after {\n  position: absolute;\n  top: 0.25rem;\n  left: 0.25rem;\n  display: block;\n  width: 1.5rem;\n  height: 1.5rem;\n  transform: translate3d(0, 0, 0);\n  border-radius: 0;\n  background: #fefefe;\n  transition: all 0.25s ease-out;\n  content: '';\n}\n\n/* line 127, node_modules/foundation-sites/scss/components/_switch.scss */\n\ninput:checked ~ .switch-paddle {\n  background: #1779ba;\n}\n\n/* line 130, node_modules/foundation-sites/scss/components/_switch.scss */\n\ninput:checked ~ .switch-paddle::after {\n  left: 2.25rem;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] input:focus ~ .switch-paddle {\n  outline: 0;\n}\n\n/* line 219, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch-active,\n.switch-inactive {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n/* line 224, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch-active {\n  left: 8%;\n  display: none;\n}\n\n/* line 152, node_modules/foundation-sites/scss/components/_switch.scss */\n\ninput:checked + label > .switch-active {\n  display: block;\n}\n\n/* line 230, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch-inactive {\n  right: 15%;\n}\n\n/* line 161, node_modules/foundation-sites/scss/components/_switch.scss */\n\ninput:checked + label > .switch-inactive {\n  display: none;\n}\n\n/* line 236, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.tiny {\n  height: 1.5rem;\n}\n\n/* line 183, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.tiny .switch-paddle {\n  width: 3rem;\n  height: 1.5rem;\n  font-size: 0.625rem;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.tiny .switch-paddle::after {\n  top: 0.25rem;\n  left: 0.25rem;\n  width: 1rem;\n  height: 1rem;\n}\n\n/* line 196, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.tiny input:checked ~ .switch-paddle::after {\n  left: 1.75rem;\n}\n\n/* line 240, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.small {\n  height: 1.75rem;\n}\n\n/* line 183, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.small .switch-paddle {\n  width: 3.5rem;\n  height: 1.75rem;\n  font-size: 0.75rem;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.small .switch-paddle::after {\n  top: 0.25rem;\n  left: 0.25rem;\n  width: 1.25rem;\n  height: 1.25rem;\n}\n\n/* line 196, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.small input:checked ~ .switch-paddle::after {\n  left: 2rem;\n}\n\n/* line 244, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.large {\n  height: 2.5rem;\n}\n\n/* line 183, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.large .switch-paddle {\n  width: 5rem;\n  height: 2.5rem;\n  font-size: 1rem;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.large .switch-paddle::after {\n  top: 0.25rem;\n  left: 0.25rem;\n  width: 2rem;\n  height: 2rem;\n}\n\n/* line 196, node_modules/foundation-sites/scss/components/_switch.scss */\n\n.switch.large input:checked ~ .switch-paddle::after {\n  left: 2.75rem;\n}\n\n/* line 305, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable {\n  border-collapse: collapse;\n  width: 100%;\n  margin-bottom: 1rem;\n  border-radius: 0;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_table.scss */\n\nthead,\ntbody,\ntfoot {\n  border: 1px solid #f1f1f1;\n  background-color: #fefefe;\n}\n\n/* line 119, node_modules/foundation-sites/scss/components/_table.scss */\n\ncaption {\n  padding: 0.5rem 0.625rem 0.625rem;\n  font-weight: bold;\n}\n\n/* line 125, node_modules/foundation-sites/scss/components/_table.scss */\n\nthead {\n  background: #f8f8f8;\n  color: #000;\n}\n\n/* line 131, node_modules/foundation-sites/scss/components/_table.scss */\n\ntfoot {\n  background: #f1f1f1;\n  color: #000;\n}\n\n/* line 140, node_modules/foundation-sites/scss/components/_table.scss */\n\nthead tr,\ntfoot tr {\n  background: transparent;\n}\n\n/* line 145, node_modules/foundation-sites/scss/components/_table.scss */\n\nthead th,\nthead td,\ntfoot th,\ntfoot td {\n  padding: 0.5rem 0.625rem 0.625rem;\n  font-weight: bold;\n  text-align: left;\n}\n\n/* line 155, node_modules/foundation-sites/scss/components/_table.scss */\n\ntbody th,\ntbody td {\n  padding: 0.5rem 0.625rem 0.625rem;\n}\n\n/* line 87, node_modules/foundation-sites/scss/components/_table.scss */\n\ntbody tr:nth-child(even) {\n  border-bottom: 0;\n  background-color: #f1f1f1;\n}\n\n/* line 168, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable.unstriped tbody {\n  background-color: #fefefe;\n}\n\n/* line 103, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable.unstriped tbody tr {\n  border-bottom: 0;\n  border-bottom: 1px solid #f1f1f1;\n  background-color: #fefefe;\n}\n\n@media screen and (max-width: 63.99875em) {\n  /* line 284, node_modules/foundation-sites/scss/components/_table.scss */\n\n  table.stack thead {\n    display: none;\n  }\n\n  /* line 289, node_modules/foundation-sites/scss/components/_table.scss */\n\n  table.stack tfoot {\n    display: none;\n  }\n\n  /* line 293, node_modules/foundation-sites/scss/components/_table.scss */\n\n  table.stack tr,\n  table.stack th,\n  table.stack td {\n    display: block;\n  }\n\n  /* line 299, node_modules/foundation-sites/scss/components/_table.scss */\n\n  table.stack td {\n    border-top: 0;\n  }\n}\n\n/* line 315, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable.scroll {\n  display: block;\n  width: 100%;\n  overflow-x: auto;\n}\n\n/* line 221, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable.hover thead tr:hover {\n  background-color: #f3f3f3;\n}\n\n/* line 228, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable.hover tfoot tr:hover {\n  background-color: #ececec;\n}\n\n/* line 235, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable.hover tbody tr:hover {\n  background-color: #f9f9f9;\n}\n\n/* line 243, node_modules/foundation-sites/scss/components/_table.scss */\n\ntable.hover:not(.unstriped) tr:nth-of-type(even):hover {\n  background-color: #ececec;\n}\n\n/* line 323, node_modules/foundation-sites/scss/components/_table.scss */\n\n.table-scroll {\n  overflow-x: auto;\n}\n\n/* line 50, node_modules/foundation-sites/scss/components/_badge.scss */\n\n.badge {\n  display: inline-block;\n  min-width: 2.1em;\n  padding: 0.3em;\n  border-radius: 50%;\n  font-size: 0.6rem;\n  text-align: center;\n  background: #1779ba;\n  color: #fefefe;\n}\n\n/* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n\n.badge.primary {\n  background: #1779ba;\n  color: #fefefe;\n}\n\n/* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n\n.badge.secondary {\n  background: #767676;\n  color: #000;\n}\n\n/* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n\n.badge.success {\n  background: #18a733;\n  color: #000;\n}\n\n/* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n\n.badge.warning {\n  background: #ffae00;\n  color: #000;\n}\n\n/* line 57, node_modules/foundation-sites/scss/components/_badge.scss */\n\n.badge.alert {\n  background: #cc4b37;\n  color: #000;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n\n.breadcrumbs {\n  margin: 0 0 1rem 0;\n  list-style: none;\n}\n\n/* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.breadcrumbs::before,\n.breadcrumbs::after {\n  display: table;\n  content: ' ';\n  flex-basis: 0;\n  order: 1;\n}\n\n/* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.breadcrumbs::after {\n  clear: both;\n}\n\n/* line 70, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n\n.breadcrumbs li {\n  float: left;\n  font-size: 0.6875rem;\n  color: #000;\n  cursor: default;\n  text-transform: uppercase;\n}\n\n/* line 86, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n\n.breadcrumbs li:not(:last-child)::after {\n  position: relative;\n  margin: 0 0.75rem;\n  opacity: 1;\n  content: \"/\";\n  color: #777777;\n}\n\n/* line 101, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n\n.breadcrumbs a {\n  color: #1779ba;\n}\n\n/* line 104, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n\n.breadcrumbs a:hover {\n  text-decoration: underline;\n}\n\n/* line 114, node_modules/foundation-sites/scss/components/_breadcrumbs.scss */\n\n.breadcrumbs .disabled {\n  color: #777777;\n  cursor: not-allowed;\n}\n\n/* line 89, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout {\n  position: relative;\n  margin: 0 0 1rem 0;\n  padding: 1rem;\n  border: 1px solid rgba(0, 0, 0, 0.25);\n  border-radius: 0;\n  background-color: white;\n  color: #000;\n}\n\n/* line 55, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout > :first-child {\n  margin-top: 0;\n}\n\n/* line 59, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout > :last-child {\n  margin-bottom: 0;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout.primary {\n  background-color: #d7ecfa;\n  color: #000;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout.secondary {\n  background-color: #eaeaea;\n  color: #000;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout.success {\n  background-color: #d5f9dc;\n  color: #000;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout.warning {\n  background-color: #fff3d9;\n  color: #000;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout.alert {\n  background-color: #f7e4e1;\n  color: #000;\n}\n\n/* line 98, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout.small {\n  padding-top: 0.5rem;\n  padding-right: 0.5rem;\n  padding-bottom: 0.5rem;\n  padding-left: 0.5rem;\n}\n\n/* line 102, node_modules/foundation-sites/scss/components/_callout.scss */\n\n.callout.large {\n  padding-top: 3rem;\n  padding-right: 3rem;\n  padding-bottom: 3rem;\n  padding-left: 3rem;\n}\n\n/* line 112, node_modules/foundation-sites/scss/components/_card.scss */\n\n.card {\n  display: flex;\n  flex-direction: column;\n  flex-grow: 1;\n  margin-bottom: 1rem;\n  border: 1px solid #eeeeee;\n  border-radius: 0;\n  background: #fefefe;\n  box-shadow: none;\n  overflow: hidden;\n  color: #000;\n}\n\n/* line 73, node_modules/foundation-sites/scss/components/_card.scss */\n\n.card > :last-child {\n  margin-bottom: 0;\n}\n\n/* line 116, node_modules/foundation-sites/scss/components/_card.scss */\n\n.card-divider {\n  display: flex;\n  flex: 0 1 auto;\n  padding: 1rem;\n  background: #eeeeee;\n}\n\n/* line 91, node_modules/foundation-sites/scss/components/_card.scss */\n\n.card-divider > :last-child {\n  margin-bottom: 0;\n}\n\n/* line 120, node_modules/foundation-sites/scss/components/_card.scss */\n\n.card-section {\n  flex: 1 0 auto;\n  padding: 1rem;\n}\n\n/* line 106, node_modules/foundation-sites/scss/components/_card.scss */\n\n.card-section > :last-child {\n  margin-bottom: 0;\n}\n\n/* line 126, node_modules/foundation-sites/scss/components/_card.scss */\n\n.card-image {\n  min-height: 1px;\n}\n\n/* line 71, node_modules/foundation-sites/scss/components/_dropdown.scss */\n\n.dropdown-pane {\n  position: absolute;\n  z-index: 10;\n  display: none;\n  width: 300px;\n  padding: 1rem;\n  visibility: hidden;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  font-size: 1rem;\n}\n\n/* line 60, node_modules/foundation-sites/scss/components/_dropdown.scss */\n\n.dropdown-pane.is-opening {\n  display: block;\n}\n\n/* line 64, node_modules/foundation-sites/scss/components/_dropdown.scss */\n\n.dropdown-pane.is-open {\n  display: block;\n  visibility: visible;\n}\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown.scss */\n\n.dropdown-pane.tiny {\n  width: 100px;\n}\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown.scss */\n\n.dropdown-pane.small {\n  width: 200px;\n}\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown.scss */\n\n.dropdown-pane.large {\n  width: 400px;\n}\n\n/* line 162, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination {\n  margin-left: 0;\n  margin-bottom: 1rem;\n}\n\n/* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.pagination::before,\n.pagination::after {\n  display: table;\n  content: ' ';\n  flex-basis: 0;\n  order: 1;\n}\n\n/* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.pagination::after {\n  clear: both;\n}\n\n/* line 83, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination li {\n  margin-right: 0.0625rem;\n  border-radius: 0;\n  font-size: 0.875rem;\n  display: none;\n}\n\n/* line 94, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination li:last-child,\n.pagination li:first-child {\n  display: inline-block;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 83, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n  .pagination li {\n    display: inline-block;\n  }\n}\n\n/* line 112, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination a,\n.pagination button {\n  display: block;\n  padding: 0.1875rem 0.625rem;\n  border-radius: 0;\n  color: #000;\n}\n\n/* line 119, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination a:hover,\n.pagination button:hover {\n  background: #eeeeee;\n}\n\n/* line 165, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination .current {\n  padding: 0.1875rem 0.625rem;\n  background: #1779ba;\n  color: #fefefe;\n  cursor: default;\n}\n\n/* line 169, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination .disabled {\n  padding: 0.1875rem 0.625rem;\n  color: #777777;\n  cursor: not-allowed;\n}\n\n/* line 146, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination .disabled:hover {\n  background: transparent;\n}\n\n/* line 173, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination .ellipsis::after {\n  padding: 0.1875rem 0.625rem;\n  content: '\\2026';\n  color: #000;\n}\n\n/* line 179, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination-previous a::before,\n.pagination-previous.disabled::before {\n  display: inline-block;\n  margin-right: 0.5rem;\n  content: '\\00ab';\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_pagination.scss */\n\n.pagination-next a::after,\n.pagination-next.disabled::after {\n  display: inline-block;\n  margin-left: 0.5rem;\n  content: '\\00bb';\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.has-tip {\n  position: relative;\n  display: inline-block;\n  border-bottom: dotted 1px #333333;\n  font-weight: bold;\n  cursor: help;\n}\n\n/* line 157, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip {\n  position: absolute;\n  top: calc(100% + 0.6495rem);\n  z-index: 1200;\n  max-width: 10rem;\n  padding: 0.75rem;\n  border-radius: 0;\n  background-color: #000;\n  font-size: 80%;\n  color: #fefefe;\n}\n\n/* line 75, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip::before {\n  position: absolute;\n}\n\n/* line 80, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.bottom::before {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 0.75rem;\n  content: '';\n  border-top-width: 0;\n  border-bottom-style: solid;\n  border-color: transparent transparent #000;\n  bottom: 100%;\n}\n\n/* line 85, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.bottom.align-center::before {\n  left: 50%;\n  transform: translateX(-50%);\n}\n\n/* line 92, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.top::before {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 0.75rem;\n  content: '';\n  border-bottom-width: 0;\n  border-top-style: solid;\n  border-color: #000 transparent transparent;\n  top: 100%;\n  bottom: auto;\n}\n\n/* line 98, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.top.align-center::before {\n  left: 50%;\n  transform: translateX(-50%);\n}\n\n/* line 105, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.left::before {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 0.75rem;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #000;\n  left: 100%;\n}\n\n/* line 110, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.left.align-center::before {\n  bottom: auto;\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n/* line 118, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.right::before {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 0.75rem;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #000 transparent transparent;\n  right: 100%;\n  left: auto;\n}\n\n/* line 124, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.right.align-center::before {\n  bottom: auto;\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n/* line 131, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.align-top::before {\n  bottom: auto;\n  top: 10%;\n}\n\n/* line 136, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.align-bottom::before {\n  bottom: 10%;\n  top: auto;\n}\n\n/* line 141, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.align-left::before {\n  left: 10%;\n  right: auto;\n}\n\n/* line 146, node_modules/foundation-sites/scss/components/_tooltip.scss */\n\n.tooltip.align-right::before {\n  left: auto;\n  right: 10%;\n}\n\n/* line 141, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion {\n  margin-left: 0;\n  background: #fefefe;\n  list-style-type: none;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion[disabled] .accordion-title {\n  cursor: not-allowed;\n}\n\n/* line 66, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion-item:first-child > :first-child {\n  border-radius: 0 0 0 0;\n}\n\n/* line 70, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion-item:last-child > :last-child {\n  border-radius: 0 0 0 0;\n}\n\n/* line 149, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion-title {\n  position: relative;\n  display: block;\n  padding: 1.25rem 1rem;\n  border: 1px solid #eeeeee;\n  border-bottom: 0;\n  font-size: 0.75rem;\n  line-height: 1;\n  color: #1779ba;\n}\n\n/* line 94, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n:last-child:not(.is-active) > .accordion-title {\n  border-bottom: 1px solid #eeeeee;\n  border-radius: 0 0 0 0;\n}\n\n/* line 99, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion-title:hover,\n.accordion-title:focus {\n  background-color: #eeeeee;\n}\n\n/* line 105, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion-title::before {\n  position: absolute;\n  top: 50%;\n  right: 1rem;\n  margin-top: -0.5rem;\n  content: '+';\n}\n\n/* line 113, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.is-active > .accordion-title::before {\n  content: '\\2013';\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n.accordion-content {\n  display: none;\n  padding: 1rem;\n  border: 1px solid #eeeeee;\n  border-bottom: 0;\n  background-color: #fefefe;\n  color: #000;\n}\n\n/* line 135, node_modules/foundation-sites/scss/components/_accordion.scss */\n\n:last-child > .accordion-content:last-child {\n  border-bottom: 1px solid #eeeeee;\n}\n\n/* line 107, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n.media-object {\n  display: flex;\n  margin-bottom: 1rem;\n  flex-wrap: nowrap;\n}\n\n/* line 30, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n.media-object img {\n  max-width: none;\n}\n\n@media screen and (max-width: 39.99875em) {\n  /* line 35, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n  .media-object.stack-for-small {\n    flex-wrap: wrap;\n  }\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n.media-object-section {\n  flex: 0 1 auto;\n}\n\n/* line 54, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n.media-object-section:first-child {\n  padding-right: 1rem;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n.media-object-section:last-child:not(:nth-child(2)) {\n  padding-left: 1rem;\n}\n\n/* line 62, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n.media-object-section > :last-child {\n  margin-bottom: 0;\n}\n\n@media screen and (max-width: 39.99875em) {\n  /* line 66, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n  .stack-for-small .media-object-section {\n    padding: 0;\n    padding-bottom: 1rem;\n    flex-basis: 100%;\n    max-width: 100%;\n  }\n\n  /* line 101, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n  .stack-for-small .media-object-section img {\n    width: 100%;\n  }\n}\n\n/* line 73, node_modules/foundation-sites/scss/components/_media-object.scss */\n\n.media-object-section.main-section {\n  flex: 1 1 0px;\n}\n\n/* line 156, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit {\n  position: relative;\n}\n\n/* line 160, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-container {\n  position: relative;\n  height: 0;\n  margin: 0;\n  list-style: none;\n  overflow: hidden;\n}\n\n/* line 164, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-slide {\n  width: 100%;\n  position: absolute;\n}\n\n/* line 73, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-slide.no-motionui.is-active {\n  top: 0;\n  left: 0;\n}\n\n/* line 168, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-figure {\n  margin: 0;\n}\n\n/* line 172, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-image {\n  width: 100%;\n  max-width: 100%;\n  margin: 0;\n}\n\n/* line 176, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-caption {\n  position: absolute;\n  bottom: 0;\n  width: 100%;\n  margin-bottom: 0;\n  padding: 1rem;\n  background-color: rgba(0, 0, 0, 0.5);\n  color: #fefefe;\n}\n\n/* line 180, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-previous,\n.orbit-next {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  z-index: 10;\n  padding: 1rem;\n  color: #fefefe;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .orbit-previous,\n[data-whatinput='mouse'] .orbit-next {\n  outline: 0;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-previous:hover,\n.orbit-next:hover,\n.orbit-previous:active,\n.orbit-next:active,\n.orbit-previous:focus,\n.orbit-next:focus {\n  background-color: rgba(0, 0, 0, 0.5);\n}\n\n/* line 184, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-previous {\n  left: 0;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-next {\n  left: auto;\n  right: 0;\n}\n\n/* line 194, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-bullets {\n  position: relative;\n  margin-top: 0.8rem;\n  margin-bottom: 0.8rem;\n  text-align: center;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .orbit-bullets {\n  outline: 0;\n}\n\n/* line 137, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-bullets button {\n  width: 1.2rem;\n  height: 1.2rem;\n  margin: 0.1rem;\n  border-radius: 50%;\n  background-color: #777777;\n}\n\n/* line 145, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-bullets button:hover {\n  background-color: #333333;\n}\n\n/* line 149, node_modules/foundation-sites/scss/components/_orbit.scss */\n\n.orbit-bullets button.is-active {\n  background-color: #333333;\n}\n\n/* line 45, node_modules/foundation-sites/scss/components/_responsive-embed.scss */\n\n.responsive-embed,\n.flex-video {\n  position: relative;\n  height: 0;\n  margin-bottom: 1rem;\n  padding-bottom: 75%;\n  overflow: hidden;\n}\n\n/* line 32, node_modules/foundation-sites/scss/components/_responsive-embed.scss */\n\n.responsive-embed iframe,\n.responsive-embed object,\n.responsive-embed embed,\n.responsive-embed video,\n.flex-video iframe,\n.flex-video object,\n.flex-video embed,\n.flex-video video {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n}\n\n/* line 52, node_modules/foundation-sites/scss/components/_responsive-embed.scss */\n\n.responsive-embed.widescreen,\n.flex-video.widescreen {\n  padding-bottom: 56.25%;\n}\n\n/* line 144, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs {\n  margin: 0;\n  border: 1px solid #eeeeee;\n  background: #fefefe;\n  list-style-type: none;\n}\n\n/* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.tabs::before,\n.tabs::after {\n  display: table;\n  content: ' ';\n  flex-basis: 0;\n  order: 1;\n}\n\n/* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.tabs::after {\n  clear: both;\n}\n\n/* line 71, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs.vertical > li {\n  display: block;\n  float: none;\n  width: auto;\n}\n\n/* line 155, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs.simple > li > a {\n  padding: 0;\n}\n\n/* line 158, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs.simple > li > a:hover {\n  background: transparent;\n}\n\n/* line 165, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs.primary {\n  background: #1779ba;\n}\n\n/* line 168, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs.primary > li > a {\n  color: #fefefe;\n}\n\n/* line 171, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs.primary > li > a:hover,\n.tabs.primary > li > a:focus {\n  background: #1673b1;\n}\n\n/* line 178, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-title {\n  float: left;\n}\n\n/* line 89, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-title > a {\n  display: block;\n  padding: 1.25rem 1.5rem;\n  font-size: 0.75rem;\n  line-height: 1;\n  color: #1779ba;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .tabs-title > a {\n  outline: 0;\n}\n\n/* line 97, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-title > a:hover {\n  background: #fefefe;\n  color: #1468a0;\n}\n\n/* line 102, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-title > a:focus,\n.tabs-title > a[aria-selected='true'] {\n  background: #eeeeee;\n  color: #1779ba;\n}\n\n/* line 182, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-content {\n  border: 1px solid #eeeeee;\n  border-top: 0;\n  background: #fefefe;\n  color: #000;\n  transition: all 0.5s ease;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-content.vertical {\n  border: 1px solid #eeeeee;\n  border-left: 0;\n}\n\n/* line 190, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-panel {\n  display: none;\n  padding: 1rem;\n}\n\n/* line 138, node_modules/foundation-sites/scss/components/_tabs.scss */\n\n.tabs-panel.is-active {\n  display: block;\n}\n\n/* line 60, node_modules/foundation-sites/scss/components/_thumbnail.scss */\n\n.thumbnail {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: 1rem;\n  border: 4px solid #fefefe;\n  border-radius: 0;\n  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);\n  line-height: 0;\n}\n\n/* line 64, node_modules/foundation-sites/scss/components/_thumbnail.scss */\n\na.thumbnail {\n  transition: box-shadow 200ms ease-out;\n}\n\n/* line 49, node_modules/foundation-sites/scss/components/_thumbnail.scss */\n\na.thumbnail:hover,\na.thumbnail:focus {\n  box-shadow: 0 0 6px 1px rgba(23, 121, 186, 0.5);\n}\n\n/* line 54, node_modules/foundation-sites/scss/components/_thumbnail.scss */\n\na.thumbnail image {\n  box-shadow: none;\n}\n\n/* line 357, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu {\n  padding: 0;\n  margin: 0;\n  list-style: none;\n  position: relative;\n  display: flex;\n  flex-wrap: wrap;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .menu li {\n  outline: 0;\n}\n\n/* line 68, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu a,\n.menu .button {\n  line-height: 1;\n  text-decoration: none;\n  display: block;\n  padding: 0.7rem 1rem;\n}\n\n/* line 77, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu input,\n.menu select,\n.menu a,\n.menu button {\n  margin-bottom: 0;\n}\n\n/* line 84, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu input {\n  display: inline-block;\n}\n\n/* line 361, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu,\n.menu.horizontal {\n  flex-wrap: wrap;\n  flex-direction: row;\n}\n\n/* line 366, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.vertical {\n  flex-wrap: nowrap;\n  flex-direction: column;\n}\n\n/* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.expanded li {\n  flex: 1 1 0px;\n}\n\n/* line 376, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.simple {\n  align-items: center;\n}\n\n/* line 210, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.simple li + li {\n  margin-left: 1rem;\n}\n\n/* line 214, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.simple a {\n  padding: 0;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 382, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.medium-horizontal {\n    flex-wrap: wrap;\n    flex-direction: row;\n  }\n\n  /* line 386, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.medium-vertical {\n    flex-wrap: nowrap;\n    flex-direction: column;\n  }\n\n  /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.medium-expanded li {\n    flex: 1 1 0px;\n  }\n\n  /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.medium-simple li {\n    flex: 1 1 0px;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 382, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.large-horizontal {\n    flex-wrap: wrap;\n    flex-direction: row;\n  }\n\n  /* line 386, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.large-vertical {\n    flex-wrap: nowrap;\n    flex-direction: column;\n  }\n\n  /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.large-expanded li {\n    flex: 1 1 0px;\n  }\n\n  /* line 92, node_modules/foundation-sites/scss/components/_menu.scss */\n\n  .menu.large-simple li {\n    flex: 1 1 0px;\n  }\n}\n\n/* line 400, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.nested {\n  margin-right: 0;\n  margin-left: 1rem;\n}\n\n/* line 240, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icons a {\n  display: flex;\n}\n\n/* line 240, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-top a,\n.menu.icon-right a,\n.menu.icon-bottom a,\n.menu.icon-left a {\n  display: flex;\n}\n\n/* line 260, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-left li a {\n  flex-flow: row nowrap;\n}\n\n/* line 265, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-left li a img,\n.menu.icon-left li a i,\n.menu.icon-left li a svg {\n  margin-right: 0.25rem;\n}\n\n/* line 277, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-right li a {\n  flex-flow: row nowrap;\n}\n\n/* line 282, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-right li a img,\n.menu.icon-right li a i,\n.menu.icon-right li a svg {\n  margin-left: 0.25rem;\n}\n\n/* line 294, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-top li a {\n  flex-flow: column nowrap;\n}\n\n/* line 302, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-top li a img,\n.menu.icon-top li a i,\n.menu.icon-top li a svg {\n  align-self: stretch;\n  margin-bottom: 0.25rem;\n  text-align: center;\n}\n\n/* line 318, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-bottom li a {\n  flex-flow: column nowrap;\n}\n\n/* line 326, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.icon-bottom li a img,\n.menu.icon-bottom li a i,\n.menu.icon-bottom li a svg {\n  align-self: stretch;\n  margin-bottom: 0.25rem;\n  text-align: center;\n}\n\n/* line 440, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu .is-active > a {\n  background: #1779ba;\n  color: #fefefe;\n}\n\n/* line 446, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu .active > a {\n  background: #1779ba;\n  color: #fefefe;\n}\n\n/* line 452, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-left {\n  justify-content: flex-start;\n}\n\n/* line 119, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-right li {\n  display: flex;\n  justify-content: flex-end;\n}\n\n/* line 123, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-right li .submenu li {\n  justify-content: flex-start;\n}\n\n/* line 128, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-right.vertical li {\n  display: block;\n  text-align: right;\n}\n\n/* line 132, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-right.vertical li .submenu li {\n  text-align: right;\n}\n\n/* line 460, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-right .nested {\n  margin-right: 1rem;\n  margin-left: 0;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-center li {\n  display: flex;\n  justify-content: center;\n}\n\n/* line 157, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu.align-center li .submenu li {\n  justify-content: flex-start;\n}\n\n/* line 470, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu .menu-text {\n  padding: 0.7rem 1rem;\n  font-weight: bold;\n  line-height: 1;\n  color: inherit;\n}\n\n/* line 477, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu-centered > .menu {\n  justify-content: center;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu-centered > .menu li {\n  display: flex;\n  justify-content: center;\n}\n\n/* line 157, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.menu-centered > .menu li .submenu li {\n  justify-content: flex-start;\n}\n\n/* line 488, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.no-js [data-responsive-menu] ul {\n  display: none;\n}\n\n/* line 2, node_modules/foundation-sites/scss/components/_menu-icon.scss */\n\n.menu-icon {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 16px;\n  cursor: pointer;\n}\n\n/* line 114, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.menu-icon::after {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: block;\n  width: 100%;\n  height: 2px;\n  background: #fefefe;\n  box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;\n  content: '';\n}\n\n/* line 137, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.menu-icon:hover::after {\n  background: #777777;\n  box-shadow: 0 7px 0 #777777, 0 14px 0 #777777;\n}\n\n/* line 6, node_modules/foundation-sites/scss/components/_menu-icon.scss */\n\n.menu-icon.dark {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 16px;\n  cursor: pointer;\n}\n\n/* line 114, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.menu-icon.dark::after {\n  position: absolute;\n  top: 0;\n  left: 0;\n  display: block;\n  width: 100%;\n  height: 2px;\n  background: #000;\n  box-shadow: 0 7px 0 #000, 0 14px 0 #000;\n  content: '';\n}\n\n/* line 137, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.menu-icon.dark:hover::after {\n  background: #333333;\n  box-shadow: 0 7px 0 #333333, 0 14px 0 #333333;\n}\n\n/* line 83, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu li {\n  width: 100%;\n}\n\n/* line 92, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu a {\n  padding: 0.7rem 1rem;\n}\n\n/* line 99, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu .is-accordion-submenu a {\n  padding: 0.7rem 1rem;\n}\n\n/* line 103, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu .nested.is-accordion-submenu {\n  margin-right: 0;\n  margin-left: 1rem;\n}\n\n/* line 108, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu.align-right .nested.is-accordion-submenu {\n  margin-right: 1rem;\n  margin-left: 0;\n}\n\n/* line 54, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {\n  position: relative;\n}\n\n/* line 57, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu .is-accordion-submenu-parent:not(.has-submenu-toggle) > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-bottom-width: 0;\n  border-top-style: solid;\n  border-color: #1779ba transparent transparent;\n  position: absolute;\n  top: 50%;\n  margin-top: -3px;\n  right: 1rem;\n}\n\n/* line 66, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu.align-left .is-accordion-submenu-parent > a::after {\n  right: 1rem;\n  left: auto;\n}\n\n/* line 71, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu.align-right .is-accordion-submenu-parent > a::after {\n  right: auto;\n  left: 1rem;\n}\n\n/* line 116, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.accordion-menu .is-accordion-submenu-parent[aria-expanded='true'] > a::after {\n  transform: rotate(180deg);\n  transform-origin: 50% 50%;\n}\n\n/* line 130, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.is-accordion-submenu-parent {\n  position: relative;\n}\n\n/* line 134, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.has-submenu-toggle > a {\n  margin-right: 40px;\n}\n\n/* line 139, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.submenu-toggle {\n  position: absolute;\n  top: 0;\n  right: 0;\n  width: 40px;\n  height: 40px;\n  cursor: pointer;\n}\n\n/* line 156, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.submenu-toggle::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-bottom-width: 0;\n  border-top-style: solid;\n  border-color: #1779ba transparent transparent;\n  top: 0;\n  bottom: 0;\n  margin: auto;\n}\n\n/* line 166, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.submenu-toggle[aria-expanded='true']::after {\n  transform: scaleY(-1);\n  transform-origin: 50% 50%;\n}\n\n/* line 171, node_modules/foundation-sites/scss/components/_accordion-menu.scss */\n\n.submenu-toggle-text {\n  position: absolute !important;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n\n/* line 74, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.is-drilldown {\n  position: relative;\n  overflow: hidden;\n}\n\n/* line 78, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.is-drilldown li {\n  display: block;\n}\n\n/* line 82, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.is-drilldown.animate-height {\n  transition: height 0.5s;\n}\n\n/* line 89, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown a {\n  padding: 0.7rem 1rem;\n  background: #fefefe;\n}\n\n/* line 95, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .is-drilldown-submenu {\n  position: absolute;\n  top: 0;\n  left: 100%;\n  z-index: -1;\n  width: 100%;\n  background: #fefefe;\n  transition: transform 0.15s linear;\n}\n\n/* line 105, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .is-drilldown-submenu.is-active {\n  z-index: 1;\n  display: block;\n  transform: translateX(-100%);\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .is-drilldown-submenu.is-closing {\n  transform: translateX(100%);\n}\n\n/* line 116, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .is-drilldown-submenu a {\n  padding: 0.7rem 1rem;\n}\n\n/* line 121, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .nested.is-drilldown-submenu {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n/* line 125, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .drilldown-submenu-cover-previous {\n  min-height: 100%;\n}\n\n/* line 46, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .is-drilldown-submenu-parent > a {\n  position: relative;\n}\n\n/* line 49, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .is-drilldown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba;\n  position: absolute;\n  top: 50%;\n  margin-top: -6px;\n  right: 1rem;\n}\n\n/* line 58, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown.align-left .is-drilldown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba;\n  right: 1rem;\n  left: auto;\n}\n\n/* line 64, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown.align-right .is-drilldown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  right: auto;\n  left: 1rem;\n}\n\n/* line 132, node_modules/foundation-sites/scss/components/_drilldown.scss */\n\n.drilldown .js-drilldown-back > a::before {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  display: inline-block;\n  vertical-align: middle;\n  margin-right: 0.75rem;\n}\n\n/* line 85, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu > li.opens-left > .is-dropdown-submenu {\n  top: 100%;\n  right: 0;\n  left: auto;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu > li.opens-right > .is-dropdown-submenu {\n  top: 100%;\n  right: auto;\n  left: 0;\n}\n\n/* line 101, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu > li.is-dropdown-submenu-parent > a {\n  position: relative;\n  padding-right: 1.5rem;\n}\n\n/* line 106, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu > li.is-dropdown-submenu-parent > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-bottom-width: 0;\n  border-top-style: solid;\n  border-color: #1779ba transparent transparent;\n  right: 5px;\n  left: auto;\n  margin-top: -3px;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .dropdown.menu a {\n  outline: 0;\n}\n\n/* line 154, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu > li > a {\n  padding: 0.7rem 1rem;\n}\n\n/* line 160, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu > li.is-active > a {\n  background: transparent;\n  color: #1779ba;\n}\n\n/* line 165, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.no-js .dropdown.menu ul {\n  display: none;\n}\n\n/* line 169, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu .nested.is-dropdown-submenu {\n  margin-right: 0;\n  margin-left: 0;\n}\n\n/* line 116, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu.vertical > li .is-dropdown-submenu {\n  top: 0;\n}\n\n/* line 121, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {\n  top: 0;\n  right: 100%;\n  left: auto;\n}\n\n/* line 129, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {\n  right: auto;\n  left: 100%;\n}\n\n/* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu.vertical > li > a::after {\n  right: 14px;\n}\n\n/* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu.vertical > li.opens-left > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  right: auto;\n  left: 5px;\n}\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu.vertical > li.opens-right > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {\n    top: 100%;\n    right: 0;\n    left: auto;\n  }\n\n  /* line 93, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {\n    top: 100%;\n    right: auto;\n    left: 0;\n  }\n\n  /* line 101, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {\n    position: relative;\n    padding-right: 1.5rem;\n  }\n\n  /* line 106, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    right: 5px;\n    left: auto;\n    margin-top: -3px;\n  }\n\n  /* line 116, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {\n    top: 0;\n  }\n\n  /* line 121, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {\n    top: 0;\n    right: 100%;\n    left: auto;\n  }\n\n  /* line 129, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%;\n  }\n\n  /* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-vertical > li > a::after {\n    right: 14px;\n  }\n\n  /* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-vertical > li.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent;\n    right: auto;\n    left: 5px;\n  }\n\n  /* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.medium-vertical > li.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {\n    top: 100%;\n    right: 0;\n    left: auto;\n  }\n\n  /* line 93, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {\n    top: 100%;\n    right: auto;\n    left: 0;\n  }\n\n  /* line 101, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {\n    position: relative;\n    padding-right: 1.5rem;\n  }\n\n  /* line 106, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: #1779ba transparent transparent;\n    right: 5px;\n    left: auto;\n    margin-top: -3px;\n  }\n\n  /* line 116, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-vertical > li .is-dropdown-submenu {\n    top: 0;\n  }\n\n  /* line 121, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {\n    top: 0;\n    right: 100%;\n    left: auto;\n  }\n\n  /* line 129, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {\n    right: auto;\n    left: 100%;\n  }\n\n  /* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-vertical > li > a::after {\n    right: 14px;\n  }\n\n  /* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-vertical > li.opens-left > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent #1779ba transparent transparent;\n    right: auto;\n    left: 5px;\n  }\n\n  /* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n  .dropdown.menu.large-vertical > li.opens-right > a::after {\n    display: block;\n    width: 0;\n    height: 0;\n    border: inset 6px;\n    content: '';\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent #1779ba;\n  }\n}\n\n/* line 192, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown.menu.align-right .is-dropdown-submenu.first-sub {\n  top: 100%;\n  right: 0;\n  left: auto;\n}\n\n/* line 200, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-menu.vertical {\n  width: 100px;\n}\n\n/* line 203, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-menu.vertical.align-right {\n  float: right;\n}\n\n/* line 208, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu-parent {\n  position: relative;\n}\n\n/* line 211, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu-parent a::after {\n  position: absolute;\n  top: 50%;\n  right: 5px;\n  left: auto;\n  margin-top: -6px;\n}\n\n/* line 219, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {\n  top: 100%;\n  left: auto;\n}\n\n/* line 230, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {\n  right: 100%;\n  left: auto;\n}\n\n/* line 235, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {\n  right: auto;\n  left: 100%;\n}\n\n/* line 241, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu {\n  position: absolute;\n  top: 0;\n  left: 100%;\n  z-index: 1;\n  display: none;\n  min-width: 200px;\n  border: 1px solid #777777;\n  background: #fefefe;\n}\n\n/* line 253, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.dropdown .is-dropdown-submenu a {\n  padding: 0.7rem 1rem;\n}\n\n/* line 67, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu .is-dropdown-submenu-parent > a::after {\n  right: 14px;\n}\n\n/* line 71, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-left-width: 0;\n  border-right-style: solid;\n  border-color: transparent #1779ba transparent transparent;\n  right: auto;\n  left: 5px;\n}\n\n/* line 77, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {\n  display: block;\n  width: 0;\n  height: 0;\n  border: inset 6px;\n  content: '';\n  border-right-width: 0;\n  border-left-style: solid;\n  border-color: transparent transparent transparent #1779ba;\n}\n\n/* line 264, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu .is-dropdown-submenu {\n  margin-top: -1px;\n}\n\n/* line 269, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu > li {\n  width: 100%;\n}\n\n/* line 275, node_modules/foundation-sites/scss/components/_dropdown-menu.scss */\n\n.is-dropdown-submenu.js-dropdown-active {\n  display: block;\n}\n\n/* line 92, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.is-off-canvas-open {\n  overflow: hidden;\n}\n\n/* line 97, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.js-off-canvas-overlay {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 11;\n  width: 100%;\n  height: 100%;\n  transition: opacity 0.5s ease, visibility 0.5s ease;\n  background: rgba(254, 254, 254, 0.25);\n  opacity: 0;\n  visibility: hidden;\n  overflow: hidden;\n}\n\n/* line 115, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.js-off-canvas-overlay.is-visible {\n  opacity: 1;\n  visibility: visible;\n}\n\n/* line 120, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.js-off-canvas-overlay.is-closable {\n  cursor: pointer;\n}\n\n/* line 124, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.js-off-canvas-overlay.is-overlay-absolute {\n  position: absolute;\n}\n\n/* line 128, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.js-off-canvas-overlay.is-overlay-fixed {\n  position: fixed;\n}\n\n/* line 442, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-wrapper {\n  position: relative;\n  overflow: hidden;\n}\n\n/* line 447, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas {\n  position: fixed;\n  z-index: 12;\n  transition: transform 0.5s ease;\n  backface-visibility: hidden;\n  background: #eeeeee;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .off-canvas {\n  outline: 0;\n}\n\n/* line 159, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas.is-transition-push {\n  z-index: 12;\n}\n\n/* line 169, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas.is-closed {\n  visibility: hidden;\n}\n\n/* line 174, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas.is-transition-overlap {\n  z-index: 13;\n}\n\n/* line 177, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas.is-transition-overlap.is-open {\n  box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);\n}\n\n/* line 183, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas.is-open {\n  transform: translate(0, 0);\n}\n\n/* line 458, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-absolute {\n  position: absolute;\n  z-index: 12;\n  transition: transform 0.5s ease;\n  backface-visibility: hidden;\n  background: #eeeeee;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .off-canvas-absolute {\n  outline: 0;\n}\n\n/* line 159, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-absolute.is-transition-push {\n  z-index: 12;\n}\n\n/* line 169, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-absolute.is-closed {\n  visibility: hidden;\n}\n\n/* line 174, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-absolute.is-transition-overlap {\n  z-index: 13;\n}\n\n/* line 177, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-absolute.is-transition-overlap.is-open {\n  box-shadow: 0 0 10px rgba(0, 0, 0, 0.7);\n}\n\n/* line 183, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-absolute.is-open {\n  transform: translate(0, 0);\n}\n\n/* line 463, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-left {\n  top: 0;\n  left: 0;\n  height: 100%;\n  overflow-y: auto;\n  width: 250px;\n  transform: translateX(-250px);\n}\n\n/* line 208, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-left {\n  transform: translateX(-250px);\n}\n\n/* line 215, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {\n  transform: translate(0, 0);\n}\n\n/* line 222, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content.is-open-left.has-transition-push {\n  transform: translateX(250px);\n}\n\n/* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-left.is-transition-push {\n  box-shadow: inset -13px 0 20px -13px rgba(0, 0, 0, 0.25);\n}\n\n/* line 464, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-right {\n  top: 0;\n  right: 0;\n  height: 100%;\n  overflow-y: auto;\n  width: 250px;\n  transform: translateX(250px);\n}\n\n/* line 245, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-right {\n  transform: translateX(250px);\n}\n\n/* line 252, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {\n  transform: translate(0, 0);\n}\n\n/* line 259, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content.is-open-right.has-transition-push {\n  transform: translateX(-250px);\n}\n\n/* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-right.is-transition-push {\n  box-shadow: inset 13px 0 20px -13px rgba(0, 0, 0, 0.25);\n}\n\n/* line 465, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-top {\n  top: 0;\n  left: 0;\n  width: 100%;\n  overflow-x: auto;\n  height: 250px;\n  transform: translateY(-250px);\n}\n\n/* line 282, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-top {\n  transform: translateY(-250px);\n}\n\n/* line 288, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {\n  transform: translate(0, 0);\n}\n\n/* line 295, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content.is-open-top.has-transition-push {\n  transform: translateY(250px);\n}\n\n/* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-top.is-transition-push {\n  box-shadow: inset 0 -13px 20px -13px rgba(0, 0, 0, 0.25);\n}\n\n/* line 466, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-bottom {\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  overflow-x: auto;\n  height: 250px;\n  transform: translateY(250px);\n}\n\n/* line 318, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-bottom {\n  transform: translateY(250px);\n}\n\n/* line 324, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {\n  transform: translate(0, 0);\n}\n\n/* line 331, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content.is-open-bottom.has-transition-push {\n  transform: translateY(-250px);\n}\n\n/* line 344, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.position-bottom.is-transition-push {\n  box-shadow: inset 0 13px 20px -13px rgba(0, 0, 0, 0.25);\n}\n\n/* line 468, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content {\n  transform: none;\n  transition: transform 0.5s ease;\n  backface-visibility: hidden;\n}\n\n/* line 369, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content.has-transition-push {\n  transform: translate(0, 0);\n}\n\n/* line 374, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n.off-canvas-content .off-canvas.is-open {\n  transform: translate(0, 0);\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 476, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-left.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-left.reveal-for-medium .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-left.reveal-for-medium {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-left {\n    margin-left: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-left.reveal-for-medium ~ .off-canvas-content {\n    margin-left: 250px;\n  }\n\n  /* line 480, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-right.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-right.reveal-for-medium .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-right.reveal-for-medium {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-right {\n    margin-right: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-right.reveal-for-medium ~ .off-canvas-content {\n    margin-right: 250px;\n  }\n\n  /* line 484, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-top.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-top.reveal-for-medium .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-top.reveal-for-medium {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-top {\n    margin-top: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-top.reveal-for-medium ~ .off-canvas-content {\n    margin-top: 250px;\n  }\n\n  /* line 488, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-bottom.reveal-for-medium {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-bottom.reveal-for-medium .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-bottom.reveal-for-medium {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-bottom {\n    margin-bottom: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-bottom.reveal-for-medium ~ .off-canvas-content {\n    margin-bottom: 250px;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 476, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-left.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-left.reveal-for-large .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-left.reveal-for-large {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-left {\n    margin-left: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-left.reveal-for-large ~ .off-canvas-content {\n    margin-left: 250px;\n  }\n\n  /* line 480, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-right.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-right.reveal-for-large .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-right.reveal-for-large {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-right {\n    margin-right: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-right.reveal-for-large ~ .off-canvas-content {\n    margin-right: 250px;\n  }\n\n  /* line 484, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-top.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-top.reveal-for-large .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-top.reveal-for-large {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-top {\n    margin-top: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-top.reveal-for-large ~ .off-canvas-content {\n    margin-top: 250px;\n  }\n\n  /* line 488, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-bottom.reveal-for-large {\n    transform: none;\n    z-index: 12;\n    transition: none;\n    visibility: visible;\n  }\n\n  /* line 395, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-bottom.reveal-for-large .close-button {\n    display: none;\n  }\n\n  /* line 400, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content .position-bottom.reveal-for-large {\n    transform: none;\n  }\n\n  /* line 404, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas-content.has-reveal-bottom {\n    margin-bottom: 250px;\n  }\n\n  /* line 409, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .position-bottom.reveal-for-large ~ .off-canvas-content {\n    margin-bottom: 250px;\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 499, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas.in-canvas-for-medium {\n    visibility: visible;\n    height: auto;\n    position: static;\n    background: none;\n    width: auto;\n    overflow: visible;\n    transition: none;\n  }\n\n  /* line 425, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas.in-canvas-for-medium.position-left,\n  .off-canvas.in-canvas-for-medium.position-right,\n  .off-canvas.in-canvas-for-medium.position-top,\n  .off-canvas.in-canvas-for-medium.position-bottom {\n    box-shadow: none;\n    transform: none;\n  }\n\n  /* line 433, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas.in-canvas-for-medium .close-button {\n    display: none;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 499, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas.in-canvas-for-large {\n    visibility: visible;\n    height: auto;\n    position: static;\n    background: none;\n    width: auto;\n    overflow: visible;\n    transition: none;\n  }\n\n  /* line 425, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas.in-canvas-for-large.position-left,\n  .off-canvas.in-canvas-for-large.position-right,\n  .off-canvas.in-canvas-for-large.position-top,\n  .off-canvas.in-canvas-for-large.position-bottom {\n    box-shadow: none;\n    transform: none;\n  }\n\n  /* line 433, node_modules/foundation-sites/scss/components/_off-canvas.scss */\n\n  .off-canvas.in-canvas-for-large .close-button {\n    display: none;\n  }\n}\n\n/* line 133, node_modules/foundation-sites/scss/components/_reveal.scss */\n\nhtml.is-reveal-open {\n  position: fixed;\n  width: 100%;\n  overflow-y: hidden;\n}\n\n/* line 138, node_modules/foundation-sites/scss/components/_reveal.scss */\n\nhtml.is-reveal-open.zf-has-scroll {\n  overflow-y: scroll;\n}\n\n/* line 142, node_modules/foundation-sites/scss/components/_reveal.scss */\n\nhtml.is-reveal-open body {\n  overflow-y: hidden;\n}\n\n/* line 148, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n.reveal-overlay {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1005;\n  display: none;\n  background-color: rgba(0, 0, 0, 0.45);\n  overflow-y: auto;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n.reveal {\n  z-index: 1006;\n  backface-visibility: hidden;\n  display: none;\n  padding: 1rem;\n  border: 1px solid #777777;\n  border-radius: 0;\n  background-color: #fefefe;\n  position: relative;\n  top: 100px;\n  margin-right: auto;\n  margin-left: auto;\n  overflow-y: auto;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .reveal {\n  outline: 0;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n  .reveal {\n    min-height: 0;\n  }\n}\n\n/* line 88, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n.reveal .column {\n  min-width: 0;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n.reveal > :last-child {\n  margin-bottom: 0;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n  .reveal {\n    width: 600px;\n    max-width: 75rem;\n  }\n}\n\n/* line 163, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n.reveal.collapse {\n  padding: 0;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 168, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n  .reveal.tiny {\n    width: 30%;\n    max-width: 75rem;\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 169, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n  .reveal.small {\n    width: 50%;\n    max-width: 75rem;\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 170, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n  .reveal.large {\n    width: 90%;\n    max-width: 75rem;\n  }\n}\n\n/* line 173, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n.reveal.full {\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  max-width: none;\n  height: 100%;\n  min-height: 100%;\n  margin-left: 0;\n  border: 0;\n  border-radius: 0;\n}\n\n@media screen and (max-width: 39.99875em) {\n  /* line 153, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n  .reveal {\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    min-height: 100%;\n    margin-left: 0;\n    border: 0;\n    border-radius: 0;\n  }\n}\n\n/* line 181, node_modules/foundation-sites/scss/components/_reveal.scss */\n\n.reveal.without-overlay {\n  position: fixed;\n}\n\n/* line 6, node_modules/foundation-sites/scss/components/_sticky.scss */\n\n.sticky-container {\n  position: relative;\n}\n\n/* line 10, node_modules/foundation-sites/scss/components/_sticky.scss */\n\n.sticky {\n  position: relative;\n  z-index: 0;\n  transform: translate3d(0, 0, 0);\n}\n\n/* line 16, node_modules/foundation-sites/scss/components/_sticky.scss */\n\n.sticky.is-stuck {\n  position: fixed;\n  z-index: 5;\n  width: 100%;\n}\n\n/* line 21, node_modules/foundation-sites/scss/components/_sticky.scss */\n\n.sticky.is-stuck.is-at-top {\n  top: 0;\n}\n\n/* line 25, node_modules/foundation-sites/scss/components/_sticky.scss */\n\n.sticky.is-stuck.is-at-bottom {\n  bottom: 0;\n}\n\n/* line 30, node_modules/foundation-sites/scss/components/_sticky.scss */\n\n.sticky.is-anchored {\n  position: relative;\n  right: auto;\n  left: auto;\n}\n\n/* line 35, node_modules/foundation-sites/scss/components/_sticky.scss */\n\n.sticky.is-anchored.is-at-bottom {\n  bottom: 0;\n}\n\n/* line 38, node_modules/foundation-sites/scss/components/_title-bar.scss */\n\n.title-bar {\n  padding: 0.5rem;\n  background: #000;\n  color: #fefefe;\n  display: flex;\n  justify-content: flex-start;\n  align-items: center;\n}\n\n/* line 52, node_modules/foundation-sites/scss/components/_title-bar.scss */\n\n.title-bar .menu-icon {\n  margin-left: 0.25rem;\n  margin-right: 0.25rem;\n}\n\n/* line 59, node_modules/foundation-sites/scss/components/_title-bar.scss */\n\n.title-bar-left,\n.title-bar-right {\n  flex: 1 1 0px;\n}\n\n/* line 64, node_modules/foundation-sites/scss/components/_title-bar.scss */\n\n.title-bar-right {\n  text-align: right;\n}\n\n/* line 79, node_modules/foundation-sites/scss/components/_title-bar.scss */\n\n.title-bar-title {\n  display: inline-block;\n  vertical-align: middle;\n  font-weight: bold;\n}\n\n/* line 122, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar {\n  display: flex;\n  flex-wrap: nowrap;\n  justify-content: space-between;\n  align-items: center;\n  padding: 0.5rem;\n  flex-wrap: wrap;\n}\n\n/* line 47, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar,\n.top-bar ul {\n  background-color: #eeeeee;\n}\n\n/* line 60, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar input {\n  max-width: 200px;\n  margin-right: 1rem;\n}\n\n/* line 66, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar .input-group-field,\n.top-bar .search-form .search-field,\n.search-form .top-bar .search-field {\n  width: 100%;\n  margin-right: 0;\n}\n\n/* line 71, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar input.button {\n  width: auto;\n}\n\n/* line 82, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar .top-bar-left,\n.top-bar .top-bar-right {\n  flex: 0 0 100%;\n  max-width: 100%;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 122, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n  .top-bar {\n    flex-wrap: nowrap;\n  }\n\n  /* line 102, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n  .top-bar .top-bar-left {\n    flex: 1 1 auto;\n    margin-right: auto;\n  }\n\n  /* line 107, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n  .top-bar .top-bar-right {\n    flex: 0 1 auto;\n    margin-left: auto;\n  }\n}\n\n@media screen and (max-width: 63.99875em) {\n  /* line 135, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n  .top-bar.stacked-for-medium {\n    flex-wrap: wrap;\n  }\n\n  /* line 82, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n  .top-bar.stacked-for-medium .top-bar-left,\n  .top-bar.stacked-for-medium .top-bar-right {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n}\n\n@media screen and (max-width: 74.99875em) {\n  /* line 135, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n  .top-bar.stacked-for-large {\n    flex-wrap: wrap;\n  }\n\n  /* line 82, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n  .top-bar.stacked-for-large .top-bar-left,\n  .top-bar.stacked-for-large .top-bar-right {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n}\n\n/* line 146, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar-title {\n  flex: 0 0 auto;\n  margin: 0.5rem 1rem 0.5rem 0;\n}\n\n/* line 151, node_modules/foundation-sites/scss/components/_top-bar.scss */\n\n.top-bar-left,\n.top-bar-right {\n  flex: 0 0 auto;\n}\n\n/* line 10, node_modules/foundation-sites/scss/components/_float.scss */\n\n.float-left {\n  float: left !important;\n}\n\n/* line 14, node_modules/foundation-sites/scss/components/_float.scss */\n\n.float-right {\n  float: right !important;\n}\n\n/* line 18, node_modules/foundation-sites/scss/components/_float.scss */\n\n.float-center {\n  display: block;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n/* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.clearfix::before,\n.clearfix::after {\n  display: table;\n  content: ' ';\n  flex-basis: 0;\n  order: 1;\n}\n\n/* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.clearfix::after {\n  clear: both;\n}\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-left {\n  justify-content: flex-start;\n}\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-right {\n  justify-content: flex-end;\n}\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-center {\n  justify-content: center;\n}\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-justify {\n  justify-content: space-between;\n}\n\n/* line 75, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-spaced {\n  justify-content: space-around;\n}\n\n/* line 84, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-left.vertical.menu > li > a {\n  justify-content: flex-start;\n}\n\n/* line 84, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-right.vertical.menu > li > a {\n  justify-content: flex-end;\n}\n\n/* line 84, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-center.vertical.menu > li > a {\n  justify-content: center;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-top {\n  align-items: flex-start;\n}\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-self-top {\n  align-self: flex-start;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-bottom {\n  align-items: flex-end;\n}\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-self-bottom {\n  align-self: flex-end;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-middle {\n  align-items: center;\n}\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-self-middle {\n  align-self: center;\n}\n\n/* line 93, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-stretch {\n  align-items: stretch;\n}\n\n/* line 97, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-self-stretch {\n  align-self: stretch;\n}\n\n/* line 103, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.align-center-middle {\n  justify-content: center;\n  align-items: center;\n  align-content: center;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.small-order-1 {\n  order: 1;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.small-order-2 {\n  order: 2;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.small-order-3 {\n  order: 3;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.small-order-4 {\n  order: 4;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.small-order-5 {\n  order: 5;\n}\n\n/* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.small-order-6 {\n  order: 6;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-order-1 {\n    order: 1;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-order-2 {\n    order: 2;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-order-3 {\n    order: 3;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-order-4 {\n    order: 4;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-order-5 {\n    order: 5;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-order-6 {\n    order: 6;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-order-1 {\n    order: 1;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-order-2 {\n    order: 2;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-order-3 {\n    order: 3;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-order-4 {\n    order: 4;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-order-5 {\n    order: 5;\n  }\n\n  /* line 111, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-order-6 {\n    order: 6;\n  }\n}\n\n/* line 18, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-container {\n  display: flex;\n}\n\n/* line 22, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-child-auto {\n  flex: 1 1 auto;\n}\n\n/* line 26, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-child-grow {\n  flex: 1 0 auto;\n}\n\n/* line 30, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-child-shrink {\n  flex: 0 1 auto;\n}\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-dir-row {\n  flex-direction: row;\n}\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-dir-row-reverse {\n  flex-direction: row-reverse;\n}\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-dir-column {\n  flex-direction: column;\n}\n\n/* line 35, node_modules/foundation-sites/scss/components/_flex.scss */\n\n.flex-dir-column-reverse {\n  flex-direction: column-reverse;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 45, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-container {\n    display: flex;\n  }\n\n  /* line 49, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-child-auto {\n    flex: 1 1 auto;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-child-grow {\n    flex: 1 0 auto;\n  }\n\n  /* line 57, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-child-shrink {\n    flex: 0 1 auto;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-dir-row {\n    flex-direction: row;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-dir-row-reverse {\n    flex-direction: row-reverse;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-dir-column {\n    flex-direction: column;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .medium-flex-dir-column-reverse {\n    flex-direction: column-reverse;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 45, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-container {\n    display: flex;\n  }\n\n  /* line 49, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-child-auto {\n    flex: 1 1 auto;\n  }\n\n  /* line 53, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-child-grow {\n    flex: 1 0 auto;\n  }\n\n  /* line 57, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-child-shrink {\n    flex: 0 1 auto;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-dir-row {\n    flex-direction: row;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-dir-row-reverse {\n    flex-direction: row-reverse;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-dir-column {\n    flex-direction: column;\n  }\n\n  /* line 62, node_modules/foundation-sites/scss/components/_flex.scss */\n\n  .large-flex-dir-column-reverse {\n    flex-direction: column-reverse;\n  }\n}\n\n/* line 65, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n.hide {\n  display: none !important;\n}\n\n/* line 69, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n.invisible {\n  visibility: hidden;\n}\n\n@media screen and (max-width: 39.99875em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .hide-for-small-only {\n    display: none !important;\n  }\n}\n\n@media screen and (max-width: 0em), screen and (min-width: 40em) {\n  /* line 89, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .show-for-small-only {\n    display: none !important;\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 76, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .hide-for-medium {\n    display: none !important;\n  }\n}\n\n@media screen and (max-width: 39.99875em) {\n  /* line 80, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .show-for-medium {\n    display: none !important;\n  }\n}\n\n@media screen and (min-width: 40em) and (max-width: 63.99875em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .hide-for-medium-only {\n    display: none !important;\n  }\n}\n\n@media screen and (max-width: 39.99875em), screen and (min-width: 64em) {\n  /* line 89, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .show-for-medium-only {\n    display: none !important;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 76, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .hide-for-large {\n    display: none !important;\n  }\n}\n\n@media screen and (max-width: 63.99875em) {\n  /* line 80, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .show-for-large {\n    display: none !important;\n  }\n}\n\n@media screen and (min-width: 64em) and (max-width: 74.99875em) {\n  /* line 85, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .hide-for-large-only {\n    display: none !important;\n  }\n}\n\n@media screen and (max-width: 63.99875em), screen and (min-width: 75em) {\n  /* line 89, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .show-for-large-only {\n    display: none !important;\n  }\n}\n\n/* line 96, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n.show-for-sr,\n.screen-reader-text,\n.show-on-focus,\n.screen-reader-text {\n  position: absolute !important;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n\n/* line 103, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n.show-on-focus:active,\n.screen-reader-text:active,\n.show-on-focus:focus,\n.screen-reader-text:focus {\n  position: static !important;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n  white-space: normal;\n}\n\n/* line 110, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n.show-for-landscape,\n.hide-for-portrait {\n  display: block !important;\n}\n\n@media screen and (orientation: landscape) {\n  /* line 110, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .show-for-landscape,\n  .hide-for-portrait {\n    display: block !important;\n  }\n}\n\n@media screen and (orientation: portrait) {\n  /* line 110, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .show-for-landscape,\n  .hide-for-portrait {\n    display: none !important;\n  }\n}\n\n/* line 123, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n.hide-for-landscape,\n.show-for-portrait {\n  display: none !important;\n}\n\n@media screen and (orientation: landscape) {\n  /* line 123, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .hide-for-landscape,\n  .show-for-portrait {\n    display: none !important;\n  }\n}\n\n@media screen and (orientation: portrait) {\n  /* line 123, node_modules/foundation-sites/scss/components/_visibility.scss */\n\n  .hide-for-landscape,\n  .show-for-portrait {\n    display: block !important;\n  }\n}\n\n/* stylelint-disable */\n\n/* stylelint-enable */\n\n/**\n * Import npm dependencies\n *\n * Prefix your imports with `~` to grab from node_modules/\n * @see https://github.com/webpack-contrib/sass-loader#imports\n */\n\n/** Import base */\n\n/**\n * Rc Base Foundation by RedCastor\n * Version 1.5.11\n *\n * Licensed under MIT Open Source\n */\n\n/** Import Debug */\n\n/*\n# Print Map\n\nUsage:\n\n  // option 1\n  .debug {\n    @include print-map($map);\n  }\n\n  // option 2\n  @include print-map($map, \"body\");\n\n*/\n\n/** Import components */\n\n/** Get base style font weight */\n\n/** Mixin style property */\n\n/** Mixin style properties */\n\n/** Mixin style font weight */\n\n/** Mixin style classes */\n\n/* Responsive no javascript */\n\n/* line 8, src/styles/components/_visibility.scss */\n\n.no-js .nojs-for-small {\n  display: none !important;\n}\n\n@media screen and (max-width: 39.99875em) {\n  /* line 12, src/styles/components/_visibility.scss */\n\n  .no-js .nojs-for-small-only {\n    display: none !important;\n  }\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 8, src/styles/components/_visibility.scss */\n\n  .no-js .nojs-for-medium {\n    display: none !important;\n  }\n}\n\n@media screen and (min-width: 40em) and (max-width: 63.99875em) {\n  /* line 12, src/styles/components/_visibility.scss */\n\n  .no-js .nojs-for-medium-only {\n    display: none !important;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 8, src/styles/components/_visibility.scss */\n\n  .no-js .nojs-for-large {\n    display: none !important;\n  }\n}\n\n@media screen and (min-width: 64em) and (max-width: 74.99875em) {\n  /* line 12, src/styles/components/_visibility.scss */\n\n  .no-js .nojs-for-large-only {\n    display: none !important;\n  }\n}\n\n/* line 170, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.cf::before,\n.cf::after {\n  display: table;\n  content: ' ';\n  flex-basis: 0;\n  order: 1;\n}\n\n/* line 181, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n.cf::after {\n  clear: both;\n}\n\n/* line 11, src/styles/components/_classes.scss */\n\n.absolute-center {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n}\n\n/* line 16, src/styles/components/_classes.scss */\n\n.absolute-bottom {\n  position: absolute;\n  bottom: 0;\n}\n\n/* line 22, src/styles/components/_classes.scss */\n\n.absolute-top {\n  position: absolute;\n  top: 0;\n}\n\n/* line 28, src/styles/components/_classes.scss */\n\n.absolute-left {\n  position: absolute;\n  left: 0;\n}\n\n/* line 34, src/styles/components/_classes.scss */\n\n.absolute-right {\n  position: absolute;\n  right: 0;\n}\n\n/* line 40, src/styles/components/_classes.scss */\n\n.relative-container {\n  position: relative;\n}\n\n/* line 45, src/styles/components/_classes.scss */\n\n.horizontal-center {\n  position: absolute;\n  left: 50%;\n  transform: translateX(-50%);\n}\n\n@media screen and (max-width: 39.99875em) {\n  /* line 50, src/styles/components/_classes.scss */\n\n  .vertical-center-small-only {\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%);\n  }\n\n  /* line 54, src/styles/components/_classes.scss */\n\n  .horizontal-center-small-only {\n    position: absolute;\n    left: 50%;\n    transform: translateX(-50%);\n  }\n}\n\n/* line 60, src/styles/components/_classes.scss */\n\n.vertical-center {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 65, src/styles/components/_classes.scss */\n\n  .vertical-center-medium {\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%);\n  }\n\n  /* line 69, src/styles/components/_classes.scss */\n\n  .horizontal-center-medium {\n    position: absolute;\n    left: 50%;\n    transform: translateX(-50%);\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 75, src/styles/components/_classes.scss */\n\n  .vertical-center-large {\n    position: absolute;\n    top: 50%;\n    transform: translateY(-50%);\n  }\n\n  /* line 79, src/styles/components/_classes.scss */\n\n  .horizontal-center-large {\n    position: absolute;\n    left: 50%;\n    transform: translateX(-50%);\n  }\n}\n\n/* line 85, src/styles/components/_classes.scss */\n\n.fixed-top {\n  position: fixed !important;\n  top: 0rem !important;\n  z-index: 975;\n}\n\n/* line 90, src/styles/components/_classes.scss */\n\n.fixed-bottom {\n  position: fixed !important;\n  bottom: 0rem !important;\n  z-index: 975;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 96, src/styles/components/_classes.scss */\n\n  .fixed-top-medium {\n    position: fixed !important;\n    top: 0rem !important;\n    z-index: 975;\n  }\n\n  /* line 101, src/styles/components/_classes.scss */\n\n  .fixed-bottom-medium {\n    position: fixed !important;\n    bottom: 0rem !important;\n    z-index: 975;\n  }\n}\n\n/* line 111, src/styles/components/_classes.scss */\n\n.small-min-height-25 {\n  min-height: 25vh;\n}\n\n/* line 111, src/styles/components/_classes.scss */\n\n.small-min-height-50 {\n  min-height: 50vh;\n}\n\n/* line 111, src/styles/components/_classes.scss */\n\n.small-min-height-65 {\n  min-height: 65vh;\n}\n\n/* line 111, src/styles/components/_classes.scss */\n\n.small-min-height-75 {\n  min-height: 75vh;\n}\n\n/* line 111, src/styles/components/_classes.scss */\n\n.small-min-height-85 {\n  min-height: 85vh;\n}\n\n/* line 111, src/styles/components/_classes.scss */\n\n.small-min-height-100 {\n  min-height: 100vh;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 111, src/styles/components/_classes.scss */\n\n  .medium-min-height-25 {\n    min-height: 25vh;\n  }\n\n  /* line 111, src/styles/components/_classes.scss */\n\n  .medium-min-height-50 {\n    min-height: 50vh;\n  }\n\n  /* line 111, src/styles/components/_classes.scss */\n\n  .medium-min-height-65 {\n    min-height: 65vh;\n  }\n\n  /* line 111, src/styles/components/_classes.scss */\n\n  .medium-min-height-75 {\n    min-height: 75vh;\n  }\n\n  /* line 111, src/styles/components/_classes.scss */\n\n  .medium-min-height-85 {\n    min-height: 85vh;\n  }\n\n  /* line 111, src/styles/components/_classes.scss */\n\n  .medium-min-height-100 {\n    min-height: 100vh;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 111, src/styles/components/_classes.scss */\n\n  .large-min-height-25 {\n    min-height: 25vh;\n  }\n\n  /* line 111, src/styles/components/_classes.scss */\n\n  .large-min-height-50 {\n    min-height: 50vh;\n  }\n\n  /* line 111, src/styles/components/_classes.scss */\n\n  .large-min-height-65 {\n    min-height: 65vh;\n  }\n\n  /* line 111, src/styles/components/_classes.scss */\n\n  .large-min-height-75 {\n    min-height: 75vh;\n  }\n\n  /* line 111, src/styles/components/_classes.scss */\n\n  .large-min-height-85 {\n    min-height: 85vh;\n  }\n\n  /* line 111, src/styles/components/_classes.scss */\n\n  .large-min-height-100 {\n    min-height: 100vh;\n  }\n}\n\n/* line 118, src/styles/components/_classes.scss */\n\n.fit-center {\n  width: fit-content !important;\n  margin-left: auto !important;\n  margin-right: auto !important;\n}\n\n/* line 123, src/styles/components/_classes.scss */\n\n.no-margin {\n  margin-bottom: 0 !important;\n}\n\n/* line 128, src/styles/components/_classes.scss */\n\n.no-padding {\n  padding-bottom: 0 !important;\n}\n\n/* line 135, src/styles/components/_classes.scss */\n\nul.list-circle,\nol.list-circle {\n  list-style-type: circle;\n}\n\n/* line 139, src/styles/components/_classes.scss */\n\nul.list-disc,\nol.list-disc {\n  list-style-type: disc;\n}\n\n/* line 143, src/styles/components/_classes.scss */\n\nul.list-square,\nol.list-square {\n  list-style-type: square;\n}\n\n/* line 147, src/styles/components/_classes.scss */\n\nul.list-decimal,\nol.list-decimal {\n  list-style-type: decimal;\n}\n\n/* line 151, src/styles/components/_classes.scss */\n\nul.list-roman,\nol.list-roman {\n  list-style-type: upper-roman;\n}\n\n/* line 155, src/styles/components/_classes.scss */\n\nul.list-alpha,\nol.list-alpha {\n  list-style-type: upper-alpha;\n}\n\n/* line 160, src/styles/components/_classes.scss */\n\nul.list-inside,\nol.list-inside {\n  list-style-position: inside;\n}\n\n/* line 164, src/styles/components/_classes.scss */\n\nul.list-outside,\nol.list-outside {\n  list-style-position: outside;\n}\n\n/* line 169, src/styles/components/_classes.scss */\n\nul.list-default,\nol.list-default {\n  list-style: initial;\n}\n\n/* line 174, src/styles/components/_classes.scss */\n\nul.list-none,\nol.list-none {\n  list-style: none;\n}\n\n/* line 179, src/styles/components/_classes.scss */\n\n.text-align-middle {\n  vertical-align: middle;\n}\n\n/* line 183, src/styles/components/_classes.scss */\n\n.text-align-bottom {\n  vertical-align: bottom;\n}\n\n/* line 187, src/styles/components/_classes.scss */\n\n.text-align-top {\n  vertical-align: top;\n}\n\n@font-face {\n  font-family: \"rc-base-icons\";\n  src: url(\"./../fonts/rc-base-icons.woff\") format(\"woff\"), url(\"./../fonts/rc-base-icons.ttf\") format(\"truetype\"), url(\"./../fonts/rc-base-icons.svg\") format(\"svg\");\n  font-weight: normal;\n  font-style: normal;\n}\n\n/* line 3, src/styles/components/icons/_core.scss */\n\n[class^=\"fi-\"],\n[class*=\" fi-\"] {\n  display: inline-block;\n  font-family: \"rc-base-icons\";\n  speak: none;\n  font-style: normal;\n  font-weight: normal;\n  font-variant: normal;\n  text-transform: none;\n  line-height: 1;\n  /* Better Font Rendering =========== */\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  /* Support webicon size =========== */\n  width: 1em;\n  height: auto;\n  vertical-align: inherit;\n}\n\n/* line 26, src/styles/components/icons/_core.scss */\n\n[class^=\"fi-\"].primary,\n[class*=\" fi-\"].primary {\n  color: #1779ba;\n}\n\n/* line 26, src/styles/components/icons/_core.scss */\n\n[class^=\"fi-\"].secondary,\n[class*=\" fi-\"].secondary {\n  color: #767676;\n}\n\n/* line 26, src/styles/components/icons/_core.scss */\n\n[class^=\"fi-\"].success,\n[class*=\" fi-\"].success {\n  color: #18a733;\n}\n\n/* line 26, src/styles/components/icons/_core.scss */\n\n[class^=\"fi-\"].warning,\n[class*=\" fi-\"].warning {\n  color: #ffae00;\n}\n\n/* line 26, src/styles/components/icons/_core.scss */\n\n[class^=\"fi-\"].alert,\n[class*=\" fi-\"].alert {\n  color: #cc4b37;\n}\n\n/* HELPER CLASS\n * -------------------------- */\n\n/* FI based classes */\n\n/*! Modified from font-awesome helper CSS classes - PIXEDEN\n * ! Modified from PIXEDEN helper CSS classes - RC-BASE-ICON\n *  Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome\n *  License - http://fontawesome.io/license (CSS: MIT License)\n */\n\n/* makes the font 33% larger relative to the icon container */\n\n/* line 14, src/styles/components/icons/_helper.scss */\n\n.fi-lg {\n  font-size: 1.33em;\n  line-height: 0.75em;\n  vertical-align: -15%;\n}\n\n/* line 21, src/styles/components/icons/_helper.scss */\n\n.fi-2x {\n  font-size: 2em;\n}\n\n/* line 26, src/styles/components/icons/_helper.scss */\n\n.fi-3x {\n  font-size: 3em;\n}\n\n/* line 31, src/styles/components/icons/_helper.scss */\n\n.fi-4x {\n  font-size: 4em;\n}\n\n/* line 36, src/styles/components/icons/_helper.scss */\n\n.fi-5x {\n  font-size: 5em;\n}\n\n/* line 41, src/styles/components/icons/_helper.scss */\n\n.fi-fw {\n  width: 1.2857142857142858em;\n  text-align: center;\n}\n\n/* line 47, src/styles/components/icons/_helper.scss */\n\n.fi-ul {\n  padding-left: 0;\n  margin-left: 2.142857142857143em;\n  list-style-type: none;\n}\n\n/* line 53, src/styles/components/icons/_helper.scss */\n\n.fi-ul > li {\n  position: relative;\n}\n\n/* line 59, src/styles/components/icons/_helper.scss */\n\n.fi-li {\n  position: absolute;\n  left: -2.142857142857143em;\n  width: 2.142857142857143em;\n  top: 0.14285714285714285em;\n  text-align: center;\n}\n\n/* line 67, src/styles/components/icons/_helper.scss */\n\n.fi-li.fi-lg {\n  left: -1.8571428571428572em;\n}\n\n/* line 73, src/styles/components/icons/_helper.scss */\n\n.fi-border {\n  padding: 0.2em 0.25em 0.15em;\n  border: solid 0.08em #eaeaea;\n  border-radius: 0.1em;\n}\n\n/* line 80, src/styles/components/icons/_helper.scss */\n\n.pull-right {\n  float: right;\n}\n\n/* line 86, src/styles/components/icons/_helper.scss */\n\n.fi.pull-left {\n  float: left;\n  margin-right: 0.3em;\n  margin-left: 0.3em;\n}\n\n/* line 93, src/styles/components/icons/_helper.scss */\n\n.fi.webicon {\n  width: 1em;\n}\n\n/* line 98, src/styles/components/icons/_helper.scss */\n\n.fi-spin {\n  animation: spin 2s infinite linear;\n}\n\n/* line 103, src/styles/components/icons/_helper.scss */\n\n.fi-strong {\n  font-weight: bold;\n}\n\n@keyframes spin {\n  0% {\n    transform: rotate(0deg);\n  }\n\n  100% {\n    transform: rotate(359deg);\n  }\n}\n\n/* line 119, src/styles/components/icons/_helper.scss */\n\n.fi-rotate-90 {\n  /* stylelint-disable-next-line */\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n  transform: rotate(90deg);\n}\n\n/* line 125, src/styles/components/icons/_helper.scss */\n\n.fi-rotate-180 {\n  /* stylelint-disable-next-line */\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n  transform: rotate(180deg);\n}\n\n/* line 131, src/styles/components/icons/_helper.scss */\n\n.fi-rotate-270 {\n  /* stylelint-disable-next-line */\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n  transform: rotate(270deg);\n}\n\n/* line 137, src/styles/components/icons/_helper.scss */\n\n.fi-flip-horizontal {\n  /* stylelint-disable-next-line */\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n  transform: scale(-1, 1);\n}\n\n/* line 143, src/styles/components/icons/_helper.scss */\n\n.fi-flip-vertical {\n  /* stylelint-disable-next-line */\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n  transform: scale(1, -1);\n}\n\n/* line 149, src/styles/components/icons/_helper.scss */\n\n.fi-stack {\n  position: relative;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  line-height: 2em;\n  vertical-align: middle;\n}\n\n/* line 159, src/styles/components/icons/_helper.scss */\n\n.fi-stack-1x,\n.fi-stack-2x {\n  position: absolute;\n  left: 0;\n  width: 100%;\n  text-align: center;\n}\n\n/* line 168, src/styles/components/icons/_helper.scss */\n\n.fi-stack-1x {\n  line-height: inherit;\n}\n\n/* line 173, src/styles/components/icons/_helper.scss */\n\n.fi-stack-2x {\n  font-size: 2em;\n}\n\n/* line 178, src/styles/components/icons/_helper.scss */\n\n.fi-inverse {\n  color: #fff;\n}\n\n/* Custom classes / mods - PIXEDEN */\n\n/* line 184, src/styles/components/icons/_helper.scss */\n\n.fi-va {\n  vertical-align: middle;\n}\n\n/* stylelint-disable */\n\n/* line 3, src/styles/components/icons/_icons.scss */\n\n.fi-add-user:before {\n  content: \"\";\n}\n\n/* line 8, src/styles/components/icons/_icons.scss */\n\n.fi-airplay:before {\n  content: \"\";\n}\n\n/* line 13, src/styles/components/icons/_icons.scss */\n\n.fi-alarm:before {\n  content: \"\";\n}\n\n/* line 18, src/styles/components/icons/_icons.scss */\n\n.fi-album:before {\n  content: \"\";\n}\n\n/* line 23, src/styles/components/icons/_icons.scss */\n\n.fi-albums:before {\n  content: \"\";\n}\n\n/* line 28, src/styles/components/icons/_icons.scss */\n\n.fi-amazon:before {\n  content: \"\";\n}\n\n/* line 33, src/styles/components/icons/_icons.scss */\n\n.fi-anchor:before {\n  content: \"\";\n}\n\n/* line 38, src/styles/components/icons/_icons.scss */\n\n.fi-angle-down:before {\n  content: \"\";\n}\n\n/* line 43, src/styles/components/icons/_icons.scss */\n\n.fi-angle-down-circle:before {\n  content: \"\";\n}\n\n/* line 48, src/styles/components/icons/_icons.scss */\n\n.fi-angle-left:before {\n  content: \"\";\n}\n\n/* line 53, src/styles/components/icons/_icons.scss */\n\n.fi-angle-left-circle:before {\n  content: \"\";\n}\n\n/* line 58, src/styles/components/icons/_icons.scss */\n\n.fi-angle-right:before {\n  content: \"\";\n}\n\n/* line 63, src/styles/components/icons/_icons.scss */\n\n.fi-angle-right-circle:before {\n  content: \"\";\n}\n\n/* line 68, src/styles/components/icons/_icons.scss */\n\n.fi-angle-up:before {\n  content: \"\";\n}\n\n/* line 73, src/styles/components/icons/_icons.scss */\n\n.fi-angle-up-circle:before {\n  content: \"\";\n}\n\n/* line 78, src/styles/components/icons/_icons.scss */\n\n.fi-arc:before {\n  content: \"\";\n}\n\n/* line 83, src/styles/components/icons/_icons.scss */\n\n.fi-attention:before {\n  content: \"\";\n}\n\n/* line 88, src/styles/components/icons/_icons.scss */\n\n.fi-back:before {\n  content: \"\";\n}\n\n/* line 93, src/styles/components/icons/_icons.scss */\n\n.fi-back-2:before {\n  content: \"\";\n}\n\n/* line 98, src/styles/components/icons/_icons.scss */\n\n.fi-ball:before {\n  content: \"\";\n}\n\n/* line 103, src/styles/components/icons/_icons.scss */\n\n.fi-ban:before {\n  content: \"\";\n}\n\n/* line 108, src/styles/components/icons/_icons.scss */\n\n.fi-bandaid:before {\n  content: \"\";\n}\n\n/* line 113, src/styles/components/icons/_icons.scss */\n\n.fi-battery:before {\n  content: \"\";\n}\n\n/* line 118, src/styles/components/icons/_icons.scss */\n\n.fi-bell:before {\n  content: \"\";\n}\n\n/* line 123, src/styles/components/icons/_icons.scss */\n\n.fi-bicycle:before {\n  content: \"\";\n}\n\n/* line 128, src/styles/components/icons/_icons.scss */\n\n.fi-bluetooth:before {\n  content: \"\";\n}\n\n/* line 133, src/styles/components/icons/_icons.scss */\n\n.fi-bookmarks:before {\n  content: \"\";\n}\n\n/* line 138, src/styles/components/icons/_icons.scss */\n\n.fi-bottom-arrow:before {\n  content: \"\";\n}\n\n/* line 143, src/styles/components/icons/_icons.scss */\n\n.fi-box1:before {\n  content: \"\";\n}\n\n/* line 148, src/styles/components/icons/_icons.scss */\n\n.fi-box2:before {\n  content: \"\";\n}\n\n/* line 153, src/styles/components/icons/_icons.scss */\n\n.fi-browser:before {\n  content: \"\";\n}\n\n/* line 158, src/styles/components/icons/_icons.scss */\n\n.fi-calculator:before {\n  content: \"\";\n}\n\n/* line 163, src/styles/components/icons/_icons.scss */\n\n.fi-call:before {\n  content: \"\";\n}\n\n/* line 168, src/styles/components/icons/_icons.scss */\n\n.fi-camera:before {\n  content: \"\";\n}\n\n/* line 173, src/styles/components/icons/_icons.scss */\n\n.fi-car:before {\n  content: \"\";\n}\n\n/* line 178, src/styles/components/icons/_icons.scss */\n\n.fi-cart:before {\n  content: \"\";\n}\n\n/* line 183, src/styles/components/icons/_icons.scss */\n\n.fi-cart-add:before {\n  content: \"\";\n}\n\n/* line 188, src/styles/components/icons/_icons.scss */\n\n.fi-cart-empty:before {\n  content: \"\";\n}\n\n/* line 193, src/styles/components/icons/_icons.scss */\n\n.fi-cart-fast:before {\n  content: \"\";\n}\n\n/* line 198, src/styles/components/icons/_icons.scss */\n\n.fi-cart-hand:before {\n  content: \"\";\n}\n\n/* line 203, src/styles/components/icons/_icons.scss */\n\n.fi-cart-move:before {\n  content: \"\";\n}\n\n/* line 208, src/styles/components/icons/_icons.scss */\n\n.fi-cart-new:before {\n  content: \"\";\n}\n\n/* line 213, src/styles/components/icons/_icons.scss */\n\n.fi-cash:before {\n  content: \"\";\n}\n\n/* line 218, src/styles/components/icons/_icons.scss */\n\n.fi-chat:before {\n  content: \"\";\n}\n\n/* line 223, src/styles/components/icons/_icons.scss */\n\n.fi-check:before {\n  content: \"\";\n}\n\n/* line 228, src/styles/components/icons/_icons.scss */\n\n.fi-check-2:before {\n  content: \"\";\n}\n\n/* line 233, src/styles/components/icons/_icons.scss */\n\n.fi-checkout:before {\n  content: \"\";\n}\n\n/* line 238, src/styles/components/icons/_icons.scss */\n\n.fi-check-strong:before {\n  content: \"\";\n}\n\n/* line 243, src/styles/components/icons/_icons.scss */\n\n.fi-clock:before {\n  content: \"\";\n}\n\n/* line 248, src/styles/components/icons/_icons.scss */\n\n.fi-close:before {\n  content: \"\";\n}\n\n/* line 253, src/styles/components/icons/_icons.scss */\n\n.fi-close-circle:before {\n  content: \"\";\n}\n\n/* line 258, src/styles/components/icons/_icons.scss */\n\n.fi-cloud:before {\n  content: \"\";\n}\n\n/* line 263, src/styles/components/icons/_icons.scss */\n\n.fi-cloud-download:before {\n  content: \"\";\n}\n\n/* line 268, src/styles/components/icons/_icons.scss */\n\n.fi-cloud-upload:before {\n  content: \"\";\n}\n\n/* line 273, src/styles/components/icons/_icons.scss */\n\n.fi-coffee:before {\n  content: \"\";\n}\n\n/* line 278, src/styles/components/icons/_icons.scss */\n\n.fi-comment:before {\n  content: \"\";\n}\n\n/* line 283, src/styles/components/icons/_icons.scss */\n\n.fi-compass:before {\n  content: \"\";\n}\n\n/* line 288, src/styles/components/icons/_icons.scss */\n\n.fi-config:before {\n  content: \"\";\n}\n\n/* line 293, src/styles/components/icons/_icons.scss */\n\n.fi-copy-file:before {\n  content: \"\";\n}\n\n/* line 298, src/styles/components/icons/_icons.scss */\n\n.fi-credit:before {\n  content: \"\";\n}\n\n/* line 303, src/styles/components/icons/_icons.scss */\n\n.fi-crop:before {\n  content: \"\";\n}\n\n/* line 308, src/styles/components/icons/_icons.scss */\n\n.fi-culture:before {\n  content: \"\";\n}\n\n/* line 313, src/styles/components/icons/_icons.scss */\n\n.fi-cup:before {\n  content: \"\";\n}\n\n/* line 318, src/styles/components/icons/_icons.scss */\n\n.fi-custom-product:before {\n  content: \"\";\n}\n\n/* line 323, src/styles/components/icons/_icons.scss */\n\n.fi-date:before {\n  content: \"\";\n}\n\n/* line 328, src/styles/components/icons/_icons.scss */\n\n.fi-delete-user:before {\n  content: \"\";\n}\n\n/* line 333, src/styles/components/icons/_icons.scss */\n\n.fi-diamond:before {\n  content: \"\";\n}\n\n/* line 338, src/styles/components/icons/_icons.scss */\n\n.fi-disk:before {\n  content: \"\";\n}\n\n/* line 343, src/styles/components/icons/_icons.scss */\n\n.fi-diskette:before {\n  content: \"\";\n}\n\n/* line 348, src/styles/components/icons/_icons.scss */\n\n.fi-display1:before {\n  content: \"\";\n}\n\n/* line 353, src/styles/components/icons/_icons.scss */\n\n.fi-display2:before {\n  content: \"\";\n}\n\n/* line 358, src/styles/components/icons/_icons.scss */\n\n.fi-door-lock:before {\n  content: \"\";\n}\n\n/* line 363, src/styles/components/icons/_icons.scss */\n\n.fi-down-arrow-2:before {\n  content: \"\";\n}\n\n/* line 368, src/styles/components/icons/_icons.scss */\n\n.fi-down-arrow-3:before {\n  content: \"\";\n}\n\n/* line 373, src/styles/components/icons/_icons.scss */\n\n.fi-download:before {\n  content: \"\";\n}\n\n/* line 378, src/styles/components/icons/_icons.scss */\n\n.fi-drawer:before {\n  content: \"\";\n}\n\n/* line 383, src/styles/components/icons/_icons.scss */\n\n.fi-drop:before {\n  content: \"\";\n}\n\n/* line 388, src/styles/components/icons/_icons.scss */\n\n.fi-edit:before {\n  content: \"\";\n}\n\n/* line 393, src/styles/components/icons/_icons.scss */\n\n.fi-email:before {\n  content: \"\";\n}\n\n/* line 398, src/styles/components/icons/_icons.scss */\n\n.fi-envelope:before {\n  content: \"\";\n}\n\n/* line 403, src/styles/components/icons/_icons.scss */\n\n.fi-etsy:before {\n  content: \"\";\n}\n\n/* line 408, src/styles/components/icons/_icons.scss */\n\n.fi-exapnd2:before {\n  content: \"\";\n}\n\n/* line 413, src/styles/components/icons/_icons.scss */\n\n.fi-expand1:before {\n  content: \"\";\n}\n\n/* line 418, src/styles/components/icons/_icons.scss */\n\n.fi-eyedropper:before {\n  content: \"\";\n}\n\n/* line 423, src/styles/components/icons/_icons.scss */\n\n.fi-facebook:before {\n  content: \"\";\n}\n\n/* line 428, src/styles/components/icons/_icons.scss */\n\n.fi-facebook-2:before {\n  content: \"\";\n}\n\n/* line 433, src/styles/components/icons/_icons.scss */\n\n.fi-favorites:before {\n  content: \"\";\n}\n\n/* line 438, src/styles/components/icons/_icons.scss */\n\n.fi-favorites-added:before {\n  content: \"\";\n}\n\n/* line 443, src/styles/components/icons/_icons.scss */\n\n.fi-favorites-list:before {\n  content: \"\";\n}\n\n/* line 448, src/styles/components/icons/_icons.scss */\n\n.fi-female:before {\n  content: \"\";\n}\n\n/* line 453, src/styles/components/icons/_icons.scss */\n\n.fi-file:before {\n  content: \"\";\n}\n\n/* line 458, src/styles/components/icons/_icons.scss */\n\n.fi-film:before {\n  content: \"\";\n}\n\n/* line 463, src/styles/components/icons/_icons.scss */\n\n.fi-filter:before {\n  content: \"\";\n}\n\n/* line 468, src/styles/components/icons/_icons.scss */\n\n.fi-flag:before {\n  content: \"\";\n}\n\n/* line 473, src/styles/components/icons/_icons.scss */\n\n.fi-folder:before {\n  content: \"\";\n}\n\n/* line 478, src/styles/components/icons/_icons.scss */\n\n.fi-gift:before {\n  content: \"\";\n}\n\n/* line 483, src/styles/components/icons/_icons.scss */\n\n.fi-glasses:before {\n  content: \"\";\n}\n\n/* line 488, src/styles/components/icons/_icons.scss */\n\n.fi-gleam:before {\n  content: \"\";\n}\n\n/* line 493, src/styles/components/icons/_icons.scss */\n\n.fi-global:before {\n  content: \"\";\n}\n\n/* line 498, src/styles/components/icons/_icons.scss */\n\n.fi-graph:before {\n  content: \"\";\n}\n\n/* line 503, src/styles/components/icons/_icons.scss */\n\n.fi-graph1:before {\n  content: \"\";\n}\n\n/* line 508, src/styles/components/icons/_icons.scss */\n\n.fi-graph2:before {\n  content: \"\";\n}\n\n/* line 513, src/styles/components/icons/_icons.scss */\n\n.fi-graph3:before {\n  content: \"\";\n}\n\n/* line 518, src/styles/components/icons/_icons.scss */\n\n.fi-gym:before {\n  content: \"\";\n}\n\n/* line 523, src/styles/components/icons/_icons.scss */\n\n.fi-hammer:before {\n  content: \"\";\n}\n\n/* line 528, src/styles/components/icons/_icons.scss */\n\n.fi-headphones:before {\n  content: \"\";\n}\n\n/* line 533, src/styles/components/icons/_icons.scss */\n\n.fi-helm:before {\n  content: \"\";\n}\n\n/* line 538, src/styles/components/icons/_icons.scss */\n\n.fi-help1:before {\n  content: \"\";\n}\n\n/* line 543, src/styles/components/icons/_icons.scss */\n\n.fi-help2:before {\n  content: \"\";\n}\n\n/* line 548, src/styles/components/icons/_icons.scss */\n\n.fi-home:before {\n  content: \"\";\n}\n\n/* line 553, src/styles/components/icons/_icons.scss */\n\n.fi-home-new:before {\n  content: \"\";\n}\n\n/* line 558, src/styles/components/icons/_icons.scss */\n\n.fi-hourglass:before {\n  content: \"\";\n}\n\n/* line 563, src/styles/components/icons/_icons.scss */\n\n.fi-id:before {\n  content: \"\";\n}\n\n/* line 568, src/styles/components/icons/_icons.scss */\n\n.fi-idea:before {\n  content: \"\";\n}\n\n/* line 573, src/styles/components/icons/_icons.scss */\n\n.fi-idea-diy:before {\n  content: \"\";\n}\n\n/* line 578, src/styles/components/icons/_icons.scss */\n\n.fi-info:before {\n  content: \"\";\n}\n\n/* line 583, src/styles/components/icons/_icons.scss */\n\n.fi-instagram:before {\n  content: \"\";\n}\n\n/* line 588, src/styles/components/icons/_icons.scss */\n\n.fi-joy:before {\n  content: \"\";\n}\n\n/* line 593, src/styles/components/icons/_icons.scss */\n\n.fi-junk:before {\n  content: \"\";\n}\n\n/* line 598, src/styles/components/icons/_icons.scss */\n\n.fi-key:before {\n  content: \"\";\n}\n\n/* line 603, src/styles/components/icons/_icons.scss */\n\n.fi-keypad:before {\n  content: \"\";\n}\n\n/* line 608, src/styles/components/icons/_icons.scss */\n\n.fi-leaf:before {\n  content: \"\";\n}\n\n/* line 613, src/styles/components/icons/_icons.scss */\n\n.fi-left-arrow:before {\n  content: \"\";\n}\n\n/* line 618, src/styles/components/icons/_icons.scss */\n\n.fi-left-arrow-2:before {\n  content: \"\";\n}\n\n/* line 623, src/styles/components/icons/_icons.scss */\n\n.fi-left-arrow-3:before {\n  content: \"\";\n}\n\n/* line 628, src/styles/components/icons/_icons.scss */\n\n.fi-less:before {\n  content: \"\";\n}\n\n/* line 633, src/styles/components/icons/_icons.scss */\n\n.fi-less-2:before {\n  content: \"\";\n}\n\n/* line 638, src/styles/components/icons/_icons.scss */\n\n.fi-light:before {\n  content: \"\";\n}\n\n/* line 643, src/styles/components/icons/_icons.scss */\n\n.fi-like:before {\n  content: \"\";\n}\n\n/* line 648, src/styles/components/icons/_icons.scss */\n\n.fi-like2:before {\n  content: \"\";\n}\n\n/* line 653, src/styles/components/icons/_icons.scss */\n\n.fi-like-solid:before {\n  content: \"\";\n}\n\n/* line 658, src/styles/components/icons/_icons.scss */\n\n.fi-link:before {\n  content: \"\";\n}\n\n/* line 663, src/styles/components/icons/_icons.scss */\n\n.fi-linkedin:before {\n  content: \"\";\n}\n\n/* line 668, src/styles/components/icons/_icons.scss */\n\n.fi-linkedin-2:before {\n  content: \"\";\n}\n\n/* line 673, src/styles/components/icons/_icons.scss */\n\n.fi-lintern:before {\n  content: \"\";\n}\n\n/* line 678, src/styles/components/icons/_icons.scss */\n\n.fi-loading:before {\n  content: \"\";\n}\n\n/* line 683, src/styles/components/icons/_icons.scss */\n\n.fi-loading2:before {\n  content: \"\";\n}\n\n/* line 688, src/styles/components/icons/_icons.scss */\n\n.fi-loading3:before {\n  content: \"\";\n}\n\n/* line 693, src/styles/components/icons/_icons.scss */\n\n.fi-loading4:before {\n  content: \"\";\n}\n\n/* line 698, src/styles/components/icons/_icons.scss */\n\n.fi-lock:before {\n  content: \"\";\n}\n\n/* line 703, src/styles/components/icons/_icons.scss */\n\n.fi-log-out:before {\n  content: \"\";\n}\n\n/* line 708, src/styles/components/icons/_icons.scss */\n\n.fi-look:before {\n  content: \"\";\n}\n\n/* line 713, src/styles/components/icons/_icons.scss */\n\n.fi-loop:before {\n  content: \"\";\n}\n\n/* line 718, src/styles/components/icons/_icons.scss */\n\n.fi-magic-wand:before {\n  content: \"\";\n}\n\n/* line 723, src/styles/components/icons/_icons.scss */\n\n.fi-magnet:before {\n  content: \"\";\n}\n\n/* line 728, src/styles/components/icons/_icons.scss */\n\n.fi-mail:before {\n  content: \"\";\n}\n\n/* line 733, src/styles/components/icons/_icons.scss */\n\n.fi-mail-open:before {\n  content: \"\";\n}\n\n/* line 738, src/styles/components/icons/_icons.scss */\n\n.fi-mail-open-file:before {\n  content: \"\";\n}\n\n/* line 743, src/styles/components/icons/_icons.scss */\n\n.fi-male:before {\n  content: \"\";\n}\n\n/* line 748, src/styles/components/icons/_icons.scss */\n\n.fi-map:before {\n  content: \"\";\n}\n\n/* line 753, src/styles/components/icons/_icons.scss */\n\n.fi-map-2:before {\n  content: \"\";\n}\n\n/* line 758, src/styles/components/icons/_icons.scss */\n\n.fi-map-marker:before {\n  content: \"\";\n}\n\n/* line 763, src/styles/components/icons/_icons.scss */\n\n.fi-map-marker-2:before {\n  content: \"\";\n}\n\n/* line 768, src/styles/components/icons/_icons.scss */\n\n.fi-medal:before {\n  content: \"\";\n}\n\n/* line 773, src/styles/components/icons/_icons.scss */\n\n.fi-menu:before {\n  content: \"\";\n}\n\n/* line 778, src/styles/components/icons/_icons.scss */\n\n.fi-micro:before {\n  content: \"\";\n}\n\n/* line 783, src/styles/components/icons/_icons.scss */\n\n.fi-monitor:before {\n  content: \"\";\n}\n\n/* line 788, src/styles/components/icons/_icons.scss */\n\n.fi-moon:before {\n  content: \"\";\n}\n\n/* line 793, src/styles/components/icons/_icons.scss */\n\n.fi-more:before {\n  content: \"\";\n}\n\n/* line 798, src/styles/components/icons/_icons.scss */\n\n.fi-mouse:before {\n  content: \"\";\n}\n\n/* line 803, src/styles/components/icons/_icons.scss */\n\n.fi-music:before {\n  content: \"\";\n}\n\n/* line 808, src/styles/components/icons/_icons.scss */\n\n.fi-musiclist:before {\n  content: \"\";\n}\n\n/* line 813, src/styles/components/icons/_icons.scss */\n\n.fi-mute:before {\n  content: \"\";\n}\n\n/* line 818, src/styles/components/icons/_icons.scss */\n\n.fi-network:before {\n  content: \"\";\n}\n\n/* line 823, src/styles/components/icons/_icons.scss */\n\n.fi-news-paper:before {\n  content: \"\";\n}\n\n/* line 828, src/styles/components/icons/_icons.scss */\n\n.fi-next:before {\n  content: \"\";\n}\n\n/* line 833, src/styles/components/icons/_icons.scss */\n\n.fi-next-2:before {\n  content: \"\";\n}\n\n/* line 838, src/styles/components/icons/_icons.scss */\n\n.fi-note:before {\n  content: \"\";\n}\n\n/* line 843, src/styles/components/icons/_icons.scss */\n\n.fi-note2:before {\n  content: \"\";\n}\n\n/* line 848, src/styles/components/icons/_icons.scss */\n\n.fi-notebook:before {\n  content: \"\";\n}\n\n/* line 853, src/styles/components/icons/_icons.scss */\n\n.fi-paint:before {\n  content: \"\";\n}\n\n/* line 858, src/styles/components/icons/_icons.scss */\n\n.fi-paint-bucket:before {\n  content: \"\";\n}\n\n/* line 863, src/styles/components/icons/_icons.scss */\n\n.fi-paperclip:before {\n  content: \"\";\n}\n\n/* line 868, src/styles/components/icons/_icons.scss */\n\n.fi-paper-plane:before {\n  content: \"\";\n}\n\n/* line 873, src/styles/components/icons/_icons.scss */\n\n.fi-pen:before {\n  content: \"\";\n}\n\n/* line 878, src/styles/components/icons/_icons.scss */\n\n.fi-pendrive:before {\n  content: \"\";\n}\n\n/* line 883, src/styles/components/icons/_icons.scss */\n\n.fi-phone:before {\n  content: \"\";\n}\n\n/* line 888, src/styles/components/icons/_icons.scss */\n\n.fi-phone-new:before {\n  content: \"\";\n}\n\n/* line 893, src/styles/components/icons/_icons.scss */\n\n.fi-photo:before {\n  content: \"\";\n}\n\n/* line 898, src/styles/components/icons/_icons.scss */\n\n.fi-photo-gallery:before {\n  content: \"\";\n}\n\n/* line 903, src/styles/components/icons/_icons.scss */\n\n.fi-piggy:before {\n  content: \"\";\n}\n\n/* line 908, src/styles/components/icons/_icons.scss */\n\n.fi-pin:before {\n  content: \"\";\n}\n\n/* line 913, src/styles/components/icons/_icons.scss */\n\n.fi-pinterest:before {\n  content: \"\";\n}\n\n/* line 918, src/styles/components/icons/_icons.scss */\n\n.fi-pinterest-2:before {\n  content: \"\";\n}\n\n/* line 923, src/styles/components/icons/_icons.scss */\n\n.fi-plane:before {\n  content: \"\";\n}\n\n/* line 928, src/styles/components/icons/_icons.scss */\n\n.fi-play:before {\n  content: \"\";\n}\n\n/* line 933, src/styles/components/icons/_icons.scss */\n\n.fi-play-2:before {\n  content: \"\";\n}\n\n/* line 938, src/styles/components/icons/_icons.scss */\n\n.fi-plug:before {\n  content: \"\";\n}\n\n/* line 943, src/styles/components/icons/_icons.scss */\n\n.fi-plugin:before {\n  content: \"\";\n}\n\n/* line 948, src/styles/components/icons/_icons.scss */\n\n.fi-plus:before {\n  content: \"\";\n}\n\n/* line 953, src/styles/components/icons/_icons.scss */\n\n.fi-plus-2:before {\n  content: \"\";\n}\n\n/* line 958, src/styles/components/icons/_icons.scss */\n\n.fi-portfolio:before {\n  content: \"\";\n}\n\n/* line 963, src/styles/components/icons/_icons.scss */\n\n.fi-post:before {\n  content: \"\";\n}\n\n/* line 968, src/styles/components/icons/_icons.scss */\n\n.fi-power:before {\n  content: \"\";\n}\n\n/* line 973, src/styles/components/icons/_icons.scss */\n\n.fi-prev:before {\n  content: \"\";\n}\n\n/* line 978, src/styles/components/icons/_icons.scss */\n\n.fi-print:before {\n  content: \"\";\n}\n\n/* line 983, src/styles/components/icons/_icons.scss */\n\n.fi-product-empty:before {\n  content: \"\";\n}\n\n/* line 988, src/styles/components/icons/_icons.scss */\n\n.fi-radio:before {\n  content: \"\";\n}\n\n/* line 993, src/styles/components/icons/_icons.scss */\n\n.fi-refresh:before {\n  content: \"\";\n}\n\n/* line 998, src/styles/components/icons/_icons.scss */\n\n.fi-refresh-2:before {\n  content: \"\";\n}\n\n/* line 1003, src/styles/components/icons/_icons.scss */\n\n.fi-refresh-cloud:before {\n  content: \"\";\n}\n\n/* line 1008, src/styles/components/icons/_icons.scss */\n\n.fi-repeat:before {\n  content: \"\";\n}\n\n/* line 1013, src/styles/components/icons/_icons.scss */\n\n.fi-ribbon:before {\n  content: \"\";\n}\n\n/* line 1018, src/styles/components/icons/_icons.scss */\n\n.fi-right-arrow:before {\n  content: \"\";\n}\n\n/* line 1023, src/styles/components/icons/_icons.scss */\n\n.fi-right-arrow-2:before {\n  content: \"\";\n}\n\n/* line 1028, src/styles/components/icons/_icons.scss */\n\n.fi-right-arrow-3:before {\n  content: \"\";\n}\n\n/* line 1033, src/styles/components/icons/_icons.scss */\n\n.fi-rocket:before {\n  content: \"\";\n}\n\n/* line 1038, src/styles/components/icons/_icons.scss */\n\n.fi-safe:before {\n  content: \"\";\n}\n\n/* line 1043, src/styles/components/icons/_icons.scss */\n\n.fi-science:before {\n  content: \"\";\n}\n\n/* line 1048, src/styles/components/icons/_icons.scss */\n\n.fi-scissors:before {\n  content: \"\";\n}\n\n/* line 1053, src/styles/components/icons/_icons.scss */\n\n.fi-search:before {\n  content: \"\";\n}\n\n/* line 1058, src/styles/components/icons/_icons.scss */\n\n.fi-search-new:before {\n  content: \"\";\n}\n\n/* line 1063, src/styles/components/icons/_icons.scss */\n\n.fi-send:before {\n  content: \"\";\n}\n\n/* line 1068, src/styles/components/icons/_icons.scss */\n\n.fi-server:before {\n  content: \"\";\n}\n\n/* line 1073, src/styles/components/icons/_icons.scss */\n\n.fi-settings:before {\n  content: \"\";\n}\n\n/* line 1078, src/styles/components/icons/_icons.scss */\n\n.fi-share:before {\n  content: \"\";\n}\n\n/* line 1083, src/styles/components/icons/_icons.scss */\n\n.fi-shield:before {\n  content: \"\";\n}\n\n/* line 1088, src/styles/components/icons/_icons.scss */\n\n.fi-shipping:before {\n  content: \"\";\n}\n\n/* line 1093, src/styles/components/icons/_icons.scss */\n\n.fi-shipping-free:before {\n  content: \"\";\n}\n\n/* line 1098, src/styles/components/icons/_icons.scss */\n\n.fi-shopbag:before {\n  content: \"\";\n}\n\n/* line 1103, src/styles/components/icons/_icons.scss */\n\n.fi-shuffle:before {\n  content: \"\";\n}\n\n/* line 1108, src/styles/components/icons/_icons.scss */\n\n.fi-signal:before {\n  content: \"\";\n}\n\n/* line 1113, src/styles/components/icons/_icons.scss */\n\n.fi-signout:before {\n  content: \"\";\n}\n\n/* line 1118, src/styles/components/icons/_icons.scss */\n\n.fi-smile:before {\n  content: \"\";\n}\n\n/* line 1123, src/styles/components/icons/_icons.scss */\n\n.fi-speaker:before {\n  content: \"\";\n}\n\n/* line 1128, src/styles/components/icons/_icons.scss */\n\n.fi-star:before {\n  content: \"\";\n}\n\n/* line 1133, src/styles/components/icons/_icons.scss */\n\n.fi-stopwatch:before {\n  content: \"\";\n}\n\n/* line 1138, src/styles/components/icons/_icons.scss */\n\n.fi-study:before {\n  content: \"\";\n}\n\n/* line 1143, src/styles/components/icons/_icons.scss */\n\n.fi-sun:before {\n  content: \"\";\n}\n\n/* line 1148, src/styles/components/icons/_icons.scss */\n\n.fi-switch:before {\n  content: \"\";\n}\n\n/* line 1153, src/styles/components/icons/_icons.scss */\n\n.fi-tag:before {\n  content: \"\";\n}\n\n/* line 1158, src/styles/components/icons/_icons.scss */\n\n.fi-tags:before {\n  content: \"\";\n}\n\n/* line 1163, src/styles/components/icons/_icons.scss */\n\n.fi-target:before {\n  content: \"\";\n}\n\n/* line 1168, src/styles/components/icons/_icons.scss */\n\n.fi-ticket:before {\n  content: \"\";\n}\n\n/* line 1173, src/styles/components/icons/_icons.scss */\n\n.fi-timer:before {\n  content: \"\";\n}\n\n/* line 1178, src/styles/components/icons/_icons.scss */\n\n.fi-tools:before {\n  content: \"\";\n}\n\n/* line 1183, src/styles/components/icons/_icons.scss */\n\n.fi-track-order:before {\n  content: \"\";\n}\n\n/* line 1188, src/styles/components/icons/_icons.scss */\n\n.fi-trash:before {\n  content: \"\";\n}\n\n/* line 1193, src/styles/components/icons/_icons.scss */\n\n.fi-trolley:before {\n  content: \"\";\n}\n\n/* line 1198, src/styles/components/icons/_icons.scss */\n\n.fi-twitter:before {\n  content: \"\";\n}\n\n/* line 1203, src/styles/components/icons/_icons.scss */\n\n.fi-umbrella:before {\n  content: \"\";\n}\n\n/* line 1208, src/styles/components/icons/_icons.scss */\n\n.fi-unlock:before {\n  content: \"\";\n}\n\n/* line 1213, src/styles/components/icons/_icons.scss */\n\n.fi-up-arrow:before {\n  content: \"\";\n}\n\n/* line 1218, src/styles/components/icons/_icons.scss */\n\n.fi-up-arrow-2:before {\n  content: \"\";\n}\n\n/* line 1223, src/styles/components/icons/_icons.scss */\n\n.fi-up-arrow-3:before {\n  content: \"\";\n}\n\n/* line 1228, src/styles/components/icons/_icons.scss */\n\n.fi-upload:before {\n  content: \"\";\n}\n\n/* line 1233, src/styles/components/icons/_icons.scss */\n\n.fi-usb:before {\n  content: \"\";\n}\n\n/* line 1238, src/styles/components/icons/_icons.scss */\n\n.fi-user:before {\n  content: \"\";\n}\n\n/* line 1243, src/styles/components/icons/_icons.scss */\n\n.fi-user-edit-new:before {\n  content: \"\";\n}\n\n/* line 1248, src/styles/components/icons/_icons.scss */\n\n.fi-user-female:before {\n  content: \"\";\n}\n\n/* line 1253, src/styles/components/icons/_icons.scss */\n\n.fi-user-new:before {\n  content: \"\";\n}\n\n/* line 1258, src/styles/components/icons/_icons.scss */\n\n.fi-users:before {\n  content: \"\";\n}\n\n/* line 1263, src/styles/components/icons/_icons.scss */\n\n.fi-vector:before {\n  content: \"\";\n}\n\n/* line 1268, src/styles/components/icons/_icons.scss */\n\n.fi-video:before {\n  content: \"\";\n}\n\n/* line 1273, src/styles/components/icons/_icons.scss */\n\n.fi-voicemail:before {\n  content: \"\";\n}\n\n/* line 1278, src/styles/components/icons/_icons.scss */\n\n.fi-volume:before {\n  content: \"\";\n}\n\n/* line 1283, src/styles/components/icons/_icons.scss */\n\n.fi-volume1:before {\n  content: \"\";\n}\n\n/* line 1288, src/styles/components/icons/_icons.scss */\n\n.fi-volume2:before {\n  content: \"\";\n}\n\n/* line 1293, src/styles/components/icons/_icons.scss */\n\n.fi-wallet:before {\n  content: \"\";\n}\n\n/* line 1298, src/styles/components/icons/_icons.scss */\n\n.fi-way:before {\n  content: \"\";\n}\n\n/* line 1303, src/styles/components/icons/_icons.scss */\n\n.fi-wine:before {\n  content: \"\";\n}\n\n/* line 1308, src/styles/components/icons/_icons.scss */\n\n.fi-world:before {\n  content: \"\";\n}\n\n/* line 1313, src/styles/components/icons/_icons.scss */\n\n.fi-wristwatch:before {\n  content: \"\";\n}\n\n/* line 1318, src/styles/components/icons/_icons.scss */\n\n.fi-youtube:before {\n  content: \"\";\n}\n\n/* line 1325, src/styles/components/icons/_icons.scss */\n\n.fi-credit-card:before {\n  content: \"\";\n}\n\n/* line 1330, src/styles/components/icons/_icons.scss */\n\n.fi-eye:before {\n  content: \"\";\n}\n\n/* stylelint-enable */\n\n/* line 6, src/styles/components/_buttons.scss */\n\n.button-link {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  border: 1px solid #1779ba;\n  color: #1779ba;\n  margin: 0;\n  padding: 0;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .button-link {\n  outline: 0;\n}\n\n/* line 161, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-link,\n.button-link:hover,\n.button-link:focus {\n  background-color: transparent;\n}\n\n/* line 169, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-link.disabled,\n.button-link.disabled:hover,\n.button-link.disabled:focus,\n.button-link[disabled],\n.button-link[disabled]:hover,\n.button-link[disabled]:focus {\n  background-color: transparent;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-link:hover,\n.button-link:focus {\n  border-color: #0c3d5d;\n  color: #0c3d5d;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-link:hover.disabled,\n.button-link:hover[disabled],\n.button-link:focus.disabled,\n.button-link:focus[disabled] {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 11, src/styles/components/_buttons.scss */\n\n.button-link.tiny {\n  font-size: 0.6rem;\n}\n\n/* line 11, src/styles/components/_buttons.scss */\n\n.button-link.small {\n  font-size: 0.75rem;\n}\n\n/* line 11, src/styles/components/_buttons.scss */\n\n.button-link.large {\n  font-size: 1.25rem;\n}\n\n/* line 18, src/styles/components/_buttons.scss */\n\n.button-link.primary {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-link.primary:hover,\n.button-link.primary:focus {\n  border-color: #0c3d5d;\n  color: #0c3d5d;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-link.primary:hover.disabled,\n.button-link.primary:hover[disabled],\n.button-link.primary:focus.disabled,\n.button-link.primary:focus[disabled] {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 18, src/styles/components/_buttons.scss */\n\n.button-link.secondary {\n  border: 1px solid #767676;\n  color: #767676;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-link.secondary:hover,\n.button-link.secondary:focus {\n  border-color: #3b3b3b;\n  color: #3b3b3b;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-link.secondary:hover.disabled,\n.button-link.secondary:hover[disabled],\n.button-link.secondary:focus.disabled,\n.button-link.secondary:focus[disabled] {\n  border: 1px solid #767676;\n  color: #767676;\n}\n\n/* line 18, src/styles/components/_buttons.scss */\n\n.button-link.success {\n  border: 1px solid #18a733;\n  color: #18a733;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-link.success:hover,\n.button-link.success:focus {\n  border-color: #0c541a;\n  color: #0c541a;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-link.success:hover.disabled,\n.button-link.success:hover[disabled],\n.button-link.success:focus.disabled,\n.button-link.success:focus[disabled] {\n  border: 1px solid #18a733;\n  color: #18a733;\n}\n\n/* line 18, src/styles/components/_buttons.scss */\n\n.button-link.warning {\n  border: 1px solid #ffae00;\n  color: #ffae00;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-link.warning:hover,\n.button-link.warning:focus {\n  border-color: #805700;\n  color: #805700;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-link.warning:hover.disabled,\n.button-link.warning:hover[disabled],\n.button-link.warning:focus.disabled,\n.button-link.warning:focus[disabled] {\n  border: 1px solid #ffae00;\n  color: #ffae00;\n}\n\n/* line 18, src/styles/components/_buttons.scss */\n\n.button-link.alert {\n  border: 1px solid #cc4b37;\n  color: #cc4b37;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-link.alert:hover,\n.button-link.alert:focus {\n  border-color: #67251a;\n  color: #67251a;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.button-link.alert:hover.disabled,\n.button-link.alert:hover[disabled],\n.button-link.alert:focus.disabled,\n.button-link.alert:focus[disabled] {\n  border: 1px solid #cc4b37;\n  color: #cc4b37;\n}\n\n/* line 26, src/styles/components/_buttons.scss */\n\n.button-link,\n.button-link:hover,\n.button-link:focus {\n  border-color: transparent;\n  outline: none;\n}\n\n/* line 32, src/styles/components/_buttons.scss */\n\n.button-link.disabled,\n.button-link[disabled],\n.button-link:hover.disabled,\n.button-link:hover[disabled],\n.button-link:focus.disabled,\n.button-link:focus[disabled] {\n  border-color: transparent;\n  outline: none;\n}\n\n/** Search form */\n\n/* line 10, src/styles/components/_form.scss */\n\n.search-form label {\n  font-weight: normal;\n}\n\n/* line 18, src/styles/components/_form.scss */\n\n.search-form .search-submit {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #767676;\n  color: #fefefe;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .search-form .search-submit {\n  outline: 0;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.search-form .search-submit:hover,\n.search-form .search-submit:focus {\n  background-color: #5e5e5e;\n  color: #fefefe;\n}\n\n/* line 10, src/styles/components/_ng-form.scss */\n\n.radio label,\n.checkbox label {\n  line-height: 1.2;\n}\n\n/* line 13, src/styles/components/_ng-form.scss */\n\n.radio label::after,\n.checkbox label::after {\n  line-height: 1.8;\n}\n\n/* stylelint-disable */\n\n/* line 24, src/styles/components/_ng-form.scss */\n\nform select.ng-touched.ng-invalid,\nform textarea.ng-touched.ng-invalid,\nform input.ng-touched.ng-invalid:not(.input-qty),\nng-form select.ng-touched.ng-invalid,\nng-form textarea.ng-touched.ng-invalid,\nng-form input.ng-touched.ng-invalid:not(.input-qty),\n.form select.ng-touched.ng-invalid,\n.form textarea.ng-touched.ng-invalid,\n.form input.ng-touched.ng-invalid:not(.input-qty),\n.ng-form select.ng-touched.ng-invalid,\n.ng-form textarea.ng-touched.ng-invalid,\n.ng-form input.ng-touched.ng-invalid:not(.input-qty) {\n  border-color: #cc4b37;\n  background-color: #fcf3f2;\n}\n\n/* line 33, src/styles/components/_ng-form.scss */\n\nform .ui-select-container.ng-touched.ng-invalid .ui-select-toggle,\nng-form .ui-select-container.ng-touched.ng-invalid .ui-select-toggle,\n.form .ui-select-container.ng-touched.ng-invalid .ui-select-toggle,\n.ng-form .ui-select-container.ng-touched.ng-invalid .ui-select-toggle {\n  border-color: #cc4b37;\n  background-color: #fcf3f2;\n}\n\n/* line 39, src/styles/components/_ng-form.scss */\n\nform select.ng-touched.ng-valid,\nform textarea.ng-touched.ng-valid,\nform input.ng-touched.ng-valid:not(.input-qty),\nng-form select.ng-touched.ng-valid,\nng-form textarea.ng-touched.ng-valid,\nng-form input.ng-touched.ng-valid:not(.input-qty),\n.form select.ng-touched.ng-valid,\n.form textarea.ng-touched.ng-valid,\n.form input.ng-touched.ng-valid:not(.input-qty),\n.ng-form select.ng-touched.ng-valid,\n.ng-form textarea.ng-touched.ng-valid,\n.ng-form input.ng-touched.ng-valid:not(.input-qty) {\n  border-color: #18a733;\n}\n\n/* line 44, src/styles/components/_ng-form.scss */\n\nform select.ng-touched.ng-valid.ng-empty,\nform textarea.ng-touched.ng-valid.ng-empty,\nform input.ng-touched.ng-valid:not(.input-qty).ng-empty,\nng-form select.ng-touched.ng-valid.ng-empty,\nng-form textarea.ng-touched.ng-valid.ng-empty,\nng-form input.ng-touched.ng-valid:not(.input-qty).ng-empty,\n.form select.ng-touched.ng-valid.ng-empty,\n.form textarea.ng-touched.ng-valid.ng-empty,\n.form input.ng-touched.ng-valid:not(.input-qty).ng-empty,\n.ng-form select.ng-touched.ng-valid.ng-empty,\n.ng-form textarea.ng-touched.ng-valid.ng-empty,\n.ng-form input.ng-touched.ng-valid:not(.input-qty).ng-empty {\n  border-color: inherit;\n}\n\n/* line 51, src/styles/components/_ng-form.scss */\n\nform .ui-select-container.ng-touched.ng-valid .ui-select-toggle,\nng-form .ui-select-container.ng-touched.ng-valid .ui-select-toggle,\n.form .ui-select-container.ng-touched.ng-valid .ui-select-toggle,\n.ng-form .ui-select-container.ng-touched.ng-valid .ui-select-toggle {\n  border-color: #18a733;\n}\n\n/* line 56, src/styles/components/_ng-form.scss */\n\nform .ui-select-container.ng-touched.ng-valid.ng-empty .ui-select-toggle,\nng-form .ui-select-container.ng-touched.ng-valid.ng-empty .ui-select-toggle,\n.form .ui-select-container.ng-touched.ng-valid.ng-empty .ui-select-toggle,\n.ng-form .ui-select-container.ng-touched.ng-valid.ng-empty .ui-select-toggle {\n  border-color: inherit;\n}\n\n/* line 65, src/styles/components/_ng-form.scss */\n\nform .radio input.ng-touched.ng-invalid-required ~ label::before,\nform .checkbox input.ng-touched.ng-invalid-required ~ label::before,\nng-form .radio input.ng-touched.ng-invalid-required ~ label::before,\nng-form .checkbox input.ng-touched.ng-invalid-required ~ label::before,\n.form .radio input.ng-touched.ng-invalid-required ~ label::before,\n.form .checkbox input.ng-touched.ng-invalid-required ~ label::before,\n.ng-form .radio input.ng-touched.ng-invalid-required ~ label::before,\n.ng-form .checkbox input.ng-touched.ng-invalid-required ~ label::before {\n  border-color: #cc4b37;\n}\n\n/* line 71, src/styles/components/_ng-form.scss */\n\nform .radio input.ng-touched.ng-valid-required ~ label::before,\nform .checkbox input.ng-touched.ng-valid-required ~ label::before,\nng-form .radio input.ng-touched.ng-valid-required ~ label::before,\nng-form .checkbox input.ng-touched.ng-valid-required ~ label::before,\n.form .radio input.ng-touched.ng-valid-required ~ label::before,\n.form .checkbox input.ng-touched.ng-valid-required ~ label::before,\n.ng-form .radio input.ng-touched.ng-valid-required ~ label::before,\n.ng-form .checkbox input.ng-touched.ng-valid-required ~ label::before {\n  border-color: #18a733;\n}\n\n/* line 79, src/styles/components/_ng-form.scss */\n\nform .input-group-field.ng-touched.ng-valid ~ .input-group-button .button,\nform .search-form .ng-touched.ng-valid.search-field ~ .input-group-button .button,\n.search-form form .ng-touched.ng-valid.search-field ~ .input-group-button .button,\nng-form .input-group-field.ng-touched.ng-valid ~ .input-group-button .button,\nng-form .search-form .ng-touched.ng-valid.search-field ~ .input-group-button .button,\n.search-form ng-form .ng-touched.ng-valid.search-field ~ .input-group-button .button,\n.form .input-group-field.ng-touched.ng-valid ~ .input-group-button .button,\n.form .search-form .ng-touched.ng-valid.search-field ~ .input-group-button .button,\n.search-form .form .ng-touched.ng-valid.search-field ~ .input-group-button .button,\n.ng-form .input-group-field.ng-touched.ng-valid ~ .input-group-button .button,\n.ng-form .search-form .ng-touched.ng-valid.search-field ~ .input-group-button .button,\n.search-form .ng-form .ng-touched.ng-valid.search-field ~ .input-group-button .button {\n  border-color: #18a733;\n}\n\n/* line 85, src/styles/components/_ng-form.scss */\n\nform .input-group-field.ng-touched.ng-invalid ~ .input-group-button .button,\nform .search-form .ng-touched.ng-invalid.search-field ~ .input-group-button .button,\n.search-form form .ng-touched.ng-invalid.search-field ~ .input-group-button .button,\nng-form .input-group-field.ng-touched.ng-invalid ~ .input-group-button .button,\nng-form .search-form .ng-touched.ng-invalid.search-field ~ .input-group-button .button,\n.search-form ng-form .ng-touched.ng-invalid.search-field ~ .input-group-button .button,\n.form .input-group-field.ng-touched.ng-invalid ~ .input-group-button .button,\n.form .search-form .ng-touched.ng-invalid.search-field ~ .input-group-button .button,\n.search-form .form .ng-touched.ng-invalid.search-field ~ .input-group-button .button,\n.ng-form .input-group-field.ng-touched.ng-invalid ~ .input-group-button .button,\n.ng-form .search-form .ng-touched.ng-invalid.search-field ~ .input-group-button .button,\n.search-form .ng-form .ng-touched.ng-invalid.search-field ~ .input-group-button .button {\n  border-color: #cc4b37;\n}\n\n/* line 91, src/styles/components/_ng-form.scss */\n\nform .input-group-field.ng-touched.ng-empty ~ .input-group-button .button,\nform .search-form .ng-touched.ng-empty.search-field ~ .input-group-button .button,\n.search-form form .ng-touched.ng-empty.search-field ~ .input-group-button .button,\nng-form .input-group-field.ng-touched.ng-empty ~ .input-group-button .button,\nng-form .search-form .ng-touched.ng-empty.search-field ~ .input-group-button .button,\n.search-form ng-form .ng-touched.ng-empty.search-field ~ .input-group-button .button,\n.form .input-group-field.ng-touched.ng-empty ~ .input-group-button .button,\n.form .search-form .ng-touched.ng-empty.search-field ~ .input-group-button .button,\n.search-form .form .ng-touched.ng-empty.search-field ~ .input-group-button .button,\n.ng-form .input-group-field.ng-touched.ng-empty ~ .input-group-button .button,\n.ng-form .search-form .ng-touched.ng-empty.search-field ~ .input-group-button .button,\n.search-form .ng-form .ng-touched.ng-empty.search-field ~ .input-group-button .button {\n  border-color: transparent;\n}\n\n/* stylelint-enable */\n\n/* line 8, src/styles/components/_comments.scss */\n\n.comment-list ol {\n  list-style: none;\n}\n\n/* line 12, src/styles/components/_comments.scss */\n\n.comment-form input[type=\"submit\"] {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #767676;\n  color: #fefefe;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .comment-form input[type=\"submit\"] {\n  outline: 0;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.comment-form input[type=\"submit\"]:hover,\n.comment-form input[type=\"submit\"]:focus {\n  background-color: #5e5e5e;\n  color: #fefefe;\n}\n\n/* line 9, src/styles/components/_dropdown-menu.scss */\n\n.dropdown.menu > li.is-dropdown-submenu-parent > a::after {\n  content: \"\";\n  font-family: \"rc-base-icons\";\n  font-size: 1.5rem;\n  border: none;\n  right: 24px;\n  top: 0.5rem;\n  margin-top: 0;\n}\n\n/* line 23, src/styles/components/_dropdown-menu.scss */\n\n.dropdown.menu li.is-active,\n.dropdown.menu li:hover {\n  background-color: #1779ba;\n  transition: all linear 0.3s;\n}\n\n/* line 29, src/styles/components/_dropdown-menu.scss */\n\n.dropdown.menu li.is-active > a,\n.dropdown.menu li:hover > a {\n  color: #fefefe;\n}\n\n/* line 35, src/styles/components/_dropdown-menu.scss */\n\n.dropdown.menu .is-dropdown-submenu {\n  border: none;\n  box-shadow: 0 0 15px rgba(0, 0, 0, 0.25);\n}\n\n/* line 23, src/styles/components/_grid.scss */\n\n.main-header {\n  padding-right: 0;\n  padding-left: 0;\n  max-width: 100%;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/* line 39, src/styles/components/_grid.scss */\n\n.main-container {\n  padding-right: 0;\n  padding-left: 0;\n  max-width: 100%;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/* line 55, src/styles/components/_grid.scss */\n\n.main-grid {\n  display: flex;\n  flex-flow: row wrap;\n  margin-right: 0;\n  margin-left: 0;\n  margin-right: 0;\n  margin-left: 0;\n}\n\n/* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.main-grid > main.collapse {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n/* line 68, node_modules/foundation-sites/scss/xy-grid/_collapse.scss */\n\n.main-grid > .sidebar.collapse {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n/* line 61, src/styles/components/_grid.scss */\n\nmain,\n.sidebar {\n  width: 100%;\n  padding-right: 0.625rem;\n  padding-left: 0.625rem;\n}\n\n/* line 67, src/styles/components/_grid.scss */\n\n.sidebar-primary main {\n  width: 66.66667%;\n  padding-right: 0.625rem;\n  padding-left: 0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 67, src/styles/components/_grid.scss */\n\n  .sidebar-primary main {\n    flex: 1 1 0px;\n    width: auto;\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 67, src/styles/components/_grid.scss */\n\n  .sidebar-primary main {\n    flex: 1 1 0px;\n    width: auto;\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem;\n  }\n}\n\n/* line 101, src/styles/components/_grid.scss */\n\n.sidebar-primary .sidebar {\n  width: 33.33333%;\n  padding-right: 0.625rem;\n  padding-left: 0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 101, src/styles/components/_grid.scss */\n\n  .sidebar-primary .sidebar {\n    flex: 0 0 auto;\n    width: auto;\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 101, src/styles/components/_grid.scss */\n\n  .sidebar-primary .sidebar {\n    flex: 0 0 auto;\n    width: auto;\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem;\n  }\n}\n\n/* line 7, src/styles/components/_grid.scss */\n\n.grid-container.small-collapse {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n/* line 11, src/styles/components/_grid.scss */\n\n.grid-container.small-uncollapse {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 7, src/styles/components/_grid.scss */\n\n  .grid-container.medium-collapse {\n    padding-right: 0;\n    padding-left: 0;\n  }\n\n  /* line 11, src/styles/components/_grid.scss */\n\n  .grid-container.medium-uncollapse {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 7, src/styles/components/_grid.scss */\n\n  .grid-container.large-collapse {\n    padding-right: 0;\n    padding-left: 0;\n  }\n\n  /* line 11, src/styles/components/_grid.scss */\n\n  .grid-container.large-uncollapse {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem;\n  }\n}\n\n/* line 133, src/styles/components/_grid.scss */\n\n.grid-full-height {\n  height: 100%;\n}\n\n/* line 138, src/styles/components/_grid.scss */\n\n.main-grid-single,\n.main-grid-archive {\n  margin-top: 1.25rem;\n}\n\n/* line 148, src/styles/components/_grid.scss */\n\n.grid-margin-y > .cell.collapse-self-margin,\n.grid-margin-x > .cell.collapse-self-margin {\n  margin-left: 0;\n  margin-right: 0;\n}\n\n/* line 154, src/styles/components/_grid.scss */\n\n.grid-margin-y > .cell.small-collapse-self-margin,\n.grid-margin-x > .cell.small-collapse-self-margin {\n  margin-left: 0;\n  margin-right: 0;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 154, src/styles/components/_grid.scss */\n\n  .grid-margin-y > .cell.medium-collapse-self-margin,\n  .grid-margin-x > .cell.medium-collapse-self-margin {\n    margin-left: 0;\n    margin-right: 0;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 154, src/styles/components/_grid.scss */\n\n  .grid-margin-y > .cell.large-collapse-self-margin,\n  .grid-margin-x > .cell.large-collapse-self-margin {\n    margin-left: 0;\n    margin-right: 0;\n  }\n}\n\n/* line 165, src/styles/components/_grid.scss */\n\n.grid-padding-y > .cell.collapse-self-padding,\n.grid-padding-x > .cell.collapse-self-padding {\n  padding-left: 0;\n  padding-right: 0;\n}\n\n/* line 171, src/styles/components/_grid.scss */\n\n.grid-padding-y > .cell.small-collapse-self-padding,\n.grid-padding-x > .cell.small-collapse-self-padding {\n  padding-left: 0;\n  padding-right: 0;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 171, src/styles/components/_grid.scss */\n\n  .grid-padding-y > .cell.medium-collapse-self-padding,\n  .grid-padding-x > .cell.medium-collapse-self-padding {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n\n@media print, screen and (min-width: 64em) {\n  /* line 171, src/styles/components/_grid.scss */\n\n  .grid-padding-y > .cell.large-collapse-self-padding,\n  .grid-padding-x > .cell.large-collapse-self-padding {\n    padding-left: 0;\n    padding-right: 0;\n  }\n}\n\n/* line 4, src/styles/components/_social.scss */\n\n.social-group {\n  padding: 0;\n  margin: 0;\n  list-style: none;\n  position: relative;\n  display: flex;\n  flex-wrap: wrap;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .social-group li {\n  outline: 0;\n}\n\n/* line 68, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.social-group a,\n.social-group .button {\n  line-height: 1;\n  text-decoration: none;\n  display: block;\n  padding: 0.7rem 1rem;\n}\n\n/* line 77, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.social-group input,\n.social-group select,\n.social-group a,\n.social-group button {\n  margin-bottom: 0;\n}\n\n/* line 84, node_modules/foundation-sites/scss/components/_menu.scss */\n\n.social-group input {\n  display: inline-block;\n}\n\n/* line 9, src/styles/components/_badge.scss */\n\n.badge.square {\n  border-radius: 0;\n}\n\n/* line 13, src/styles/components/_badge.scss */\n\n.badge.hollow {\n  background: transparent;\n  border: solid 1px #1779ba;\n  color: #1779ba;\n}\n\n/* line 19, src/styles/components/_badge.scss */\n\n.badge.hollow.primary {\n  border-color: #1779ba;\n  color: #1779ba;\n}\n\n/* line 19, src/styles/components/_badge.scss */\n\n.badge.hollow.secondary {\n  border-color: #767676;\n  color: #767676;\n}\n\n/* line 19, src/styles/components/_badge.scss */\n\n.badge.hollow.success {\n  border-color: #18a733;\n  color: #18a733;\n}\n\n/* line 19, src/styles/components/_badge.scss */\n\n.badge.hollow.warning {\n  border-color: #ffae00;\n  color: #ffae00;\n}\n\n/* line 19, src/styles/components/_badge.scss */\n\n.badge.hollow.alert {\n  border-color: #cc4b37;\n  color: #cc4b37;\n}\n\n/* line 26, src/styles/components/_badge.scss */\n\n.badge.disable {\n  opacity: 0.35;\n}\n\n/* line 9, src/styles/components/_table.scss */\n\n.table .table-header {\n  background-color: #f8f8f8;\n  color: #000;\n  padding: 0.5rem 0;\n  margin-bottom: 0.5rem;\n}\n\n/* line 16, src/styles/components/_table.scss */\n\n.table .table-header,\n.table .table-row {\n  display: flex;\n  flex-flow: row wrap;\n  margin-right: -0.625rem;\n  margin-left: -0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 16, src/styles/components/_table.scss */\n\n  .table .table-header,\n  .table .table-row {\n    margin-right: -0.9375rem;\n    margin-left: -0.9375rem;\n  }\n}\n\n/* line 21, src/styles/components/_table.scss */\n\n.table .table-header > .table-cell,\n.table .table-row > .table-cell {\n  padding-right: 0.625rem;\n  padding-left: 0.625rem;\n}\n\n@media print, screen and (min-width: 40em) {\n  /* line 21, src/styles/components/_table.scss */\n\n  .table .table-header > .table-cell,\n  .table .table-row > .table-cell {\n    padding-right: 0.9375rem;\n    padding-left: 0.9375rem;\n  }\n}\n\n/* line 25, src/styles/components/_table.scss */\n\n.table .table-header .table-cell,\n.table .table-row .table-cell {\n  flex: 1 1 0px;\n  width: auto;\n}\n\n/* line 28, src/styles/components/_table.scss */\n\n.table .table-header .table-cell.shrink,\n.table .table-row .table-cell.shrink {\n  flex: 0 0 auto;\n}\n\n/* line 34, src/styles/components/_table.scss */\n\n.table .table-header.shrink > .table-cell,\n.table .table-row.shrink > .table-cell {\n  flex: 0 0 auto;\n}\n\n/* line 67, src/styles/components/_hr.scss */\n\n.hr,\n.hr-bottom {\n  clear: both;\n  border-left: 0;\n  border-right: 0;\n  margin-bottom: 1.25rem;\n  border-bottom: 1px solid #777777;\n}\n\n/* line 27, src/styles/components/_hr.scss */\n\n.cell .hr,\n.cell\n  .hr-bottom {\n  margin-left: 0;\n  margin-right: 0;\n}\n\n/* line 72, src/styles/components/_hr.scss */\n\n.hr-top {\n  clear: both;\n  border-left: 0;\n  border-right: 0;\n  padding-top: 1.25rem;\n  border-top: 1px solid #777777;\n}\n\n/* line 27, src/styles/components/_hr.scss */\n\n.cell .hr-top {\n  margin-left: 0;\n  margin-right: 0;\n}\n\n/* line 76, src/styles/components/_hr.scss */\n\n.no-hr {\n  border-top: 0 !important;\n  border-bottom: 0 !important;\n}\n\n/* line 81, src/styles/components/_hr.scss */\n\n.hr-vertical {\n  width: 1px;\n  height: auto;\n  margin: auto;\n  margin-top: 1.25rem;\n  margin-bottom: 1.25rem;\n  border: 0;\n  border-left: 1px solid #777777;\n}\n\n/* line 42, src/styles/components/_hr.scss */\n\n.cell .hr-vertical {\n  height: calc(100% - 1.25rem);\n}\n\n/* line 85, src/styles/components/_hr.scss */\n\n.hr-vertical-left {\n  border: 0;\n  border-left: 1px solid #777777;\n}\n\n/* line 89, src/styles/components/_hr.scss */\n\n.hr-vertical-left:not(.cell) {\n  padding-left: 0.625rem;\n}\n\n/* line 94, src/styles/components/_hr.scss */\n\n.hr-vertical-right {\n  border: 0;\n  border-right: 1px solid #777777;\n}\n\n/* line 98, src/styles/components/_hr.scss */\n\n.hr-vertical-right:not(.cell) {\n  padding-right: 0.625rem;\n}\n\n/* line 103, src/styles/components/_hr.scss */\n\n.hr-margin {\n  margin-bottom: 1.25rem !important;\n}\n\n/* line 107, src/styles/components/_hr.scss */\n\n.hr-margin.hr-2x {\n  margin-bottom: 2.5rem !important;\n}\n\n/* line 107, src/styles/components/_hr.scss */\n\n.hr-margin.hr-3x {\n  margin-bottom: 3.75rem !important;\n}\n\n/* line 107, src/styles/components/_hr.scss */\n\n.hr-margin.hr-4x {\n  margin-bottom: 5rem !important;\n}\n\n/* line 113, src/styles/components/_hr.scss */\n\n.hr-margin.hr-margin-2x {\n  margin-bottom: 2.5rem !important;\n}\n\n/* line 113, src/styles/components/_hr.scss */\n\n.hr-margin.hr-margin-3x {\n  margin-bottom: 3.75rem !important;\n}\n\n/* line 113, src/styles/components/_hr.scss */\n\n.hr-margin.hr-margin-4x {\n  margin-bottom: 5rem !important;\n}\n\n/* line 119, src/styles/components/_hr.scss */\n\n.hr-padding {\n  padding-top: 1.25rem !important;\n}\n\n/* line 123, src/styles/components/_hr.scss */\n\n.hr-padding.hr-2x {\n  padding-top: 2.5rem !important;\n}\n\n/* line 123, src/styles/components/_hr.scss */\n\n.hr-padding.hr-3x {\n  padding-top: 3.75rem !important;\n}\n\n/* line 123, src/styles/components/_hr.scss */\n\n.hr-padding.hr-4x {\n  padding-top: 5rem !important;\n}\n\n/* line 129, src/styles/components/_hr.scss */\n\n.hr-padding.hr-padding-2x {\n  padding-top: 2.5rem !important;\n}\n\n/* line 129, src/styles/components/_hr.scss */\n\n.hr-padding.hr-padding-3x {\n  padding-top: 3.75rem !important;\n}\n\n/* line 129, src/styles/components/_hr.scss */\n\n.hr-padding.hr-padding-4x {\n  padding-top: 5rem !important;\n}\n\n/* line 50, src/styles/components/_underline.scss */\n\n.underline {\n  position: relative;\n}\n\n/* line 20, src/styles/components/_underline.scss */\n\n.underline::after {\n  content: \"\";\n  position: absolute;\n  width: 5rem;\n  height: 3px;\n  background-color: #1779ba;\n  bottom: -2px;\n  left: 0;\n}\n\n/* line 32, src/styles/components/_underline.scss */\n\n.underline.underline-primary::after {\n  background-color: #1779ba;\n}\n\n/* line 32, src/styles/components/_underline.scss */\n\n.underline.underline-secondary::after {\n  background-color: #767676;\n}\n\n/* line 32, src/styles/components/_underline.scss */\n\n.underline.underline-success::after {\n  background-color: #18a733;\n}\n\n/* line 32, src/styles/components/_underline.scss */\n\n.underline.underline-warning::after {\n  background-color: #ffae00;\n}\n\n/* line 32, src/styles/components/_underline.scss */\n\n.underline.underline-alert::after {\n  background-color: #cc4b37;\n}\n\n/* line 45, src/styles/components/_underline.scss */\n\n.underline.underline-tiny::after {\n  height: 1px;\n}\n\n/* line 45, src/styles/components/_underline.scss */\n\n.underline.underline-small::after {\n  height: 2px;\n}\n\n/* line 38, src/styles/components/_underline.scss */\n\n.underline.underline-center::after {\n  left: 50%;\n  transform: translateX(-50%);\n}\n\n/* line 16, src/styles/components/_webicon.scss */\n\n.webicon.tiny {\n  height: 0.8rem;\n  width: 0.8rem;\n}\n\n/* line 16, src/styles/components/_webicon.scss */\n\n.webicon.small {\n  height: 0.9rem;\n  width: 0.9rem;\n}\n\n/* line 16, src/styles/components/_webicon.scss */\n\n.webicon.large {\n  height: 1.25rem;\n  width: 1.25rem;\n}\n\n/* line 24, src/styles/components/_webicon.scss */\n\n.webicon.primary {\n  color: #1779ba;\n}\n\n/* line 24, src/styles/components/_webicon.scss */\n\n.webicon.secondary {\n  color: #767676;\n}\n\n/* line 24, src/styles/components/_webicon.scss */\n\n.webicon.success {\n  color: #18a733;\n}\n\n/* line 24, src/styles/components/_webicon.scss */\n\n.webicon.warning {\n  color: #ffae00;\n}\n\n/* line 24, src/styles/components/_webicon.scss */\n\n.webicon.alert {\n  color: #cc4b37;\n}\n\n/* line 6, src/styles/components/_fix.scss */\n\nimg[src=\"\"],\nimg:not([src]) {\n  opacity: 0 !important;\n}\n\n/* line 4, src/styles/components/_vars.scss */\n\n:root {\n  --primary-color: #1779ba;\n  --secondary-color: #767676;\n  --success-color: #18a733;\n  --warning-color: #ffae00;\n  --alert-color: #cc4b37;\n  --white-color: #fefefe;\n  --black-color: #000;\n  --medium-gray-color: #777777;\n  --light-gray-color: #eeeeee;\n  --gray-color: #4d4d4d;\n  --dark-gray-color: #333333;\n  --body-font: Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;\n  --title-font: Helvetica Neue, Helvetica, Roboto, Arial, sans-serif;\n  --hr-margin: 1.25rem auto;\n  --hr-padding: 1.25rem;\n  --breakpoint-small: 0;\n  --breakpoint-medium: 640px;\n  --breakpoint-large: 1024px;\n  --breakpoint-xlarge: 1200px;\n  --breakpoint-xxlarge: 1440px;\n}\n\n/** Import wordpress components */\n\n/**\r\n * WordPress Generated Classes\r\n * @see http://codex.wordpress.org/CSS#WordPress_Generated_Classes\r\n */\n\n/* line 11, src/styles/components/wp/_global.scss */\n\n.page-title {\n  text-align: center;\n}\n\n/* line 16, src/styles/components/wp/_global.scss */\n\n.post-password-form input[type=\"submit\"] {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #767676;\n  color: #fefefe;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .post-password-form input[type=\"submit\"] {\n  outline: 0;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.post-password-form input[type=\"submit\"]:hover,\n.post-password-form input[type=\"submit\"]:focus {\n  background-color: #5e5e5e;\n  color: #fefefe;\n}\n\n/** Captions */\n\n/** Text meant only for screen readers */\n\n/* line 103, node_modules/foundation-sites/scss/components/_table.scss */\n\n.wp-block-table table thead tr,\n.wp-block-table table tbody tr,\n.wp-block-table table tfoot tr {\n  border-bottom: 0;\n  border-bottom: 1px solid #f1f1f1;\n  background-color: #fefefe;\n}\n\n/* line 15, src/styles/components/wp/blocks/_table.scss */\n\n.wp-block-table table thead th:not(.has-text-align-left):not(.has-text-align-right) {\n  text-align: center;\n}\n\n/* line 21, src/styles/components/wp/blocks/_table.scss */\n\n.wp-block-table table tfoot td {\n  font-weight: normal;\n}\n\n/* line 27, src/styles/components/wp/blocks/_table.scss */\n\n.wp-block-table table.has-background thead,\n.wp-block-table table.has-background tbody,\n.wp-block-table table.has-background tfoot {\n  background-color: transparent;\n}\n\n/* line 32, src/styles/components/wp/blocks/_table.scss */\n\n.wp-block-table table.has-background thead tr,\n.wp-block-table table.has-background tbody tr,\n.wp-block-table table.has-background tfoot tr {\n  background-color: transparent;\n}\n\n/* line 5, src/styles/components/wp/blocks/_separator.scss */\n\nhr.wp-block-separator:not(.is-style-dots) {\n  border: none;\n  height: 1px;\n  overflow: visible;\n  position: relative;\n}\n\n/* line 6, src/styles/components/wp/blocks/_button.scss */\n\n[class*=\"wp-block-button__\"] {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #1779ba;\n  color: #fefefe;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] [class*=\"wp-block-button__\"] {\n  outline: 0;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n[class*=\"wp-block-button__\"]:hover,\n[class*=\"wp-block-button__\"]:focus {\n  background-color: #14679e;\n  color: #fefefe;\n}\n\n/** Import elementor components */\n\n/* line 6, src/styles/components/elementor/_buttons.scss */\n\n.elementor-button {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0 0 1rem 0;\n  padding: 0.85em 1em;\n  border: 1px solid transparent;\n  border-radius: 0;\n  transition: background-color 0.25s ease-out, color 0.25s ease-out;\n  font-family: inherit;\n  font-size: 0.9rem;\n  -webkit-appearance: none;\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n  background-color: #1779ba;\n  color: #fefefe;\n}\n\n/* line 202, node_modules/foundation-sites/scss/util/_mixins.scss */\n\n[data-whatinput='mouse'] .elementor-button {\n  outline: 0;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.elementor-button:hover,\n.elementor-button:focus {\n  background-color: #14679e;\n  color: #fefefe;\n}\n\n/* line 9, src/styles/components/elementor/_buttons.scss */\n\n.elementor-button.elementor-size-xs,\n.elementor-button.elementor-size-sm,\n.elementor-button.elementor-size-md,\n.elementor-button.elementor-size-lg,\n.elementor-button.elementor-size-xl {\n  border-radius: 0;\n}\n\n/* line 19, src/styles/components/elementor/_buttons.scss */\n\n.elementor-button-hollow .elementor-button {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 161, node_modules/foundation-sites/scss/components/_button.scss */\n\n.elementor-button-hollow .elementor-button,\n.elementor-button-hollow .elementor-button:hover,\n.elementor-button-hollow .elementor-button:focus {\n  background-color: transparent;\n}\n\n/* line 169, node_modules/foundation-sites/scss/components/_button.scss */\n\n.elementor-button-hollow .elementor-button.disabled,\n.elementor-button-hollow .elementor-button.disabled:hover,\n.elementor-button-hollow .elementor-button.disabled:focus,\n.elementor-button-hollow .elementor-button[disabled],\n.elementor-button-hollow .elementor-button[disabled]:hover,\n.elementor-button-hollow .elementor-button[disabled]:focus {\n  background-color: transparent;\n}\n\n/* line 186, node_modules/foundation-sites/scss/components/_button.scss */\n\n.elementor-button-hollow .elementor-button:hover,\n.elementor-button-hollow .elementor-button:focus {\n  border-color: #0c3d5d;\n  color: #0c3d5d;\n}\n\n/* line 189, node_modules/foundation-sites/scss/components/_button.scss */\n\n.elementor-button-hollow .elementor-button:hover.disabled,\n.elementor-button-hollow .elementor-button:hover[disabled],\n.elementor-button-hollow .elementor-button:focus.disabled,\n.elementor-button-hollow .elementor-button:focus[disabled] {\n  border: 1px solid #1779ba;\n  color: #1779ba;\n}\n\n/* line 27, src/styles/components/elementor/_buttons.scss */\n\n.elementor-element.elementor-button-info .elementor-button {\n  background-color: #767676;\n  color: #fefefe;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.elementor-element.elementor-button-info .elementor-button:hover,\n.elementor-element.elementor-button-info .elementor-button:focus {\n  background-color: #5e5e5e;\n  color: #fefefe;\n}\n\n/* line 33, src/styles/components/elementor/_buttons.scss */\n\n.elementor-element.elementor-button-success .elementor-button {\n  background-color: #18a733;\n  color: #fefefe;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.elementor-element.elementor-button-success .elementor-button:hover,\n.elementor-element.elementor-button-success .elementor-button:focus {\n  background-color: #138629;\n  color: #fefefe;\n}\n\n/* line 39, src/styles/components/elementor/_buttons.scss */\n\n.elementor-element.elementor-button-warning .elementor-button {\n  background-color: #ffae00;\n  color: #fefefe;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.elementor-element.elementor-button-warning .elementor-button:hover,\n.elementor-element.elementor-button-warning .elementor-button:focus {\n  background-color: #cc8b00;\n  color: #fefefe;\n}\n\n/* line 45, src/styles/components/elementor/_buttons.scss */\n\n.elementor-element.elementor-button-danger .elementor-button {\n  background-color: #cc4b37;\n  color: #fefefe;\n}\n\n/* line 153, node_modules/foundation-sites/scss/components/_button.scss */\n\n.elementor-element.elementor-button-danger .elementor-button:hover,\n.elementor-element.elementor-button-danger .elementor-button:focus {\n  background-color: #a53b2a;\n  color: #fefefe;\n}\n\n/* line 236, src/styles/components/_styles.scss */\n\nh3.text-body,\n.h3.text-body {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n}\n\n/* line 240, src/styles/components/_styles.scss */\n\nh3.text-header,\n.h3.text-header {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n}\n\n/* line 244, src/styles/components/_styles.scss */\n\nh3.text-title,\n.h3.text-title {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n}\n\n/* line 249, src/styles/components/_styles.scss */\n\nh3.text-uppercase,\n.h3.text-uppercase {\n  text-transform: uppercase !important;\n}\n\n/* line 249, src/styles/components/_styles.scss */\n\nh3.text-inherit,\n.h3.text-inherit {\n  text-transform: inherit !important;\n}\n\n/* line 249, src/styles/components/_styles.scss */\n\nh3.text-none,\n.h3.text-none {\n  text-transform: none !important;\n}\n\n/* line 249, src/styles/components/_styles.scss */\n\nh3.text-capitalize,\n.h3.text-capitalize {\n  text-transform: capitalize !important;\n}\n\n/* line 249, src/styles/components/_styles.scss */\n\nh3.text-lowercase,\n.h3.text-lowercase {\n  text-transform: lowercase !important;\n}\n\n/* line 265, src/styles/components/_styles.scss */\n\n.text-body--h3 h3,\n.text-body--h3 .h3 {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n}\n\n/* line 282, src/styles/components/_styles.scss */\n\n.text-title--h3 h3,\n.text-title--h3 .h3 {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n}\n\n/* line 301, src/styles/components/_styles.scss */\n\n.text-underline--h3 h3,\n.text-underline--h3 .h3 {\n  position: relative;\n}\n\n/* line 20, src/styles/components/_underline.scss */\n\n.text-underline--h3 h3::after,\n.text-underline--h3 .h3::after {\n  content: \"\";\n  position: absolute;\n  width: 5rem;\n  height: 3px;\n  background-color: #1779ba;\n  bottom: -2px;\n  left: 0;\n}\n\n/* line 38, src/styles/components/_underline.scss */\n\n.text-underline--h3.text-underline-center--h3 h3::after,\n.text-underline--h3.text-underline-center--h3 .h3::after {\n  left: 50%;\n  transform: translateX(-50%);\n}\n\n/* line 32, src/styles/components/_underline.scss */\n\n.text-underline--h3.text-underline-primary--h3 h3::after,\n.text-underline--h3.text-underline-primary--h3 .h3::after {\n  background-color: #1779ba;\n}\n\n/* line 32, src/styles/components/_underline.scss */\n\n.text-underline--h3.text-underline-secondary--h3 h3::after,\n.text-underline--h3.text-underline-secondary--h3 .h3::after {\n  background-color: #767676;\n}\n\n/* line 32, src/styles/components/_underline.scss */\n\n.text-underline--h3.text-underline-success--h3 h3::after,\n.text-underline--h3.text-underline-success--h3 .h3::after {\n  background-color: #18a733;\n}\n\n/* line 32, src/styles/components/_underline.scss */\n\n.text-underline--h3.text-underline-warning--h3 h3::after,\n.text-underline--h3.text-underline-warning--h3 .h3::after {\n  background-color: #ffae00;\n}\n\n/* line 32, src/styles/components/_underline.scss */\n\n.text-underline--h3.text-underline-alert--h3 h3::after,\n.text-underline--h3.text-underline-alert--h3 .h3::after {\n  background-color: #cc4b37;\n}\n\n/* line 45, src/styles/components/_underline.scss */\n\n.text-underline--h3.text-underline-tiny--h3 h3::after,\n.text-underline--h3.text-underline-tiny--h3 .h3::after {\n  height: 1px;\n}\n\n/* line 45, src/styles/components/_underline.scss */\n\n.text-underline--h3.text-underline-small--h3 h3::after,\n.text-underline--h3.text-underline-small--h3 .h3::after {\n  height: 2px;\n}\n\n/* line 347, src/styles/components/_styles.scss */\n\n.text-fit-center--h3 h3,\n.text-fit-center--h3 .h3 {\n  width: fit-content !important;\n  margin-left: auto !important;\n  margin-right: auto !important;\n}\n\n/* line 359, src/styles/components/_styles.scss */\n\n.text-hr--h3 h3,\n.text-hr--h3 .h3 {\n  clear: both;\n  border-left: 0;\n  border-right: 0;\n  margin-bottom: 1.25rem;\n  border-bottom: 1px solid #777777;\n}\n\n/* line 27, src/styles/components/_hr.scss */\n\n.cell .text-hr--h3 h3,\n.cell .text-hr--h3 .h3 {\n  margin-left: 0;\n  margin-right: 0;\n}\n\n/* line 371, src/styles/components/_styles.scss */\n\n.text-hr-margin--h3 h3,\n.text-hr-margin--h3 .h3 {\n  margin-bottom: 1.25rem;\n}\n\n/* line 377, src/styles/components/_styles.scss */\n\n.text-hr-margin--h3.text-hr-margin-2x--h3 h3,\n.text-hr-margin--h3.text-hr-margin-2x--h3 .h3 {\n  margin-bottom: 2.5rem;\n}\n\n/* line 377, src/styles/components/_styles.scss */\n\n.text-hr-margin--h3.text-hr-margin-3x--h3 h3,\n.text-hr-margin--h3.text-hr-margin-3x--h3 .h3 {\n  margin-bottom: 3.75rem;\n}\n\n/* line 377, src/styles/components/_styles.scss */\n\n.text-hr-margin--h3.text-hr-margin-4x--h3 h3,\n.text-hr-margin--h3.text-hr-margin-4x--h3 .h3 {\n  margin-bottom: 5rem;\n}\n\n/* line 391, src/styles/components/_styles.scss */\n\n.text-hr-padding--h3 h3,\n.text-hr-padding--h3 .h3 {\n  padding-top: 1.25rem;\n}\n\n/* line 397, src/styles/components/_styles.scss */\n\n.text-hr-padding--h3.text-hr-padding-2x--h3 h3,\n.text-hr-padding--h3.text-hr-padding-2x--h3 .h3 {\n  padding-top: 2.5rem;\n}\n\n/* line 397, src/styles/components/_styles.scss */\n\n.text-hr-padding--h3.text-hr-padding-3x--h3 h3,\n.text-hr-padding--h3.text-hr-padding-3x--h3 .h3 {\n  padding-top: 3.75rem;\n}\n\n/* line 397, src/styles/components/_styles.scss */\n\n.text-hr-padding--h3.text-hr-padding-4x--h3 h3,\n.text-hr-padding--h3.text-hr-padding-4x--h3 .h3 {\n  padding-top: 5rem;\n}\n\n/* line 412, src/styles/components/_styles.scss */\n\n.text-uppercase--h3 h3,\n.text-uppercase--h3 .h3 {\n  text-transform: uppercase !important;\n}\n\n/* line 412, src/styles/components/_styles.scss */\n\n.text-inherit--h3 h3,\n.text-inherit--h3 .h3 {\n  text-transform: inherit !important;\n}\n\n/* line 412, src/styles/components/_styles.scss */\n\n.text-none--h3 h3,\n.text-none--h3 .h3 {\n  text-transform: none !important;\n}\n\n/* line 412, src/styles/components/_styles.scss */\n\n.text-capitalize--h3 h3,\n.text-capitalize--h3 .h3 {\n  text-transform: capitalize !important;\n}\n\n/* line 412, src/styles/components/_styles.scss */\n\n.text-lowercase--h3 h3,\n.text-lowercase--h3 .h3 {\n  text-transform: lowercase !important;\n}\n\n/* line 450, src/styles/components/_styles.scss */\n\n.text-body-regular--h3 h3,\n.text-body-regular--h3 .h3 {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n  font-weight: normal !important;\n}\n\n/* line 450, src/styles/components/_styles.scss */\n\n.text-title-regular--h3 h3,\n.text-title-regular--h3 .h3 {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n  font-weight: normal !important;\n}\n\n@media print, screen and (min-width: 40em) and (min-width: 40em) {\n  /* line 236, src/styles/components/_styles.scss */\n\n  h3.text-body,\n  .h3.text-body {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n  }\n\n  /* line 240, src/styles/components/_styles.scss */\n\n  h3.text-header,\n  .h3.text-header {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n  }\n\n  /* line 244, src/styles/components/_styles.scss */\n\n  h3.text-title,\n  .h3.text-title {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n  }\n\n  /* line 249, src/styles/components/_styles.scss */\n\n  h3.text-uppercase,\n  .h3.text-uppercase {\n    text-transform: uppercase !important;\n  }\n\n  /* line 249, src/styles/components/_styles.scss */\n\n  h3.text-inherit,\n  .h3.text-inherit {\n    text-transform: inherit !important;\n  }\n\n  /* line 249, src/styles/components/_styles.scss */\n\n  h3.text-none,\n  .h3.text-none {\n    text-transform: none !important;\n  }\n\n  /* line 249, src/styles/components/_styles.scss */\n\n  h3.text-capitalize,\n  .h3.text-capitalize {\n    text-transform: capitalize !important;\n  }\n\n  /* line 249, src/styles/components/_styles.scss */\n\n  h3.text-lowercase,\n  .h3.text-lowercase {\n    text-transform: lowercase !important;\n  }\n\n  /* line 265, src/styles/components/_styles.scss */\n\n  .text-body--h3 h3,\n  .text-body--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n  }\n\n  /* line 282, src/styles/components/_styles.scss */\n\n  .text-title--h3 h3,\n  .text-title--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n  }\n\n  /* line 301, src/styles/components/_styles.scss */\n\n  .text-underline--h3 h3,\n  .text-underline--h3 .h3 {\n    position: relative;\n  }\n\n  /* line 20, src/styles/components/_underline.scss */\n\n  .text-underline--h3 h3::after,\n  .text-underline--h3 .h3::after {\n    content: \"\";\n    position: absolute;\n    width: 5rem;\n    height: 3px;\n    background-color: #1779ba;\n    bottom: -2px;\n    left: 0;\n  }\n\n  /* line 38, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-center--h3 h3::after,\n  .text-underline--h3.text-underline-center--h3 .h3::after {\n    left: 50%;\n    transform: translateX(-50%);\n  }\n\n  /* line 32, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-primary--h3 h3::after,\n  .text-underline--h3.text-underline-primary--h3 .h3::after {\n    background-color: #1779ba;\n  }\n\n  /* line 32, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-secondary--h3 h3::after,\n  .text-underline--h3.text-underline-secondary--h3 .h3::after {\n    background-color: #767676;\n  }\n\n  /* line 32, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-success--h3 h3::after,\n  .text-underline--h3.text-underline-success--h3 .h3::after {\n    background-color: #18a733;\n  }\n\n  /* line 32, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-warning--h3 h3::after,\n  .text-underline--h3.text-underline-warning--h3 .h3::after {\n    background-color: #ffae00;\n  }\n\n  /* line 32, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-alert--h3 h3::after,\n  .text-underline--h3.text-underline-alert--h3 .h3::after {\n    background-color: #cc4b37;\n  }\n\n  /* line 45, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-tiny--h3 h3::after,\n  .text-underline--h3.text-underline-tiny--h3 .h3::after {\n    height: 1px;\n  }\n\n  /* line 45, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-small--h3 h3::after,\n  .text-underline--h3.text-underline-small--h3 .h3::after {\n    height: 2px;\n  }\n\n  /* line 347, src/styles/components/_styles.scss */\n\n  .text-fit-center--h3 h3,\n  .text-fit-center--h3 .h3 {\n    width: fit-content !important;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n\n  /* line 359, src/styles/components/_styles.scss */\n\n  .text-hr--h3 h3,\n  .text-hr--h3 .h3 {\n    clear: both;\n    border-left: 0;\n    border-right: 0;\n    margin-bottom: 1.25rem;\n    border-bottom: 1px solid #777777;\n  }\n\n  /* line 27, src/styles/components/_hr.scss */\n\n  .cell .text-hr--h3 h3,\n  .cell .text-hr--h3 .h3 {\n    margin-left: 0;\n    margin-right: 0;\n  }\n\n  /* line 371, src/styles/components/_styles.scss */\n\n  .text-hr-margin--h3 h3,\n  .text-hr-margin--h3 .h3 {\n    margin-bottom: 1.25rem;\n  }\n\n  /* line 377, src/styles/components/_styles.scss */\n\n  .text-hr-margin--h3.text-hr-margin-2x--h3 h3,\n  .text-hr-margin--h3.text-hr-margin-2x--h3 .h3 {\n    margin-bottom: 2.5rem;\n  }\n\n  /* line 377, src/styles/components/_styles.scss */\n\n  .text-hr-margin--h3.text-hr-margin-3x--h3 h3,\n  .text-hr-margin--h3.text-hr-margin-3x--h3 .h3 {\n    margin-bottom: 3.75rem;\n  }\n\n  /* line 377, src/styles/components/_styles.scss */\n\n  .text-hr-margin--h3.text-hr-margin-4x--h3 h3,\n  .text-hr-margin--h3.text-hr-margin-4x--h3 .h3 {\n    margin-bottom: 5rem;\n  }\n\n  /* line 391, src/styles/components/_styles.scss */\n\n  .text-hr-padding--h3 h3,\n  .text-hr-padding--h3 .h3 {\n    padding-top: 1.25rem;\n  }\n\n  /* line 397, src/styles/components/_styles.scss */\n\n  .text-hr-padding--h3.text-hr-padding-2x--h3 h3,\n  .text-hr-padding--h3.text-hr-padding-2x--h3 .h3 {\n    padding-top: 2.5rem;\n  }\n\n  /* line 397, src/styles/components/_styles.scss */\n\n  .text-hr-padding--h3.text-hr-padding-3x--h3 h3,\n  .text-hr-padding--h3.text-hr-padding-3x--h3 .h3 {\n    padding-top: 3.75rem;\n  }\n\n  /* line 397, src/styles/components/_styles.scss */\n\n  .text-hr-padding--h3.text-hr-padding-4x--h3 h3,\n  .text-hr-padding--h3.text-hr-padding-4x--h3 .h3 {\n    padding-top: 5rem;\n  }\n\n  /* line 412, src/styles/components/_styles.scss */\n\n  .text-uppercase--h3 h3,\n  .text-uppercase--h3 .h3 {\n    text-transform: uppercase !important;\n  }\n\n  /* line 412, src/styles/components/_styles.scss */\n\n  .text-inherit--h3 h3,\n  .text-inherit--h3 .h3 {\n    text-transform: inherit !important;\n  }\n\n  /* line 412, src/styles/components/_styles.scss */\n\n  .text-none--h3 h3,\n  .text-none--h3 .h3 {\n    text-transform: none !important;\n  }\n\n  /* line 412, src/styles/components/_styles.scss */\n\n  .text-capitalize--h3 h3,\n  .text-capitalize--h3 .h3 {\n    text-transform: capitalize !important;\n  }\n\n  /* line 412, src/styles/components/_styles.scss */\n\n  .text-lowercase--h3 h3,\n  .text-lowercase--h3 .h3 {\n    text-transform: lowercase !important;\n  }\n\n  /* line 450, src/styles/components/_styles.scss */\n\n  .text-body-regular--h3 h3,\n  .text-body-regular--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n    font-weight: normal !important;\n  }\n\n  /* line 450, src/styles/components/_styles.scss */\n\n  .text-title-regular--h3 h3,\n  .text-title-regular--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n    font-weight: normal !important;\n  }\n}\n\n@media print, screen and (min-width: 64em) and (min-width: 64em) {\n  /* line 236, src/styles/components/_styles.scss */\n\n  h3.text-body,\n  .h3.text-body {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n  }\n\n  /* line 240, src/styles/components/_styles.scss */\n\n  h3.text-header,\n  .h3.text-header {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n  }\n\n  /* line 244, src/styles/components/_styles.scss */\n\n  h3.text-title,\n  .h3.text-title {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n  }\n\n  /* line 249, src/styles/components/_styles.scss */\n\n  h3.text-uppercase,\n  .h3.text-uppercase {\n    text-transform: uppercase !important;\n  }\n\n  /* line 249, src/styles/components/_styles.scss */\n\n  h3.text-inherit,\n  .h3.text-inherit {\n    text-transform: inherit !important;\n  }\n\n  /* line 249, src/styles/components/_styles.scss */\n\n  h3.text-none,\n  .h3.text-none {\n    text-transform: none !important;\n  }\n\n  /* line 249, src/styles/components/_styles.scss */\n\n  h3.text-capitalize,\n  .h3.text-capitalize {\n    text-transform: capitalize !important;\n  }\n\n  /* line 249, src/styles/components/_styles.scss */\n\n  h3.text-lowercase,\n  .h3.text-lowercase {\n    text-transform: lowercase !important;\n  }\n\n  /* line 265, src/styles/components/_styles.scss */\n\n  .text-body--h3 h3,\n  .text-body--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n  }\n\n  /* line 282, src/styles/components/_styles.scss */\n\n  .text-title--h3 h3,\n  .text-title--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n  }\n\n  /* line 301, src/styles/components/_styles.scss */\n\n  .text-underline--h3 h3,\n  .text-underline--h3 .h3 {\n    position: relative;\n  }\n\n  /* line 20, src/styles/components/_underline.scss */\n\n  .text-underline--h3 h3::after,\n  .text-underline--h3 .h3::after {\n    content: \"\";\n    position: absolute;\n    width: 5rem;\n    height: 3px;\n    background-color: #1779ba;\n    bottom: -2px;\n    left: 0;\n  }\n\n  /* line 38, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-center--h3 h3::after,\n  .text-underline--h3.text-underline-center--h3 .h3::after {\n    left: 50%;\n    transform: translateX(-50%);\n  }\n\n  /* line 32, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-primary--h3 h3::after,\n  .text-underline--h3.text-underline-primary--h3 .h3::after {\n    background-color: #1779ba;\n  }\n\n  /* line 32, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-secondary--h3 h3::after,\n  .text-underline--h3.text-underline-secondary--h3 .h3::after {\n    background-color: #767676;\n  }\n\n  /* line 32, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-success--h3 h3::after,\n  .text-underline--h3.text-underline-success--h3 .h3::after {\n    background-color: #18a733;\n  }\n\n  /* line 32, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-warning--h3 h3::after,\n  .text-underline--h3.text-underline-warning--h3 .h3::after {\n    background-color: #ffae00;\n  }\n\n  /* line 32, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-alert--h3 h3::after,\n  .text-underline--h3.text-underline-alert--h3 .h3::after {\n    background-color: #cc4b37;\n  }\n\n  /* line 45, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-tiny--h3 h3::after,\n  .text-underline--h3.text-underline-tiny--h3 .h3::after {\n    height: 1px;\n  }\n\n  /* line 45, src/styles/components/_underline.scss */\n\n  .text-underline--h3.text-underline-small--h3 h3::after,\n  .text-underline--h3.text-underline-small--h3 .h3::after {\n    height: 2px;\n  }\n\n  /* line 347, src/styles/components/_styles.scss */\n\n  .text-fit-center--h3 h3,\n  .text-fit-center--h3 .h3 {\n    width: fit-content !important;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n\n  /* line 359, src/styles/components/_styles.scss */\n\n  .text-hr--h3 h3,\n  .text-hr--h3 .h3 {\n    clear: both;\n    border-left: 0;\n    border-right: 0;\n    margin-bottom: 1.25rem;\n    border-bottom: 1px solid #777777;\n  }\n\n  /* line 27, src/styles/components/_hr.scss */\n\n  .cell .text-hr--h3 h3,\n  .cell .text-hr--h3 .h3 {\n    margin-left: 0;\n    margin-right: 0;\n  }\n\n  /* line 371, src/styles/components/_styles.scss */\n\n  .text-hr-margin--h3 h3,\n  .text-hr-margin--h3 .h3 {\n    margin-bottom: 1.25rem;\n  }\n\n  /* line 377, src/styles/components/_styles.scss */\n\n  .text-hr-margin--h3.text-hr-margin-2x--h3 h3,\n  .text-hr-margin--h3.text-hr-margin-2x--h3 .h3 {\n    margin-bottom: 2.5rem;\n  }\n\n  /* line 377, src/styles/components/_styles.scss */\n\n  .text-hr-margin--h3.text-hr-margin-3x--h3 h3,\n  .text-hr-margin--h3.text-hr-margin-3x--h3 .h3 {\n    margin-bottom: 3.75rem;\n  }\n\n  /* line 377, src/styles/components/_styles.scss */\n\n  .text-hr-margin--h3.text-hr-margin-4x--h3 h3,\n  .text-hr-margin--h3.text-hr-margin-4x--h3 .h3 {\n    margin-bottom: 5rem;\n  }\n\n  /* line 391, src/styles/components/_styles.scss */\n\n  .text-hr-padding--h3 h3,\n  .text-hr-padding--h3 .h3 {\n    padding-top: 1.25rem;\n  }\n\n  /* line 397, src/styles/components/_styles.scss */\n\n  .text-hr-padding--h3.text-hr-padding-2x--h3 h3,\n  .text-hr-padding--h3.text-hr-padding-2x--h3 .h3 {\n    padding-top: 2.5rem;\n  }\n\n  /* line 397, src/styles/components/_styles.scss */\n\n  .text-hr-padding--h3.text-hr-padding-3x--h3 h3,\n  .text-hr-padding--h3.text-hr-padding-3x--h3 .h3 {\n    padding-top: 3.75rem;\n  }\n\n  /* line 397, src/styles/components/_styles.scss */\n\n  .text-hr-padding--h3.text-hr-padding-4x--h3 h3,\n  .text-hr-padding--h3.text-hr-padding-4x--h3 .h3 {\n    padding-top: 5rem;\n  }\n\n  /* line 412, src/styles/components/_styles.scss */\n\n  .text-uppercase--h3 h3,\n  .text-uppercase--h3 .h3 {\n    text-transform: uppercase !important;\n  }\n\n  /* line 412, src/styles/components/_styles.scss */\n\n  .text-inherit--h3 h3,\n  .text-inherit--h3 .h3 {\n    text-transform: inherit !important;\n  }\n\n  /* line 412, src/styles/components/_styles.scss */\n\n  .text-none--h3 h3,\n  .text-none--h3 .h3 {\n    text-transform: none !important;\n  }\n\n  /* line 412, src/styles/components/_styles.scss */\n\n  .text-capitalize--h3 h3,\n  .text-capitalize--h3 .h3 {\n    text-transform: capitalize !important;\n  }\n\n  /* line 412, src/styles/components/_styles.scss */\n\n  .text-lowercase--h3 h3,\n  .text-lowercase--h3 .h3 {\n    text-transform: lowercase !important;\n  }\n\n  /* line 450, src/styles/components/_styles.scss */\n\n  .text-body-regular--h3 h3,\n  .text-body-regular--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n    font-weight: normal !important;\n  }\n\n  /* line 450, src/styles/components/_styles.scss */\n\n  .text-title-regular--h3 h3,\n  .text-title-regular--h3 .h3 {\n    font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif !important;\n    font-weight: normal !important;\n  }\n}\n\n/* line 493, src/styles/components/_styles.scss */\n\n.text-body-regular {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-weight: normal;\n}\n\n/* line 493, src/styles/components/_styles.scss */\n\n.text-title-regular {\n  font-family: \"Helvetica Neue\", Helvetica, Roboto, Arial, sans-serif;\n  font-weight: normal;\n}\n\n/* line 512, src/styles/components/_styles.scss */\n\n.text-weight-regular {\n  font-weight: normal !important;\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/main.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group breakpoints\n////\n\n/// A list of named breakpoints. You can use these with the `breakpoint()` mixin to quickly create media queries.\n/// @type Map\n$breakpoints: (\n  small: 0,\n  medium: 640px,\n  large: 1024px,\n  xlarge: 1200px,\n  xxlarge: 1440px,\n) !default;\n\n/// The largest named breakpoint in which to include print as a media type\n/// @type Keyword\n$print-breakpoint: large !default;\n\n$-zf-zero-breakpoint: small !default;\n\n$-zf-breakpoints-keys: map-to-list($breakpoints, 'keys');\n\n@if nth(map-values($breakpoints), 1) != 0 {\n  @error 'The first key in the $breakpoints map must have a value of \"0\".';\n}\n@else {\n  $-zf-zero-breakpoint: nth(map-keys($breakpoints), 1);\n}\n\n/// All of the names in this list will be output as classes in your CSS, like `.small-12`, `.medium-6`, and so on. Each value in this list must also be in the `$breakpoints` map.\n/// @type List\n$breakpoint-classes: (small medium large) !default;\n\n/// Generates a media query string matching the input value. Refer to the documentation for the `breakpoint()` mixin to see what the possible inputs are.\n///\n/// @param {Keyword|Number} $val [small] - Breakpoint name, or px, rem, or em value to process.\n@function breakpoint($val: $-zf-zero-breakpoint) {\n  // Size or keyword\n  $bp: nth($val, 1);\n  // Value for max-width media queries\n  $bp-max: 0;\n  // Direction of media query (up, down, or only)\n  $dir: if(length($val) > 1, nth($val, 2), up);\n  // Eventual output\n  $str: '';\n  // Is it a named media query?\n  $named: false;\n\n  // Orientation media queries have a unique syntax\n  @if $bp == 'landscape' or $bp == 'portrait' {\n    @return '(orientation: #{$bp})';\n  }\n  @else if $bp == 'retina' {\n    @return '(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)';\n  }\n\n  // Try to pull a named breakpoint out of the $breakpoints map\n  @if type-of($bp) == 'string' {\n    @if map-has-key($breakpoints, $bp) {\n      @if $dir == 'only' or $dir == 'down' {\n        $bp-max: -zf-map-next($breakpoints, $bp);\n      }\n\n      $bp: map-get($breakpoints, $bp);\n      $named: true;\n    }\n    @else {\n      $bp: 0;\n      @warn 'breakpoint(): \"#{$val}\" is not defined in your $breakpoints setting.';\n    }\n  }\n\n  // Convert any pixel, rem, or unitless value to em\n  $bp: -zf-bp-to-em($bp);\n  // Max value is 0.2px under the next breakpoint (0.02 / 16 = 0.00125).\n  // Use a precision under 1px to support browser zoom, but not to low to avoid rounding.\n  // See https://github.com/zurb/foundation-sites/issues/11313\n  @if $bp-max {\n    $bp-max: -zf-bp-to-em($bp-max) - .00125;\n  }\n\n  // Conditions to skip media query creation\n  // - It's a named breakpoint that resolved to \"0 down\" or \"0 up\"\n  // - It's a numeric breakpoint that resolved to \"0 \" + anything\n  @if $bp > 0em or $dir == 'only' or $dir == 'down' {\n    // `only` ranges use the format `(min-width: n) and (max-width: n)`\n    @if $dir == 'only' {\n      // Only named media queries can have an \"only\" range\n      @if $named == true {\n        // Only use \"min-width\" if the floor is greater than 0\n        @if $bp > 0em {\n          $str: $str + '(min-width: #{$bp})';\n\n          // Only add \"and\" to the media query if there's a ceiling\n          @if $bp-max != null {\n            $str: $str + ' and ';\n          }\n        }\n\n        // Only use \"max-width\" if there's a ceiling\n        @if $bp-max != null {\n          $str: $str + '(max-width: #{$bp-max})';\n        }\n      }\n      @else {\n        @warn 'breakpoint(): Only named media queries can have an `only` range.';\n      }\n    }\n\n    // `down` ranges use the format `(max-width: n)`\n    @else if $dir == 'down' {\n      $max: if($named, $bp-max, $bp);\n\n      // Skip media query creation if input value is exactly \"0 down\",\n      // unless the function was called as \"small down\", in which case it's just \"small only\"\n      @if $named or $bp > 0em {\n        @if $max != null {\n          $str: $str + '(max-width: #{$max})';\n        }\n      }\n    }\n\n    // `up` ranges use the format `(min-width: n)`\n    @else if $bp > 0em {\n      $str: $str + '(min-width: #{$bp})';\n    }\n  }\n\n  @return $str;\n}\n\n/// Wraps a media query around the content you put inside the mixin. This mixin accepts a number of values:\n///  - If a string is passed, the mixin will look for it in the `$breakpoints` map, and use a media query there.\n///  - If a pixel value is passed, it will be converted to an em value using `$global-font-size` as the base.\n///  - If a rem value is passed, the unit will be changed to em.\n///  - If an em value is passed, the value will be used as-is.\n///\n/// @param {Keyword|Number} $value - Breakpoint name, or px, rem, or em value to process.\n///\n/// @output If the breakpoint is \"0px and larger\", outputs the content as-is. Otherwise, outputs the content wrapped in a media query.\n@mixin breakpoint($value) {\n  $str: breakpoint($value);\n  $bp: index($-zf-breakpoints-keys, $value);\n  $pbp: index($-zf-breakpoints-keys, $print-breakpoint);\n\n  $old-zf-size: null;\n\n  // Make breakpoint size available as a variable\n  @if global-variable-exists(-zf-size) {\n    $old-zf-size: $-zf-size;\n  }\n  $-zf-size: nth($value, 1) !global; // get the first value to account for `only` and `down` keywords\n\n  // If $str is still an empty string, no media query is needed\n  @if $str == '' {\n    @content;\n  }\n\n  // Otherwise, wrap the content in a media query\n  @else {\n    // For named breakpoints less than or equal to $print-breakpoint, add print to the media types\n    @if $bp != null and $bp <= $pbp {\n      @media print, screen and #{$str} {\n        @content;\n       }\n    }\n    @else {\n      @media screen and #{$str} {\n        @content;\n      }\n    }\n  }\n\n  $-zf-size: $old-zf-size !global;\n}\n\n/// Converts the breakpoints map to a URL-encoded string, like this: `key1=value1&key2=value2`. The value is then dropped into the CSS for a special `<meta>` tag, which is read by the Foundation JavaScript. This is how we transfer values from Sass to JavaScript, so they can be defined in one place.\n/// @access private\n///\n/// @param {Map} $map - Map to convert.\n///\n/// @returns {String} A string containing the map's contents.\n@function -zf-bp-serialize($map) {\n  $str: '';\n  @each $key, $value in $map {\n    $str: $str + $key + '=' + -zf-bp-to-em($value) + '&';\n  }\n  $str: str-slice($str, 1, -2);\n\n  @return $str;\n}\n\n/// Find the next key in a map.\n/// @access private\n///\n/// @param {Map} $map - Map to traverse.\n/// @param {Mixed} $key - Key to use as a starting point.\n///\n/// @returns {Mixed} The value for the key after `$key`, if `$key` was found. If `$key` was not found, or `$key` was the last value in the map, returns `null`.\n@function -zf-map-next($map, $key) {\n\n  // Store the keys of the map as a list\n  $values: map-keys($map);\n\n  $i: 0;\n\n  // If the Key Exists, Get the index of the key within the map and add 1 to it for the next breakpoint in the map\n  @if (map-has-key($map, $key)) {\n    $i: index($values, $key) + 1;\n  }\n\n  // If the key doesn't exist, or it's the last key in the map, return null\n  @if ($i > length($map) or $i == 0) {\n    @return null;\n  }\n  // Otherwise, return the value\n  @else {\n    @return map-get($map, nth($values, $i));\n  }\n\n}\n\n/// Return a list of our named breakpoints less than $key. Useful for dealing with\n/// responsive gutters for the grid.\n/// @access private\n///\n/// @param {String} $key - Key to use as last breakpoint.\n///\n/// @returns {Array} The list of breakpoints up to and. If $key is auto, returns breakpoints above the zero\n@function -zf-breakpoints-less-than($key) {\n  $list: ();\n  $found_key: false;\n\n  @each $name in $-zf-breakpoints-keys {\n    @if ($name == $key) {\n      $found_key: true;\n    }\n    @if not $found_key {\n      $list: append($list, $name);\n    }\n  }\n  @return $list;\n}\n\n/// Return a list of our named breakpoints less than $key. Useful for dealing with\n/// responsive gutters for the grid.\n/// @access private\n///\n/// @param {String} $breakpoint - a named or non-named breakpoint.\n///\n/// @returns {Array} The list of breakpoints up to and. If $key is auto, returns breakpoints above the zero\n@function -zf-closest-named-breakpoint($breakpoint) {\n  $last: $-zf-zero-breakpoint;\n  $found: false;\n\n  $value: unitless-calc($breakpoint, 1px);\n  @each $key, $val in $breakpoints {\n    @if not $found {\n      @if unitless-calc($val) > $value {\n        $found: true;\n      } @else {\n        $last: $key;\n      }\n    }\n  }\n\n  @return $last;\n}\n\n/// Get a value for a breakpoint from a responsive config map or single value.\n/// - If the config is a single value, return it regardless of `$value`.\n/// - If the config is a map and has the key `$value`, the exact breakpoint value is returned.\n/// - If the config is a map and does *not* have the breakpoint, the value matching the next lowest breakpoint in the config map is returned.\n/// @access private\n///\n/// @param {Number|Map} $map - Responsive config map or single value.\n/// @param {Keyword} $value - Breakpoint name to use.\n///\n/// @return {Mixed} The corresponding breakpoint value.\n@function -zf-get-bp-val($map, $value) {\n  // If the given map is a single value, return it\n  @if type-of($map) == 'number' {\n    @return $map;\n  }\n\n\n  // Check if the breakpoint name exists globally\n  @if not map-has-key($breakpoints, $value) {\n    @if type-of($value) == 'number' {\n      $value: -zf-closest-named-breakpoint($value);\n    } @else {\n      @return null;\n    }\n  }\n  // Check if the breakpoint name exists in the local config map\n  @else if map-has-key($map, $value) {\n    // If it does, just return the value\n    @return map-get($map, $value);\n  }\n  // Otherwise, find the next lowest breakpoint and return that value\n  @else {\n    $anchor: null;\n    $found: false;\n\n    @each $key, $val in $breakpoints {\n      @if not $found {\n        @if map-has-key($map, $key) {\n          $anchor: $key;\n        }\n        @if $key == $value {\n          $found: true;\n        }\n      }\n    }\n\n    @return map-get($map, $anchor);\n  }\n}\n\n$small-up: '';\n$small-only: '';\n\n@if map-has-key($breakpoints, small) {\n  $small-up: screen;\n  $small-only: unquote('screen and #{breakpoint(small only)}');\n}\n\n$medium-up: '';\n$medium-only: '';\n\n@if map-has-key($breakpoints, medium) {\n  $medium-up: unquote('screen and #{breakpoint(medium)}');\n  $medium-only: unquote('screen and #{breakpoint(medium only)}');\n}\n\n$large-up: '';\n$large-only: '';\n\n@if map-has-key($breakpoints, large) {\n  $large-up: unquote('screen and #{breakpoint(large)}');\n  $large-only: unquote('screen and #{breakpoint(large only)}');\n}\n\n$xlarge-up: '';\n$xlarge-only: '';\n\n@if map-has-key($breakpoints, xlarge) {\n  $xlarge-up: unquote('screen and #{breakpoint(xlarge)}');\n  $xlarge-only: unquote('screen and #{breakpoint(xlarge only)}');\n}\n\n$xxlarge-up: '';\n\n@if map-has-key($breakpoints, xxlarge) {\n  $xxlarge-up: unquote('screen and #{breakpoint(xxlarge)}');\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/util/_breakpoint.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group reveal\n////\n\n/// Default background color of a modal.\n/// @type Color\n$reveal-background: $white !default;\n\n/// Default width of a modal, with no class applied.\n/// @type Number\n$reveal-width: 600px !default;\n\n/// Default maximum width of a modal.\n/// @type Number\n$reveal-max-width: $global-width !default;\n\n/// Default padding inside a modal.\n/// @type Number\n$reveal-padding: $global-padding !default;\n\n/// Default border around a modal.\n/// @type Number\n$reveal-border: 1px solid $medium-gray !default;\n\n/// Default radius for modal.\n/// @type Number\n$reveal-radius: $global-radius !default;\n\n/// z-index for modals. The overlay uses this value, while the modal itself uses this value plus one.\n/// @type Number\n$reveal-zindex: 1005 !default;\n\n/// Background color of modal overlays.\n/// @type Color\n$reveal-overlay-background: rgba($black, 0.45) !default;\n\n\n// Placeholder selector for medium-and-up modals\n// Prevents duplicate CSS when defining multiple Reveal sizes\n// This should be in the same breakpoint then `@mixin reveal-modal-width`\n@include breakpoint(medium) {\n  %reveal-centered {\n    right: auto;\n    left: auto;\n    margin: 0 auto;\n  }\n}\n\n\n/// Adds styles for a modal overlay.\n/// @param {Color} $background [$reveal-overlay-background] - Background color of the overlay.\n@mixin reveal-overlay($background: $reveal-overlay-background) {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: $reveal-zindex;\n\n  display: none;\n  background-color: $background;\n  overflow-y: auto;\n}\n\n/// Adds base styles for a modal.\n@mixin reveal-modal-base {\n  @include disable-mouse-outline;\n  z-index: $reveal-zindex + 1;\n  // Workaround android browser z-index bug\n  backface-visibility: hidden;\n\n  display: none;\n  padding: $reveal-padding;\n\n  border: $reveal-border;\n  border-radius: $reveal-radius;\n  background-color: $reveal-background;\n\n  @include breakpoint(medium) {\n    min-height: 0;\n  }\n\n  // Make sure rows don't have a min-width on them\n  .column {\n    min-width: 0;\n  }\n\n  // Strip margins from the last item in the modal\n  > :last-child {\n    margin-bottom: 0;\n  }\n}\n\n/// Adjusts the width of a modal.\n/// @param {Number} $width - Width of the modal. Generally a percentage.\n/// @param {Number} $max-width [$reveal-max-width] - Maximum width of the modal.\n@mixin reveal-modal-width(\n  $width: $reveal-width,\n  $max-width: $reveal-max-width\n) {\n  // Extends must be made outside of breakpoints for compatibility with newer Sass versions (libsass v3.5)\n  @extend %reveal-centered;\n  @include breakpoint(medium) {\n    width: $width;\n    max-width: $max-width;\n  }\n}\n\n/// Creates a full-screen modal, which stretches the full width and height of the window.\n@mixin reveal-modal-fullscreen {\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n\n  width: 100%;\n  max-width: none;\n  height: 100%;\n  min-height: 100%;\n  margin-left: 0;\n\n  border: 0;\n  border-radius: 0;\n}\n\n@mixin foundation-reveal {\n\n  /// Disables the scroll when Reveal is shown to prevent the background from shifting\n  html.is-reveal-open {\n    position: fixed;\n    width: 100%;\n    overflow-y: hidden;\n\n    &.zf-has-scroll {\n      overflow-y: scroll;\n    }\n\n    body { // sass-lint:disable-line no-qualifying-elements\n      overflow-y: hidden;\n    }\n  }\n\n  // Overlay\n  .reveal-overlay {\n    @include reveal-overlay;\n  }\n\n  // Modal container\n  .reveal {\n    @include reveal-modal-base;\n    @include reveal-modal-width($reveal-width);\n    position: relative;\n    top: 100px;\n    margin-right: auto;\n    margin-left: auto;\n    overflow-y: auto;\n\n    // Remove padding\n    &.collapse {\n      padding: 0;\n    }\n\n    // Sizing classes\n    &.tiny  { @include reveal-modal-width(30%); }\n    &.small { @include reveal-modal-width(50%); }\n    &.large { @include reveal-modal-width(90%); }\n\n    // Full-screen mode\n    &.full {\n      @include reveal-modal-fullscreen;\n    }\n\n    @include breakpoint($-zf-zero-breakpoint only) {\n      @include reveal-modal-fullscreen;\n    }\n\n    &.without-overlay {\n      position: fixed;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_reveal.scss","@charset \"UTF-8\";\n/*!\n * Hamburgers\n * @description Tasty CSS-animated hamburgers\n * @author Jonathan Suh @jonsuh\n * @site https://jonsuh.com/hamburgers\n * @link https://github.com/jonsuh/hamburgers\n */\n\n// Settings\n// ==================================================\n$hamburger-padding-x           : 15px !default;\n$hamburger-padding-y           : 15px !default;\n$hamburger-layer-width         : 40px !default;\n$hamburger-layer-height        : 4px !default;\n$hamburger-layer-spacing       : 6px !default;\n$hamburger-layer-color         : #000 !default;\n$hamburger-layer-border-radius : 4px !default;\n$hamburger-hover-opacity       : 0.7 !default;\n$hamburger-active-layer-color  : $hamburger-layer-color !default;\n$hamburger-active-hover-opacity: $hamburger-hover-opacity !default;\n\n// To use CSS filters as the hover effect instead of opacity,\n// set $hamburger-hover-use-filter as true and\n// change the value of $hamburger-hover-filter accordingly.\n$hamburger-hover-use-filter   : false !default;\n$hamburger-hover-filter       : opacity(50%) !default;\n$hamburger-active-hover-filter: $hamburger-hover-filter !default;\n\n// Types (Remove or comment out what you don’t need)\n// ==================================================\n$hamburger-types: (\n  3dx,\n  3dx-r,\n  3dy,\n  3dy-r,\n  3dxy,\n  3dxy-r,\n  arrow,\n  arrow-r,\n  arrowalt,\n  arrowalt-r,\n  arrowturn,\n  arrowturn-r,\n  boring,\n  collapse,\n  collapse-r,\n  elastic,\n  elastic-r,\n  emphatic,\n  emphatic-r,\n  minus,\n  slider,\n  slider-r,\n  spin,\n  spin-r,\n  spring,\n  spring-r,\n  stand,\n  stand-r,\n  squeeze,\n  vortex,\n  vortex-r\n) !default;\n\n// Base Hamburger (We need this)\n// ==================================================\n@import \"base\";\n\n// Hamburger types\n// ==================================================\n@import \"types/3dx\";\n@import \"types/3dx-r\";\n@import \"types/3dy\";\n@import \"types/3dy-r\";\n@import \"types/3dxy\";\n@import \"types/3dxy-r\";\n@import \"types/arrow\";\n@import \"types/arrow-r\";\n@import \"types/arrowalt\";\n@import \"types/arrowalt-r\";\n@import \"types/arrowturn\";\n@import \"types/arrowturn-r\";\n@import \"types/boring\";\n@import \"types/collapse\";\n@import \"types/collapse-r\";\n@import \"types/elastic\";\n@import \"types/elastic-r\";\n@import \"types/emphatic\";\n@import \"types/emphatic-r\";\n@import \"types/minus\";\n@import \"types/slider\";\n@import \"types/slider-r\";\n@import \"types/spin\";\n@import \"types/spin-r\";\n@import \"types/spring\";\n@import \"types/spring-r\";\n@import \"types/stand\";\n@import \"types/stand-r\";\n@import \"types/squeeze\";\n@import \"types/vortex\";\n@import \"types/vortex-r\";\n\n// ==================================================\n// Cooking up additional types:\n//\n// The Sass for each hamburger type should be nested\n// inside an @if directive to check whether or not\n// it exists in $hamburger-types so only the CSS for\n// included types are generated.\n//\n// e.g. hamburgers/types/_new-type.scss\n//\n// @if index($hamburger-types, new-type) {\n//   .hamburger--new-type {\n//     ...\n//   }\n// }\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/hamburgers.scss","// Hamburger\n// ==================================================\n.hamburger {\n  padding: $hamburger-padding-y $hamburger-padding-x;\n  display: inline-block;\n  cursor: pointer;\n\n  transition-property: opacity, filter;\n  transition-duration: 0.15s;\n  transition-timing-function: linear;\n\n  // Normalize (<button>)\n  font: inherit;\n  color: inherit;\n  text-transform: none;\n  background-color: transparent;\n  border: 0;\n  margin: 0;\n  overflow: visible;\n\n  &:hover {\n    @if $hamburger-hover-use-filter == true {\n      filter: $hamburger-hover-filter;\n    }\n    @else {\n      opacity: $hamburger-hover-opacity;\n    }\n  }\n\n  &.is-active {\n    &:hover {\n      @if $hamburger-hover-use-filter == true {\n        filter: $hamburger-active-hover-filter;\n      }\n      @else {\n        opacity: $hamburger-active-hover-opacity;\n      }\n    }\n\n    .hamburger-inner,\n    .hamburger-inner::before,\n    .hamburger-inner::after {\n      background-color: $hamburger-active-layer-color;\n    }\n  }\n}\n\n.hamburger-box {\n  width: $hamburger-layer-width;\n  height: $hamburger-layer-height * 3 + $hamburger-layer-spacing * 2;\n  display: inline-block;\n  position: relative;\n}\n\n.hamburger-inner {\n  display: block;\n  top: 50%;\n  margin-top: $hamburger-layer-height / -2;\n\n  &,\n  &::before,\n  &::after {\n    width: $hamburger-layer-width;\n    height: $hamburger-layer-height;\n    background-color: $hamburger-layer-color;\n    border-radius: $hamburger-layer-border-radius;\n    position: absolute;\n    transition-property: transform;\n    transition-duration: 0.15s;\n    transition-timing-function: ease;\n  }\n\n  &::before,\n  &::after {\n    content: \"\";\n    display: block;\n  }\n\n  &::before {\n    top: ($hamburger-layer-spacing + $hamburger-layer-height) * -1;\n  }\n\n  &::after {\n    bottom: ($hamburger-layer-spacing + $hamburger-layer-height) * -1;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/_base.scss","@if index($hamburger-types, arrow) {\n  /*\n   * Arrow\n   */\n  .hamburger--arrow.is-active {\n    .hamburger-inner {\n      &::before {\n        transform: translate3d($hamburger-layer-width * -0.2, 0, 0) rotate(-45deg) scale(0.7, 1);\n      }\n\n      &::after {\n        transform: translate3d($hamburger-layer-width * -0.2, 0, 0) rotate(45deg) scale(0.7, 1);\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_arrow.scss","@if index($hamburger-types, arrow-r) {\n  /*\n   * Arrow Right\n   */\n  .hamburger--arrow-r.is-active {\n    .hamburger-inner {\n      &::before {\n        transform: translate3d($hamburger-layer-width * 0.2, 0, 0) rotate(45deg) scale(0.7, 1);\n      }\n\n      &::after {\n        transform: translate3d($hamburger-layer-width * 0.2, 0, 0) rotate(-45deg) scale(0.7, 1);\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_arrow-r.scss","@if index($hamburger-types, arrowalt) {\n  /*\n   * Arrow Alt\n   */\n  .hamburger--arrowalt {\n    .hamburger-inner {\n      &::before {\n        transition: top 0.1s 0.1s ease,\n                    transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);\n      }\n\n      &::after {\n        transition: bottom 0.1s 0.1s ease,\n                    transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        &::before {\n          top: 0;\n          transform: translate3d($hamburger-layer-width * -0.2, $hamburger-layer-width * -0.25, 0) rotate(-45deg) scale(0.7, 1);\n          transition: top 0.1s ease,\n                      transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);\n        }\n\n        &::after {\n          bottom: 0;\n          transform: translate3d($hamburger-layer-width * -0.2, $hamburger-layer-width * 0.25, 0) rotate(45deg) scale(0.7, 1);\n          transition: bottom 0.1s ease,\n                      transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_arrowalt.scss","@if index($hamburger-types, arrowalt-r) {\n  /*\n   * Arrow Alt Right\n   */\n  .hamburger--arrowalt-r {\n    .hamburger-inner {\n      &::before {\n        transition: top 0.1s 0.1s ease,\n                    transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);\n      }\n\n      &::after {\n        transition: bottom 0.1s 0.1s ease,\n                    transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        &::before {\n          top: 0;\n          transform: translate3d($hamburger-layer-width * 0.2, $hamburger-layer-width * -0.25, 0) rotate(45deg) scale(0.7, 1);\n          transition: top 0.1s ease,\n                      transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);\n        }\n\n        &::after {\n          bottom: 0;\n          transform: translate3d($hamburger-layer-width * 0.2, $hamburger-layer-width * 0.25, 0) rotate(-45deg) scale(0.7, 1);\n          transition: bottom 0.1s ease,\n                      transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_arrowalt-r.scss","@if index($hamburger-types, arrowturn) {\n  /*\n   * Arrow Turn\n   */\n  .hamburger--arrowturn.is-active {\n    .hamburger-inner {\n      transform: rotate(-180deg);\n\n      &::before {\n        transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);\n      }\n\n      &::after {\n        transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_arrowturn.scss","@if index($hamburger-types, arrowturn-r) {\n  /*\n   * Arrow Turn Right\n   */\n  .hamburger--arrowturn-r.is-active {\n    .hamburger-inner {\n      transform: rotate(-180deg);\n\n      &::before {\n        transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);\n      }\n\n      &::after {\n        transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_arrowturn-r.scss","@if index($hamburger-types, boring) {\n  /*\n   * Boring\n   */\n  .hamburger--boring {\n    .hamburger-inner {\n      &,\n      &::before,\n      &::after {\n        transition-property: none;\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        transform: rotate(45deg);\n\n        &::before {\n          top: 0;\n          opacity: 0;\n        }\n\n        &::after {\n          bottom: 0;\n          transform: rotate(-90deg);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_boring.scss","@if index($hamburger-types, collapse) {\n  /*\n   * Collapse\n   */\n  .hamburger--collapse {\n    .hamburger-inner {\n      top: auto;\n      bottom: 0;\n      transition-duration: 0.13s;\n      transition-delay: 0.13s;\n      transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n\n      &::after {\n        top: ($hamburger-layer-spacing * 2 + $hamburger-layer-height * 2) * -1;\n        transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),\n                    opacity 0.1s linear;\n      }\n\n      &::before {\n        transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),\n                    transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        transform: translate3d(0, ($hamburger-layer-spacing + $hamburger-layer-height) * -1, 0) rotate(-45deg);\n        transition-delay: 0.22s;\n        transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n\n        &::after {\n          top: 0;\n          opacity: 0;\n          transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333),\n                      opacity 0.1s 0.22s linear;\n        }\n\n        &::before {\n          top: 0;\n          transform: rotate(-90deg);\n          transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333),\n                      transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_collapse.scss","@if index($hamburger-types, collapse-r) {\n  /*\n   * Collapse Reverse\n   */\n  .hamburger--collapse-r {\n    .hamburger-inner {\n      top: auto;\n      bottom: 0;\n      transition-duration: 0.13s;\n      transition-delay: 0.13s;\n      transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n\n      &::after {\n        top: ($hamburger-layer-spacing * 2 + $hamburger-layer-height * 2) * -1;\n        transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),\n                    opacity 0.1s linear;\n      }\n\n      &::before {\n        transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),\n                    transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        transform: translate3d(0, ($hamburger-layer-spacing + $hamburger-layer-height) * -1, 0) rotate(45deg);\n        transition-delay: 0.22s;\n        transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n\n        &::after {\n          top: 0;\n          opacity: 0;\n          transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333),\n                      opacity 0.1s 0.22s linear;\n        }\n\n        &::before {\n          top: 0;\n          transform: rotate(90deg);\n          transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333),\n                      transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_collapse-r.scss","@if index($hamburger-types, elastic) {\n  /*\n   * Elastic\n   */\n  .hamburger--elastic {\n    .hamburger-inner {\n      top: $hamburger-layer-height / 2;\n      transition-duration: 0.275s;\n      transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);\n\n      &::before {\n        top: $hamburger-layer-height + $hamburger-layer-spacing;\n        transition: opacity 0.125s 0.275s ease;\n      }\n\n      &::after {\n        top: ($hamburger-layer-height * 2) + ($hamburger-layer-spacing * 2);\n        transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        $y-offset: $hamburger-layer-spacing + $hamburger-layer-height;\n\n        transform: translate3d(0, $y-offset, 0) rotate(135deg);\n        transition-delay: 0.075s;\n\n        &::before {\n          transition-delay: 0s;\n          opacity: 0;\n        }\n\n        &::after {\n          transform: translate3d(0, $y-offset * -2, 0) rotate(-270deg);\n          transition-delay: 0.075s;\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_elastic.scss","@if index($hamburger-types, elastic-r) {\n  /*\n   * Elastic Reverse\n   */\n  .hamburger--elastic-r {\n    .hamburger-inner {\n      top: $hamburger-layer-height / 2;\n      transition-duration: 0.275s;\n      transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);\n\n      &::before {\n        top: $hamburger-layer-height + $hamburger-layer-spacing;\n        transition: opacity 0.125s 0.275s ease;\n      }\n\n      &::after {\n        top: ($hamburger-layer-height * 2) + ($hamburger-layer-spacing * 2);\n        transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        $y-offset: $hamburger-layer-spacing + $hamburger-layer-height;\n\n        transform: translate3d(0, $y-offset, 0) rotate(-135deg);\n        transition-delay: 0.075s;\n\n        &::before {\n          transition-delay: 0s;\n          opacity: 0;\n        }\n\n        &::after {\n          transform: translate3d(0, $y-offset * -2, 0) rotate(270deg);\n          transition-delay: 0.075s;\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_elastic-r.scss","@if index($hamburger-types, emphatic) {\n  /*\n   * Emphatic\n   */\n  .hamburger--emphatic {\n    overflow: hidden;\n\n    .hamburger-inner {\n      transition: background-color 0.125s 0.175s ease-in;\n\n      &::before {\n        left: 0;\n        transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335),\n                    top 0.05s 0.125s linear,\n                    left 0.125s 0.175s ease-in;\n      }\n\n      &::after {\n        top: ($hamburger-layer-height) + ($hamburger-layer-spacing);\n        right: 0;\n        transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335),\n                    top 0.05s 0.125s linear,\n                    right 0.125s 0.175s ease-in;\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        transition-delay: 0s;\n        transition-timing-function: ease-out;\n        background-color: transparent !important;\n\n        &::before {\n          left: $hamburger-layer-width * -2;\n          top: $hamburger-layer-width * -2;\n          transform: translate3d($hamburger-layer-width * 2, $hamburger-layer-width * 2, 0) rotate(45deg);\n          transition: left 0.125s ease-out,\n                      top 0.05s 0.125s linear,\n                      transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);\n        }\n\n        &::after {\n          right: $hamburger-layer-width * -2;\n          top: $hamburger-layer-width * -2;\n          transform: translate3d($hamburger-layer-width * -2, $hamburger-layer-width * 2, 0) rotate(-45deg);\n          transition: right 0.125s ease-out,\n                      top 0.05s 0.125s linear,\n                      transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_emphatic.scss","@if index($hamburger-types, emphatic-r) {\n  /*\n   * Emphatic Reverse\n   */\n  .hamburger--emphatic-r {\n    overflow: hidden;\n\n    .hamburger-inner {\n      transition: background-color 0.125s 0.175s ease-in;\n\n      &::before {\n        left: 0;\n        transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335),\n                    top 0.05s 0.125s linear,\n                    left 0.125s 0.175s ease-in;\n      }\n\n      &::after {\n        top: ($hamburger-layer-height) + ($hamburger-layer-spacing);\n        right: 0;\n        transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335),\n                    top 0.05s 0.125s linear,\n                    right 0.125s 0.175s ease-in;\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        transition-delay: 0s;\n        transition-timing-function: ease-out;\n        background-color: transparent !important;\n\n        &::before {\n          left: $hamburger-layer-width * -2;\n          top: $hamburger-layer-width * 2;\n          transform: translate3d($hamburger-layer-width * 2, $hamburger-layer-width * -2, 0) rotate(-45deg);\n          transition: left 0.125s ease-out,\n                      top 0.05s 0.125s linear,\n                      transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);\n        }\n\n        &::after {\n          right: $hamburger-layer-width * -2;\n          top: $hamburger-layer-width * 2;\n          transform: translate3d($hamburger-layer-width * -2, $hamburger-layer-width * -2, 0) rotate(45deg);\n          transition: right 0.125s ease-out,\n                      top 0.05s 0.125s linear,\n                      transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_emphatic-r.scss","@if index($hamburger-types, minus) {\n  /*\n   * Minus\n   */\n  .hamburger--minus {\n    .hamburger-inner {\n      &::before,\n      &::after {\n        transition: bottom 0.08s 0s ease-out,\n                    top 0.08s 0s ease-out,\n                    opacity 0s linear;\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        &::before,\n        &::after {\n          opacity: 0;\n          transition: bottom 0.08s ease-out,\n                      top 0.08s ease-out,\n                      opacity 0s 0.08s linear;\n        }\n        &::before {\n          top: 0;\n        }\n\n        &::after {\n          bottom: 0;\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_minus.scss","@if index($hamburger-types, slider) {\n  /*\n   * Slider\n   */\n  .hamburger--slider {\n    .hamburger-inner {\n      top: $hamburger-layer-height / 2;\n\n      &::before {\n        top: $hamburger-layer-height + $hamburger-layer-spacing;\n        transition-property: transform, opacity;\n        transition-timing-function: ease;\n        transition-duration: 0.15s;\n      }\n\n      &::after {\n        top: ($hamburger-layer-height * 2) + ($hamburger-layer-spacing * 2);\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        $y-offset: $hamburger-layer-spacing + $hamburger-layer-height;\n\n        transform: translate3d(0, $y-offset, 0) rotate(45deg);\n\n        &::before {\n          transform: rotate(-45deg) translate3d($hamburger-layer-width / -7, $hamburger-layer-spacing * -1, 0);\n          opacity: 0;\n        }\n\n        &::after {\n          transform: translate3d(0, $y-offset * -2, 0) rotate(-90deg);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_slider.scss","@if index($hamburger-types, slider-r) {\n  /*\n   * Slider Reverse\n   */\n  .hamburger--slider-r {\n    .hamburger-inner {\n      top: $hamburger-layer-height / 2;\n\n      &::before {\n        top: $hamburger-layer-height + $hamburger-layer-spacing;\n        transition-property: transform, opacity;\n        transition-timing-function: ease;\n        transition-duration: 0.15s;\n      }\n\n      &::after {\n        top: ($hamburger-layer-height * 2) + ($hamburger-layer-spacing * 2);\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        $y-offset: $hamburger-layer-spacing + $hamburger-layer-height;\n\n        transform: translate3d(0, $y-offset, 0) rotate(-45deg);\n\n        &::before {\n          transform: rotate(45deg) translate3d($hamburger-layer-width / 7, $hamburger-layer-spacing * -1, 0);\n          opacity: 0;\n        }\n\n        &::after {\n          transform: translate3d(0, $y-offset * -2, 0) rotate(90deg);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_slider-r.scss","@if index($hamburger-types, spin) {\n  /*\n   * Spin\n   */\n  .hamburger--spin {\n    .hamburger-inner {\n      transition-duration: 0.22s;\n      transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n\n      &::before {\n        transition: top 0.1s 0.25s ease-in,\n                    opacity 0.1s ease-in;\n      }\n\n      &::after {\n        transition: bottom 0.1s 0.25s ease-in,\n                    transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        transform: rotate(225deg);\n        transition-delay: 0.12s;\n        transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n\n        &::before {\n          top: 0;\n          opacity: 0;\n          transition: top 0.1s ease-out,\n                      opacity 0.1s 0.12s ease-out;\n        }\n\n        &::after {\n          bottom: 0;\n          transform: rotate(-90deg);\n          transition: bottom 0.1s ease-out,\n                      transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_spin.scss","@if index($hamburger-types, spin-r) {\n  /*\n   * Spin Reverse\n   */\n  .hamburger--spin-r {\n    .hamburger-inner {\n      transition-duration: 0.22s;\n      transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n\n      &::before {\n        transition: top 0.1s 0.25s ease-in,\n                    opacity 0.1s ease-in;\n      }\n\n      &::after {\n        transition: bottom 0.1s 0.25s ease-in,\n                    transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        transform: rotate(-225deg);\n        transition-delay: 0.12s;\n        transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n\n        &::before {\n          top: 0;\n          opacity: 0;\n          transition: top 0.1s ease-out,\n                      opacity 0.1s 0.12s ease-out;\n        }\n\n        &::after {\n          bottom: 0;\n          transform: rotate(90deg);\n          transition: bottom 0.1s ease-out,\n                      transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_spin-r.scss","@if index($hamburger-types, spring) {\n  /*\n   * Spring\n   */\n  .hamburger--spring {\n    .hamburger-inner {\n      top: $hamburger-layer-height / 2;\n      transition: background-color 0s 0.13s linear;\n\n      &::before {\n        top: $hamburger-layer-height + $hamburger-layer-spacing;\n        transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),\n                    transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n      }\n\n      &::after {\n        top: ($hamburger-layer-height * 2) + ($hamburger-layer-spacing * 2);\n        transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),\n                    transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        transition-delay: 0.22s;\n        background-color: transparent !important;\n\n        &::before {\n          top: 0;\n          transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333),\n                      transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);\n          transform: translate3d(0, $hamburger-layer-spacing + $hamburger-layer-height, 0) rotate(45deg);\n        }\n\n        &::after {\n          top: 0;\n          transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333),\n                      transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);\n          transform: translate3d(0, $hamburger-layer-spacing + $hamburger-layer-height, 0) rotate(-45deg);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_spring.scss","@if index($hamburger-types, spring-r) {\n  /*\n   * Spring Reverse\n   */\n  .hamburger--spring-r {\n    .hamburger-inner {\n      top: auto;\n      bottom: 0;\n      transition-duration: 0.13s;\n      transition-delay: 0s;\n      transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n\n      &::after {\n        top: ($hamburger-layer-spacing * 2 + $hamburger-layer-height * 2) * -1;\n        transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),\n                    opacity 0s linear;\n      }\n\n      &::before {\n        transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1),\n                    transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        transform: translate3d(0, ($hamburger-layer-spacing + $hamburger-layer-height) * -1, 0) rotate(-45deg);\n        transition-delay: 0.22s;\n        transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n\n        &::after {\n          top: 0;\n          opacity: 0;\n          transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333),\n                      opacity 0s 0.22s linear;\n        }\n\n        &::before {\n          top: 0;\n          transform: rotate(90deg);\n          transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333),\n                      transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_spring-r.scss","@if index($hamburger-types, stand) {\n  /*\n   * Stand\n   */\n  .hamburger--stand {\n    .hamburger-inner {\n      transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19),\n                  background-color 0s 0.075s linear;\n\n      &::before {\n        transition: top 0.075s 0.075s ease-in,\n                    transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n      }\n\n      &::after {\n        transition: bottom 0.075s 0.075s ease-in,\n                    transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        transform: rotate(90deg);\n        background-color: transparent !important;\n\n        transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1),\n                    background-color 0s 0.15s linear;\n\n        &::before {\n          top: 0;\n          transform: rotate(-45deg);\n          transition: top 0.075s 0.1s ease-out,\n                      transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n        }\n\n        &::after {\n          bottom: 0;\n          transform: rotate(45deg);\n          transition: bottom 0.075s 0.1s ease-out,\n                      transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_stand.scss","@if index($hamburger-types, stand-r) {\n  /*\n   * Stand Reverse\n   */\n  .hamburger--stand-r {\n    .hamburger-inner {\n      transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19),\n                  background-color 0s 0.075s linear;\n\n      &::before {\n        transition: top 0.075s 0.075s ease-in,\n                    transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n      }\n\n      &::after {\n        transition: bottom 0.075s 0.075s ease-in,\n                    transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        transform: rotate(-90deg);\n        background-color: transparent !important;\n\n        transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1),\n                    background-color 0s 0.15s linear;\n\n        &::before {\n          top: 0;\n          transform: rotate(-45deg);\n          transition: top 0.075s 0.1s ease-out,\n                      transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n        }\n\n        &::after {\n          bottom: 0;\n          transform: rotate(45deg);\n          transition: bottom 0.075s 0.1s ease-out,\n                      transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_stand-r.scss","@if index($hamburger-types, squeeze) {\n  /*\n   * Squeeze\n   */\n  .hamburger--squeeze {\n    .hamburger-inner {\n      transition-duration: 0.075s;\n      transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);\n\n      &::before {\n        transition: top 0.075s 0.12s ease,\n                    opacity 0.075s ease;\n      }\n\n      &::after {\n        transition: bottom 0.075s 0.12s ease,\n                    transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        transform: rotate(45deg);\n        transition-delay: 0.12s;\n        transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n\n        &::before {\n          top: 0;\n          opacity: 0;\n          transition: top 0.075s ease,\n                      opacity 0.075s 0.12s ease;\n        }\n\n        &::after {\n          bottom: 0;\n          transform: rotate(-90deg);\n          transition: bottom 0.075s ease,\n                      transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_squeeze.scss","@if index($hamburger-types, vortex) {\n  /*\n   * Vortex\n   */\n  .hamburger--vortex {\n    .hamburger-inner {\n      transition-duration: 0.2s;\n      transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n\n      &::before,\n      &::after {\n        transition-duration: 0s;\n        transition-delay: 0.1s;\n        transition-timing-function: linear;\n      }\n\n      &::before {\n        transition-property: top, opacity;\n      }\n\n      &::after {\n        transition-property: bottom, transform;\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        transform: rotate(765deg);\n        transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n\n        &::before,\n        &::after {\n          transition-delay: 0s;\n        }\n\n        &::before {\n          top: 0;\n          opacity: 0;\n        }\n\n        &::after {\n          bottom: 0;\n          transform: rotate(90deg);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_vortex.scss","@if index($hamburger-types, vortex-r) {\n  /*\n   * Vortex Reverse\n   */\n  .hamburger--vortex-r {\n    .hamburger-inner {\n      transition-duration: 0.2s;\n      transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n\n      &::before,\n      &::after {\n        transition-duration: 0s;\n        transition-delay: 0.1s;\n        transition-timing-function: linear;\n      }\n\n      &::before {\n        transition-property: top, opacity;\n      }\n\n      &::after {\n        transition-property: bottom, transform;\n      }\n    }\n\n    &.is-active {\n      .hamburger-inner {\n        transform: rotate(-765deg);\n        transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);\n\n        &::before,\n        &::after {\n          transition-delay: 0s;\n        }\n\n        &::before {\n          top: 0;\n          opacity: 0;\n        }\n\n        &::after {\n          bottom: 0;\n          transform: rotate(-90deg);\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/hamburgers/_sass/hamburgers/types/_vortex-r.scss","//\r\n// Awesome Foundation 6 Checkboxes and radios\r\n// --------------------------------------------------\r\n@import \"settings\";\r\n\r\n@mixin checkbox-variant($parent, $color) {\r\n  #{$parent} input[type=\"checkbox\"]:checked + label,\r\n  #{$parent} input[type=\"radio\"]:checked + label {\r\n\r\n    &::before {\r\n      background-color: $color;\r\n      border-color: $color;\r\n    }\r\n    &::after{\r\n      color: #fff;\r\n    }\r\n  }\r\n}\r\n\r\n@mixin checkbox-variant-indeterminate($parent, $color) {\r\n  #{$parent} input[type=\"checkbox\"]:indeterminate + label,\r\n  #{$parent} input[type=\"radio\"]:indeterminate + label {\r\n    &::before {\r\n      background-color: $color;\r\n      border-color: $color;\r\n    }\r\n    &::after{\r\n      background-color: #fff;\r\n    }\r\n  }\r\n}\r\n\r\n\r\n\r\n.checkbox{\r\n  position: relative;\r\n  padding-left: 20px;\r\n  margin: 0 0 $afc-margin;\r\n\r\n  label{\r\n    display: inline-block;\r\n    vertical-align: middle;\r\n    position: relative;\r\n    padding-left: 5px;\r\n    height: 23px;\r\n\r\n    &::before{\r\n      content: \"\";\r\n      display: inline-block;\r\n      position: absolute;\r\n      width: 21px;\r\n      height: 21px;\r\n      left: 0;\r\n      margin-left: -28px;\r\n      border: $input-border;\r\n      border-radius: $input-radius;\r\n      background-color: #fff;\r\n      transition: border 0.15s ease-in-out, color 0.15s ease-in-out;\r\n    }\r\n\r\n    &::after{\r\n      display: inline-block;\r\n      position: absolute;\r\n      width: 20px;\r\n      height: 20px;\r\n      left: 0;\r\n      top: -2px;\r\n      margin-left: -27px;\r\n      padding-left: 3px;\r\n      font-size: rem-calc(14);\r\n      color: $input-color;\r\n    }\r\n  }\r\n\r\n  input[type=\"checkbox\"],\r\n  input[type=\"radio\"] {\r\n    position: absolute;\r\n    margin: 4px 4px 4px -18px;\r\n    opacity: 0;\r\n    z-index: 1;\r\n    width: 18px;\r\n    height: 17px;\r\n\r\n    &:focus + label::before{\r\n      outline: 0;\r\n    }\r\n\r\n    &:checked + label::after{\r\n      font-family: $afc-font-family;\r\n      content: $afc-var-check;\r\n    }\r\n\r\n    &:indeterminate + label::after{\r\n      display: block;\r\n      content: \"\";\r\n      width: 10px;\r\n      height: 3px;\r\n      background-color: #555555;\r\n      border-radius: $input-radius;\r\n      margin-left: -22.5px;\r\n      margin-top: 11px;\r\n    }\r\n\r\n    &:disabled + label{\r\n      opacity: 0.65;\r\n\r\n      &::before{\r\n        background-color: $input-background-disabled;\r\n        cursor: not-allowed;\r\n      }\r\n    }\r\n\r\n  }\r\n\r\n  &.checkbox-circle label::before{\r\n    border-radius: 50%;\r\n  }\r\n\r\n  &.checkbox-inline{\r\n    margin-top: 0;\r\n    display: inline-block;\r\n  }\r\n}\r\n\r\n\r\n@include checkbox-variant('.checkbox.primary', $primary-color);\r\n@include checkbox-variant('.checkbox.secondary', $secondary-color);\r\n@include checkbox-variant('.checkbox.alert', $alert-color);\r\n@include checkbox-variant('.checkbox.warning', $warning-color);\r\n@include checkbox-variant('.checkbox.success', $success-color);\r\n\r\n\r\n@include checkbox-variant-indeterminate('.checkbox.primary', $primary-color);\r\n@include checkbox-variant-indeterminate('.checkbox.secondary', $secondary-color);\r\n@include checkbox-variant-indeterminate('.checkbox.alert', $alert-color);\r\n@include checkbox-variant-indeterminate('.checkbox.warning', $warning-color);\r\n@include checkbox-variant-indeterminate('.checkbox.success', $success-color);\r\n\r\n\r\n//\r\n// Radios\r\n// --------------------------------------------------\r\n\r\n@mixin radio-variant($parent, $color) {\r\n  #{$parent} input[type=\"radio\"]{\r\n    + label{\r\n      &::after{\r\n        background-color: $color;\r\n      }\r\n    }\r\n    &:checked + label{\r\n      &::before {\r\n        border-color: $color;\r\n      }\r\n      &::after{\r\n        background-color: $color;\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\n.radio{\r\n  padding-left: 20px;\r\n\r\n  label{\r\n    display: inline-block;\r\n    vertical-align: middle;\r\n    position: relative;\r\n    padding-left: 5px;\r\n    height: 23px;\r\n\r\n    &::before{\r\n      content: \"\";\r\n      display: inline-block;\r\n      position: absolute;\r\n      width: 21px;\r\n      height: 21px;\r\n      left: 0;\r\n      margin-left: -28px;\r\n      border: $input-border;\r\n      border-radius: 50%;\r\n      background-color: #fff;\r\n      transition: border 0.15s ease-in-out;\r\n    }\r\n\r\n    &::after{\r\n      display: inline-block;\r\n      position: absolute;\r\n      content: \" \";\r\n      width: 13px;\r\n      height: 13px;\r\n      left: 4px;\r\n      top: 4px;\r\n      margin-left: -28px;\r\n      border-radius: 50%;\r\n      background-color: $input-color;\r\n      transform: scale(0, 0);\r\n      transition: transform .1s cubic-bezier(.8,-0.33,.2,1.33);\r\n    }\r\n  }\r\n\r\n  input[type=\"radio\"]{\r\n    position: absolute;\r\n    margin: 4px 4px 4px -18px;\r\n    opacity: 0;\r\n    z-index: 1;\r\n    width: 18px;\r\n    height: 17px;\r\n\r\n    &:focus + label::before{\r\n      outline: 0;\r\n    }\r\n\r\n    &:checked + label::after{\r\n      transform: scale(1, 1);\r\n    }\r\n\r\n    &:disabled + label{\r\n      opacity: 0.65;\r\n\r\n      &::before{\r\n        cursor: not-allowed;\r\n      }\r\n    }\r\n\r\n  }\r\n\r\n  &.radio-inline{\r\n    margin-top: 0;\r\n    display: inline-block;\r\n  }\r\n}\r\n\r\n@include radio-variant('.radio.primary', $primary-color);\r\n@include radio-variant('.radio.secondary', $secondary-color);\r\n@include radio-variant('.radio.alert', $alert-color);\r\n@include radio-variant('.radio.warning', $warning-color);\r\n@include radio-variant('.radio.success', $success-color);\r\n\r\n\r\ninput[type=\"checkbox\"],\r\ninput[type=\"radio\"] {\r\n  &.styled:checked + label:after {\r\n    font-family: $afc-font-family;\r\n    content: $afc-var-check;\r\n  }\r\n  .styled:checked + label {\r\n    &::before {\r\n      color: #fff;\r\n    }\r\n    &::after {\r\n      color: #fff;\r\n    }\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/awesome-foundation6-checkbox/src/awesome-foundation6-checkbox.scss","@mixin foundation-normalize() {\n  /*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */\n\n  // Document\n  // ==========================================================================\n\n  // 1. Correct the line height in all browsers.\n  // 2. Prevent adjustments of font size after orientation changes in iOS.\n\n  html {\n    line-height: 1.15; // 1\n    -webkit-text-size-adjust: 100%; // 2\n  }\n\n  // Sections\n  // ==========================================================================\n\n  // Remove the margin in all browsers.\n\n  body {\n    margin: 0;\n  }\n\n  // Correct the font size and margin on `h1` elements within `section` and\n  // `article` contexts in Chrome, Firefox, and Safari.\n\n  h1 {\n    font-size: 2em;\n    margin: 0.67em 0;\n  }\n\n  // Grouping content\n  // ==========================================================================\n\n  // 1. Add the correct box sizing in Firefox.\n  // 2. Show the overflow in Edge and IE.\n\n  hr {\n    box-sizing: content-box; // 1\n    height: 0; // 1\n    overflow: visible; // 2\n  }\n\n  // 1. Correct the inheritance and scaling of font size in all browsers.\n  // 2. Correct the odd `em` font sizing in all browsers.\n\n  pre {\n    font-family: monospace, monospace; // 1\n    font-size: 1em; // 2\n  }\n\n  // Text-level semantics\n  // ==========================================================================\n\n  // Remove the gray background on active links in IE 10.\n\n  a {\n    background-color: transparent;\n  }\n\n  // 1. Remove the bottom border in Chrome 57-\n  // 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n\n  abbr[title] {\n    border-bottom: none; // 1\n    text-decoration: underline; // 2\n    text-decoration: underline dotted; // 2\n  }\n\n  // Add the correct font weight in Chrome, Edge, and Safari.\n\n  b,\n  strong {\n    font-weight: bolder;\n  }\n\n  // 1. Correct the inheritance and scaling of font size in all browsers.\n  // 2. Correct the odd `em` font sizing in all browsers.\n\n  code,\n  kbd,\n  samp {\n    font-family: monospace, monospace; // 1\n    font-size: 1em; // 2\n  }\n\n  // Add the correct font size in all browsers.\n\n  small {\n    font-size: 80%;\n  }\n\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    font-size: 75%;\n    line-height: 0;\n    position: relative;\n    vertical-align: baseline;\n  }\n\n  sub {\n    bottom: -0.25em;\n  }\n\n  sup {\n    top: -0.5em;\n  }\n\n  // Embedded content\n  // ==========================================================================\n\n  // Remove the border on images inside links in IE 10.\n\n  img {\n    border-style: none;\n  }\n\n  // Forms\n  // ==========================================================================\n\n  // 1. Change the font styles in all browsers.\n  // 2. Remove the margin in Firefox and Safari.\n\n  button,\n  input,\n  optgroup,\n  select,\n  textarea {\n    font-family: inherit; // 1\n    font-size: 100%; // 1\n    line-height: 1.15; // 1\n    margin: 0; // 2\n  }\n\n  // Show the overflow in IE.\n  // 1. Show the overflow in Edge.\n\n  button,\n  input { // 1\n    overflow: visible;\n  }\n\n  // Remove the inheritance of text transform in Edge, Firefox, and IE.\n  // 1. Remove the inheritance of text transform in Firefox.\n\n  button,\n  select { // 1\n    text-transform: none;\n  }\n\n  // Correct the inability to style clickable types in iOS and Safari.\n\n  button,\n  [type=\"button\"],\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button;\n  }\n\n  // Remove the inner border and padding in Firefox.\n\n  button::-moz-focus-inner,\n  [type=\"button\"]::-moz-focus-inner,\n  [type=\"reset\"]::-moz-focus-inner,\n  [type=\"submit\"]::-moz-focus-inner {\n    border-style: none;\n    padding: 0;\n  }\n\n  // Restore the focus styles unset by the previous rule.\n\n  button:-moz-focusring,\n  [type=\"button\"]:-moz-focusring,\n  [type=\"reset\"]:-moz-focusring,\n  [type=\"submit\"]:-moz-focusring {\n    outline: 1px dotted ButtonText;\n  }\n\n  // Correct the padding in Firefox.\n\n  fieldset {\n    padding: 0.35em 0.75em 0.625em;\n  }\n\n  // 1. Correct the text wrapping in Edge and IE.\n  // 2. Correct the color inheritance from `fieldset` elements in IE.\n  // 3. Remove the padding so developers are not caught out when they zero out\n  //    `fieldset` elements in all browsers.\n\n  legend {\n    box-sizing: border-box; // 1\n    color: inherit; // 2\n    display: table; // 1\n    max-width: 100%; // 1\n    padding: 0; // 3\n    white-space: normal; // 1\n  }\n\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n  // Remove the default vertical scrollbar in IE 10+.\n\n  textarea {\n    overflow: auto;\n  }\n\n  // 1. Add the correct box sizing in IE 10.\n  // 2. Remove the padding in IE 10.\n\n  [type=\"checkbox\"],\n  [type=\"radio\"] {\n    box-sizing: border-box; // 1\n    padding: 0; // 2\n  }\n\n  // Correct the cursor style of increment and decrement buttons in Chrome.\n\n  [type=\"number\"]::-webkit-inner-spin-button,\n  [type=\"number\"]::-webkit-outer-spin-button {\n    height: auto;\n  }\n\n  // 1. Correct the odd appearance in Chrome and Safari.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  [type=\"search\"]::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // 1. Correct the inability to style clickable types in iOS and Safari.\n  // 2. Change font properties to `inherit` in Safari.\n\n  ::-webkit-file-upload-button {\n    -webkit-appearance: button; // 1\n    font: inherit; // 2\n  }\n\n  // Interactive\n  // ==========================================================================\n\n  // Add the correct display in Edge, IE 10+, and Firefox.\n\n  details {\n    display: block;\n  }\n\n  // Add the correct display in all browsers.\n\n  summary {\n    display: list-item;\n  }\n\n  // Misc\n  // ==========================================================================\n\n  // Add the correct display in IE 10+.\n\n  template {\n    display: none;\n  }\n\n  // Add the correct display in IE 10.\n\n  [hidden] {\n    display: none;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/vendor/normalize.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n// sass-lint:disable no-color-literals, no-qualifying-elements\n\n////\n/// @group global\n////\n\n@import 'util/util';\n\n/// Font size attribute applied to `<html>` and `<body>`. We use 100% by default so the value is inherited from the user's browser settings.\n/// @type Number\n$global-font-size: 100% !default;\n\n/// Global width of your site. Used by the grid to determine row width.\n/// @type Number\n$global-width: rem-calc(1200) !default;\n\n/// Default line height for all type. `$global-lineheight` is 24px while `$global-font-size` is 16px\n/// @type Number\n$global-lineheight: 1.5 !default;\n\n/// Colors used for buttons, callouts, links, etc. There must always be a color called `primary`.\n/// @type Map\n$foundation-palette: (\n  primary: #1779ba,\n  secondary: #767676,\n  success: #3adb76,\n  warning: #ffae00,\n  alert: #cc4b37,\n) !default;\n\n/// Color used for light gray UI items.\n/// @type Color\n$light-gray: #e6e6e6 !default;\n\n/// Color used for medium gray UI items.\n/// @type Color\n$medium-gray: #cacaca !default;\n\n/// Color used for dark gray UI items.\n/// @type Color\n$dark-gray: #8a8a8a !default;\n\n/// Color used for black ui items.\n/// @type Color\n$black: #0a0a0a !default;\n\n/// Color used for white ui items.\n/// @type Color\n$white: #fefefe !default;\n\n/// Background color of the body.\n/// @type Color\n$body-background: $white !default;\n\n/// Text color of the body.\n/// @type Color\n$body-font-color: $black !default;\n\n/// Font stack of the body.\n/// @type List\n$body-font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, sans-serif !default;\n\n/// Set to `true` to enable antialiased type, using the `-webkit-font-smoothing` and `-moz-osx-font-smoothing` CSS properties.\n/// @type Boolean\n$body-antialiased: true !default;\n\n/// Global value used for margin on components.\n/// @type Number\n$global-margin: 1rem !default;\n\n/// Global value used for padding on components.\n/// @type Number\n$global-padding: 1rem !default;\n\n/// Global value used for positioning on components.\n/// @type Number\n$global-position: 1rem !default;\n\n/// Global font weight used for normal type.\n/// @type Keyword | Number\n$global-weight-normal: normal !default;\n\n/// Global font weight used for bold type.\n/// @type Keyword | Number\n$global-weight-bold: bold !default;\n\n/// Global value used for all elements that have a border radius.\n/// @type Number\n$global-radius: 0 !default;\n\n/// Global value used for all menu styles. Can be overwritten at individual menu component level.\n/// @type Number\n$global-menu-padding: 0.7rem 1rem !default;\n\n/// Global value used for all menu styles. Nested margin for submenu.\n$global-menu-nested-margin: 1rem !default;\n\n/// Sets the text direction of the CSS. Can be either `ltr` or `rtl`.\n/// @type Keyword\n$global-text-direction: ltr !default;\n\n/// Enables flexbox for components that support it.\n/// @type Boolean\n$global-flexbox: true !default;\n\n/// Enabled responsive breakpoints for prototypes if applicable\n/// @type Boolean\n$global-prototype-breakpoints: false !default;\n\n/// Button cursor's value, `auto` by default\n/// @type Keyword\n$global-button-cursor: auto !default;\n\n@if not map-has-key($foundation-palette, primary) {\n  @error 'In $foundation-palette, you must have a color named \"primary\".';\n}\n\n// Internal variables used for text direction\n$global-left: if($global-text-direction == rtl, right, left);\n$global-right: if($global-text-direction == rtl, left, right);\n\n// Internal variable that contains the flex justifying options\n$-zf-flex-justify: -zf-flex-justify($global-text-direction);\n\n/// Global tolerance for color pick contrast.\n/// @type Number\n$global-color-pick-contrast-tolerance: 0 !default;\n\n// Internal variables used for colors\n@include add-foundation-colors;\n\n@mixin foundation-global-styles {\n  @include foundation-normalize;\n\n  // These styles are applied to a <meta> tag, which is read by the Foundation JavaScript\n  .foundation-mq {\n    font-family: '#{-zf-bp-serialize($breakpoints)}';\n  }\n\n  html {\n    box-sizing: border-box;\n    font-size: $global-font-size;\n  }\n\n  // Set box-sizing globally to handle padding and border widths\n  *,\n  *::before,\n  *::after {\n    box-sizing: inherit;\n  }\n\n  // Default body styles\n  body {\n    margin: 0;\n    padding: 0;\n\n    background: $body-background;\n\n    font-family: $body-font-family;\n    font-weight: $global-weight-normal;\n    line-height: $global-lineheight;\n    color: $body-font-color;\n\n    @if ($body-antialiased) {\n      -webkit-font-smoothing: antialiased; // sass-lint:disable-line no-vendor-prefixes\n      -moz-osx-font-smoothing: grayscale; // sass-lint:disable-line no-vendor-prefixes\n    }\n  }\n\n  img {\n    // Get rid of gap under images by making them display: inline-block; by default\n    display: inline-block;\n    vertical-align: middle;\n\n    // Grid defaults to get images and embeds to work properly\n    max-width: 100%;\n    height: auto;\n    -ms-interpolation-mode: bicubic;\n  }\n\n  // Make sure textarea takes on height automatically\n  textarea {\n    height: auto;\n    min-height: 50px;\n    border-radius: $global-radius;\n  }\n\n  // Make select elements are 100% width by default\n  select {\n    box-sizing: border-box;\n    width: 100%;\n    border-radius: $global-radius;\n  }\n\n  // Styles Google Maps and MapQuest embeds properly\n  // sass-lint:disable-line no-ids\n  .map_canvas,\n  .mqa-display {\n    img,\n    embed,\n    object {\n      max-width: none !important;\n    }\n  }\n\n  // Reset <button> styles created by most browsers\n  button {\n    @include disable-mouse-outline;\n    padding: 0;\n    appearance: none;\n    border: 0;\n    border-radius: $global-radius;\n    background: transparent;\n    line-height: 1;\n    cursor: $global-button-cursor;\n  }\n\n  // Prevent text overflow on pre\n  pre {\n    overflow: auto;\n  }\n\n  // Make reset inherit font-family instead of settings sans-serif\n  button,\n  input,\n  optgroup,\n  select,\n  textarea {\n    font-family: inherit;\n  }\n\n  // Internal classes to show/hide elements in JavaScript\n  .is-visible {\n    display: block !important;\n  }\n\n  .is-hidden {\n    display: none !important;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/_global.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group functions\n////\n\n/// Creates an inner box-shadow for only one side\n///\n/// @param {Keyword} $side - Side the shadow is supposed to appear. Can be `top`, `left`, `right` or `bottom`.\n/// @param {Number} $size - Width for the target side.\n/// @param {Color} $color - Color of the shadow.\n@mixin inner-side-shadow(\n  $side: bottom,\n  $size: 20px,\n  $color: rgba($black, 0.25)\n) {\n\n  $helper: round($size * 0.65);\n\n  @if ($side == top) {\n    box-shadow: inset 0 $helper $size (-1)*$helper $color;\n  } @else if ($side == left) {\n    box-shadow: inset $helper 0 $size (-1)*$helper $color;\n  } @else if ($side == right) {\n    box-shadow: inset (-1)*$helper 0 $size (-1)*$helper $color;\n  } @else if ($side == bottom) {\n    box-shadow: inset 0 (-1)*$helper $size (-1)*$helper $color;\n  }\n}\n\n/// Creates a CSS triangle, which can be used for dropdown arrows, dropdown pips, and more. Use this mixin inside a `&::before` or `&::after` selector, to attach the triangle to an existing element.\n///\n/// @param {Number} $triangle-size - Width of the triangle.\n/// @param {Color} $triangle-color - Color of the triangle.\n/// @param {Keyword} $triangle-direction - Direction the triangle points. Can be `up`, `right`, `down`, or `left`.\n@mixin css-triangle(\n  $triangle-size,\n  $triangle-color,\n  $triangle-direction\n) {\n  display: block;\n  width: 0;\n  height: 0;\n\n  border: inset $triangle-size;\n\n  content: '';\n\n  @if ($triangle-direction == down) {\n    border-bottom-width: 0;\n    border-top-style: solid;\n    border-color: $triangle-color transparent transparent;\n  }\n  @if ($triangle-direction == up) {\n    border-top-width: 0;\n    border-bottom-style: solid;\n    border-color: transparent transparent $triangle-color;\n  }\n  @if ($triangle-direction == right) {\n    border-right-width: 0;\n    border-left-style: solid;\n    border-color: transparent transparent transparent $triangle-color;\n  }\n  @if ($triangle-direction == left) {\n    border-left-width: 0;\n    border-right-style: solid;\n    border-color: transparent $triangle-color transparent transparent;\n  }\n}\n\n/// Creates a menu icon with a set width, height, number of bars, and colors. The mixin uses the height of the icon and the weight of the bars to determine spacing. <div class=\"docs-example-burger\"></div>\n///\n/// @param {Color} $color [$black] - Color to use for the icon.\n/// @param {Color} $color-hover [$dark-gray] - Color to use when the icon is hovered over.\n/// @param {Number} $width [20px] - Width of the icon.\n/// @param {Number} $height [16px] - Height of the icon.\n/// @param {Number} $weight [2px] - Height of individual bars in the icon.\n/// @param {Number} $bars [3] - Number of bars in the icon.\n@mixin hamburger(\n  $color: $black,\n  $color-hover: $dark-gray,\n  $width: 20px,\n  $height: 16px,\n  $weight: 2px,\n  $bars: 3\n) {\n  // box-shadow CSS output\n  $shadow: ();\n  $hover-shadow: ();\n\n  // Spacing between bars is calculated based on the total height of the icon and the weight of each bar\n  $spacing: ($height - ($weight * $bars)) / ($bars - 1);\n\n  @if unit($spacing) == 'px' {\n    $spacing: floor($spacing);\n  }\n\n  @for $i from 2 through $bars {\n    $offset: ($weight + $spacing) * ($i - 1);\n    $shadow: append($shadow, 0 $offset 0 $color, comma);\n  }\n\n  // Icon container\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  width: $width;\n  height: $height;\n  cursor: pointer;\n\n  // Icon bars\n  &::after {\n    position: absolute;\n    top: 0;\n    left: 0;\n\n    display: block;\n    width: 100%;\n    height: $weight;\n\n    background: $color;\n    box-shadow: $shadow;\n\n    content: '';\n  }\n\n  // Hover state\n  @if $color-hover {\n    // Generate CSS\n    @for $i from 2 through $bars {\n      $offset: ($weight + $spacing) * ($i - 1);\n      $hover-shadow: append($hover-shadow, 0 $offset 0 $color-hover, comma);\n    }\n\n    &:hover::after {\n      background: $color-hover;\n      box-shadow: $hover-shadow;\n    }\n  }\n}\n\n/// Adds a downward-facing triangle as a background image to an element. The image is formatted as an SVG, making it easy to change the color. Because Internet Explorer doesn't support encoded SVGs as background images, a PNG fallback is also included.\n/// There are two PNG fallbacks: a black triangle and a white triangle. The one used depends on the lightness of the input color.\n///\n/// @param {Color} $color [$black] - Color to use for the triangle.\n@mixin background-triangle($color: $black) {\n  $rgb: 'rgb%28#{round(red($color))}, #{round(green($color))}, #{round(blue($color))}%29';\n\n  background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: #{$rgb}'></polygon></svg>\");\n\n  @media screen and (min-width:0\\0) {\n    @if lightness($color) < 60% {\n      // White triangle\n      background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==');\n    }\n    @else {\n      // Black triangle\n      background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMBJREFUeNrEllsOhCAMRVszC9IlzU7KCmVHTJsoMWYMUtpyv9BgbuXQB5ZSdgBYYY4ycgBivk8KYFsQMfMiTTBP4o3nUzCKzOabLJbLy2/g31evGkAginR4/ZegKH5qX3bJCscA3t0x3kgO5tQFyhhFf50xRqFLbyMUNJQzgyjGS/wgCpvKqkRBpuWrE4V9d+1E4dPUXqIg107SQOE/2DRQxMwTDygIInVDET9T3lCoj/6j/VCmGjZOl2lKpZ8AAwDQP7zIimDGFQAAAABJRU5ErkJggg==');\n    }\n  }\n}\n\n/// Applies the micro clearfix hack popularized by Nicolas Gallagher. Include this mixin on a container if its children are all floated, to give the container a proper height.\n/// The clearfix is augmented with specific styles to prevent borders in flexbox environments\n/// @link http://nicolasgallagher.com/micro-clearfix-hack/ Micro Clearfix Hack\n/// @link http://danisadesigner.com/blog/flexbox-clear-fix-pseudo-elements/ Flexbox fix\n@mixin clearfix {\n  &::before,\n  &::after {\n    display: table;\n    content: ' ';\n\n    @if $global-flexbox {\n      flex-basis: 0;\n      order: 1;\n    }\n  }\n\n  &::after {\n    clear: both;\n  }\n}\n\n/// Adds CSS for a \"quantity query\" selector that automatically sizes elements based on how many there are inside a container.\n/// @link http://alistapart.com/article/quantity-queries-for-css Quantity Queries for CSS\n///\n/// @param {Number} $max - Maximum number of items to detect. The higher this number is, the more CSS that's required to cover each number of items.\n/// @param {Keyword} $elem [li] - Tag to use for sibling selectors.\n@mixin auto-width($max, $elem: li) {\n  @for $i from 2 through $max {\n    &:nth-last-child(#{$i}):first-child,\n    &:nth-last-child(#{$i}):first-child ~ #{$elem} {\n      width: percentage(1 / $i);\n    }\n  }\n}\n\n/// Removes the focus ring around an element when a mouse input is detected.\n@mixin disable-mouse-outline {\n  [data-whatinput='mouse'] & {\n    outline: 0;\n  }\n}\n\n/// Makes an element visually hidden, but still accessible to keyboards and assistive devices.\n/// @link http://snook.ca/archives/html_and_css/hiding-content-for-accessibility Hiding Content for Accessibility\n/// @link http://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n@mixin element-invisible {\n  position: absolute !important;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0,0,0,0);\n  white-space: nowrap;\n  border: 0;\n}\n\n/// Reverses the CSS output created by the `element-invisible()` mixin.\n@mixin element-invisible-off {\n  position: static !important;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n  white-space: normal;\n}\n\n/// Vertically centers the element inside of its first non-static parent,\n/// @link http://www.sitepoint.com/centering-with-sass/ Centering With Sass\n@mixin vertical-center {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n/// Horizontally centers the element inside of its first non-static parent,\n/// @link http://www.sitepoint.com/centering-with-sass/ Centering With Sass\n@mixin horizontal-center {\n  position: absolute;\n  left: 50%;\n  transform: translateX(-50%);\n}\n\n/// Absolutely centers the element inside of its first non-static parent,\n/// @link http://www.sitepoint.com/centering-with-sass/ Centering With Sass\n@mixin absolute-center {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  transform: translate(-50%, -50%);\n}\n\n/// Iterates through breakpoints defined in `$breakpoint-classes` and prints the CSS inside the mixin at each breakpoint's media query. Use this with the grid, or any other component that has responsive classes.\n///\n/// @param {Boolean} $small [true] - If `false`, the mixin will skip the `small` breakpoint. Use this with components that don't prefix classes with `small-`, only `medium-` and up.\n/// @param {Boolean} $auto-insert-breakpoints [true] - If `false`, the mixin will iterate over breakpoints without doing the media query itself. Useful for more complex media query generation as in the margin grid.\n@mixin -zf-each-breakpoint($small: true, $auto-insert-breakpoints: true) {\n  $list: $breakpoint-classes;\n\n  @if not $small {\n    $list: sl-remove($list, $-zf-zero-breakpoint);\n  }\n\n  @each $name in $list {\n    $old-zf-size: null;\n    @if global-variable-exists(-zf-size) {\n      $old-zf-size: $-zf-size;\n    }\n    $-zf-size: $name !global;\n\n    @if $auto-insert-breakpoints {\n      @include breakpoint($name) {\n        @content;\n      }\n    }\n    @else {\n      @content;\n    }\n\n    $-zf-size: $old-zf-size !global;\n  }\n}\n\n/// Generate the `@content` passed to the mixin with a value `$-zf-bp-value` related to a breakpoint, depending on the `$name` parameter:\n/// - For a single value, `$-zf-bp-value` is this value.\n/// - For a breakpoint name, `$-zf-bp-value` is the corresponding breakpoint value in `$map`.\n/// - For \"auto\", `$-zf-bp-value` is the corresponding breakpoint value in `$map` and is passed to `@content`, which is made responsive for each breakpoint of `$map`.\n/// @param {Number|Array|Keyword} $name [auto] - Single value, breakpoint name, or list of breakpoint names to use. \"auto\" by default.\n/// @param {Number|Map} $map - Map of breakpoints and values or single value to use.\n@mixin -zf-breakpoint-value(\n  $name: auto,\n  $map: null\n) {\n  @if $name == auto and type-of($map) == 'map' {\n    // \"auto\"\n    @each $k, $v in $map {\n      @include breakpoint($k) {\n        @include -zf-breakpoint-value($v, $map) {\n          @content;\n        }\n      }\n    }\n  }\n  @else {\n    // breakpoint name\n    @if type-of($name) == 'string' {\n      $name: -zf-get-bp-val($map, $name);\n    }\n\n    // breakpoint value\n    $-zf-bp-value: $name !global;\n    @content;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/util/_mixins.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Font color of text inputs.\n/// @type Color\n$input-color: $black !default;\n\n/// Font color of placeholder text within text inputs.\n/// @type Color\n$input-placeholder-color: $medium-gray !default;\n\n/// Font family of text inputs.\n/// @type Font\n$input-font-family: inherit !default;\n\n/// Font size of text inputs.\n/// @type Number\n$input-font-size: rem-calc(16) !default;\n\n/// Font weight of text inputs.\n/// @type Keyword\n$input-font-weight: $global-weight-normal !default;\n\n/// Line height of text inputs.\n/// @type Keyword\n$input-line-height: $global-lineheight !default;\n\n/// Background color of text inputs.\n/// @type Color\n$input-background: $white !default;\n\n/// Background color of focused of text inputs.\n/// @type Color\n$input-background-focus: $white !default;\n\n/// Background color of disabled text inputs.\n/// @type Color\n$input-background-disabled: $light-gray !default;\n\n/// Border around text inputs.\n/// @type Border\n$input-border: 1px solid $medium-gray !default;\n\n/// Border around focused text inputs.\n/// @type Color\n$input-border-focus: 1px solid $dark-gray !default;\n\n/// Padding of text inputs.\n/// @type Color\n$input-padding: $form-spacing / 2 !default;\n\n/// Box shadow inside text inputs when not focused.\n/// @type Shadow\n$input-shadow: inset 0 1px 2px rgba($black, 0.1) !default;\n\n/// Box shadow outside text inputs when focused.\n/// @type Shadow\n$input-shadow-focus: 0 0 5px $medium-gray !default;\n\n/// Cursor to use when hovering over a disabled text input.\n/// @type Cursor\n$input-cursor-disabled: not-allowed !default;\n\n/// Properties to transition on text inputs.\n/// @type Transition\n$input-transition: box-shadow 0.5s, border-color 0.25s ease-in-out !default;\n\n/// Enables the up/down buttons that Chrome and Firefox add to `<input type='number'>` elements.\n/// @type Boolean\n$input-number-spinners: true !default;\n\n/// Radius for text inputs.\n/// @type Border\n$input-radius: $global-radius !default;\n\n/// Border radius for form buttons, defaulted to global-radius.\n/// @type Number\n$form-button-radius: $global-radius !default;\n\n@mixin form-element {\n  $height: ($input-font-size * unitless-calc($input-line-height)) + (get-side($input-padding, 'top') + get-side($input-padding, 'bottom')) - rem-calc(1);\n\n  display: block;\n  box-sizing: border-box;\n  width: 100%;\n  height: $height;\n  margin: 0 0 $form-spacing;\n  padding: $input-padding;\n\n  border: $input-border;\n  border-radius: $input-radius;\n  background-color: $input-background;\n  box-shadow: $input-shadow;\n\n  font-family: $input-font-family;\n  font-size: $input-font-size;\n  font-weight: $input-font-weight;\n  line-height: $input-line-height;\n  color: $input-color;\n\n  @if has-value($input-transition) {\n    transition: $input-transition;\n  }\n\n  // Focus state\n  &:focus {\n    outline: none;\n    border: $input-border-focus;\n    background-color: $input-background-focus;\n    box-shadow: $input-shadow-focus;\n\n    @if has-value($input-transition) {\n      transition: $input-transition;\n    }\n  }\n}\n\n@mixin foundation-form-text {\n  // Text inputs\n  #{text-inputs()},\n  textarea {\n    @include form-element;\n    appearance: none;\n  }\n\n  // Text areas\n  textarea {\n    max-width: 100%;\n\n    &[rows] {\n      height: auto;\n    }\n  }\n\n  input,\n  textarea {\n    // Disabled/readonly state\n    &:disabled,\n    &[readonly] {\n      background-color: $input-background-disabled;\n      cursor: $input-cursor-disabled;\n    }\n  }\n\n  // Reset styles on button-like inputs\n  [type='submit'],\n  [type='button'] {\n    appearance: none;\n    border-radius: $form-button-radius;\n  }\n\n  // Reset Normalize setting content-box to search elements\n  input[type='search'] { // sass-lint:disable-line no-qualifying-elements\n    box-sizing: border-box;\n  }\n\n  // Number input styles\n  [type='number'] {\n    @if not $input-number-spinners {\n      -moz-appearance: textfield; // sass-lint:disable-line no-vendor-prefixes\n\n      &::-webkit-inner-spin-button,\n      &::-webkit-outer-spin-button {\n        -webkit-appearance: none; // sass-lint:disable-line no-vendor-prefixes\n        margin: 0;\n      }\n    }\n  }\n\n  // Placeholder text\n  ::placeholder {\n    color: $input-placeholder-color;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_text.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n@mixin foundation-form-checkbox {\n  [type='file'],\n  [type='checkbox'],\n  [type='radio'] {\n    margin: 0 0 $form-spacing;\n  }\n\n  // Styles for input/label siblings\n  [type='checkbox'] + label,\n  [type='radio'] + label {\n    display: inline-block;\n    vertical-align: baseline;\n\n    margin-#{$global-left}: $form-spacing * 0.5;\n    margin-#{$global-right}: $form-spacing;\n    margin-bottom: 0;\n\n    &[for] {\n      cursor: pointer;\n    }\n  }\n\n  // Styles for inputs inside labels\n  label > [type='checkbox'],\n  label > [type='radio'] {\n    margin-#{$global-right}: $form-spacing * 0.5;\n  }\n\n  // Normalize file input width\n  [type='file'] {\n    width: 100%;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_checkbox.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Color for form labels.\n/// @type Color\n$form-label-color: $black !default;\n\n/// Font size for form labels.\n/// @type Number\n$form-label-font-size: rem-calc(14) !default;\n\n/// Font weight for form labels.\n/// @type Keyword\n$form-label-font-weight: $global-weight-normal !default;\n\n/// Line height for form labels. The higher the number, the more space between the label and its input field.\n/// @type Number\n$form-label-line-height: 1.8 !default;\n\n@mixin form-label {\n  display: block;\n  margin: 0;\n\n  font-size: $form-label-font-size;\n  font-weight: $form-label-font-weight;\n  line-height: $form-label-line-height;\n  color: $form-label-color;\n}\n\n@mixin form-label-middle {\n  $input-border-width: get-border-value($input-border, width);\n\n  margin: 0 0 $form-spacing;\n  padding: ($form-spacing / 2 + rem-calc($input-border-width)) 0;\n}\n\n@mixin foundation-form-label {\n  label {\n    @include form-label;\n\n    &.middle {\n      @include form-label-middle;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_label.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Default color for help text.\n/// @type Color\n$helptext-color: $black !default;\n\n/// Default font size for help text.\n/// @type Number\n$helptext-font-size: rem-calc(13) !default;\n\n/// Default font style for help text.\n/// @type Keyword\n$helptext-font-style: italic !default;\n\n@mixin foundation-form-helptext {\n  .help-text {\n    $margin-top: ($form-spacing * 0.5) * -1;\n\n    margin-top: $margin-top;\n    font-size: $helptext-font-size;\n    font-style: $helptext-font-style;\n    color: $helptext-color;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_help-text.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Color of labels prefixed to an input.\n/// @type Color\n$input-prefix-color: $black !default;\n\n/// Background color of labels prefixed to an input.\n/// @type Color\n$input-prefix-background: $light-gray !default;\n\n/// Border around labels prefixed to an input.\n/// @type Border\n$input-prefix-border: 1px solid $medium-gray !default;\n\n/// Left/right padding of an pre/postfixed input label\n$input-prefix-padding: 1rem !default;\n\n@mixin foundation-form-prepostfix {\n  $height: ($input-font-size * $input-line-height) + (get-side($input-padding, 'top') + get-side($input-padding, 'bottom')) - rem-calc(1);\n\n  .input-group {\n    display: if($global-flexbox, flex, table);\n    width: 100%;\n    margin-bottom: $form-spacing;\n\n    @if $global-flexbox {\n      align-items: stretch;\n    }\n\n    > :first-child {\n      &, &.input-group-button > * {\n        border-radius: if($global-text-direction == rtl, 0 $input-radius $input-radius 0, $input-radius 0 0 $input-radius);\n      }\n    }\n\n    > :last-child {\n      &, &.input-group-button > * {\n        border-radius: if($global-text-direction == rtl, $input-radius 0 0 $input-radius, 0 $input-radius $input-radius 0);\n      }\n    }\n  }\n\n  %input-group-child {\n    margin: 0;\n    white-space: nowrap;\n\n    @if not $global-flexbox {\n      display: table-cell;\n      vertical-align: middle;\n    }\n  }\n\n  .input-group-label {\n    @extend %input-group-child;\n    padding: 0 $input-prefix-padding;\n    border: $input-prefix-border;\n    background: $input-prefix-background;\n\n    color: $input-prefix-color;\n    text-align: center;\n    white-space: nowrap;\n\n    @if $global-flexbox {\n      display: flex;\n      flex: 0 0 auto;\n      align-items: center;\n    }\n    @else {\n      width: 1%;\n      height: 100%;\n    }\n\n    @if has-value($input-prefix-border) {\n      &:first-child {\n        border-#{$global-right}: 0;\n      }\n\n      &:last-child {\n        border-#{$global-left}: 0;\n      }\n    }\n  }\n\n  .input-group-field {\n    @extend %input-group-child;\n    border-radius: 0;\n\n    @if $global-flexbox {\n      flex: 1 1 0px; // sass-lint:disable-line zero-unit\n      min-width: 0;\n    }\n  }\n\n  .input-group-button {\n    @extend %input-group-child;\n    padding-top: 0;\n    padding-bottom: 0;\n    text-align: center;\n\n    @if $global-flexbox {\n      display: flex;\n      flex: 0 0 auto;\n    }\n    @else {\n      width: 1%;\n      height: 100%;\n    }\n\n    a,\n    input,\n    button,\n    label {\n      @extend %input-group-child;\n\n      @if $global-flexbox {\n        align-self: stretch;\n        height: auto;\n      }\n      @else {\n        height: $height;\n      }\n      padding-top: 0;\n      padding-bottom: 0;\n      font-size: $input-font-size;\n    }\n  }\n\n  // Specificity bump needed to prevent override by buttons\n  @if not $global-flexbox {\n    .input-group {\n      .input-group-button {\n        display: table-cell;\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_input-group.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Default border around custom fieldsets.\n/// @type Border\n$fieldset-border: 1px solid $medium-gray !default;\n\n/// Default padding inside custom fieldsets.\n/// @type Number\n$fieldset-padding: rem-calc(20) !default;\n\n/// Default margin around custom fieldsets.\n/// @type Number\n$fieldset-margin: rem-calc(18 0) !default;\n\n/// Default padding between the legend text and fieldset border.\n/// @type Number\n$legend-padding: rem-calc(0 3) !default;\n\n@mixin fieldset {\n  margin: $fieldset-margin;\n  padding: $fieldset-padding;\n  border: $fieldset-border;\n\n  legend {\n    // Covers up the fieldset's border to create artificial padding\n    margin: 0;\n    margin-#{$global-left}: rem-calc(-3);\n    padding: $legend-padding;\n  }\n}\n\n@mixin foundation-form-fieldset {\n  fieldset {\n    margin: 0;\n    padding: 0;\n    border: 0;\n  }\n\n  legend {\n    max-width: 100%;\n    margin-bottom: $form-spacing * 0.5;\n  }\n\n  .fieldset {\n    @include fieldset;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_fieldset.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group forms\n////\n\n/// Background color for select menus.\n/// @type Color\n$select-background: $white !default;\n\n/// Color of the dropdown triangle inside select menus. Set to `transparent` to remove it entirely.\n/// @type Color\n$select-triangle-color: $dark-gray !default;\n\n/// Default radius for select menus.\n/// @type Color\n$select-radius: $global-radius !default;\n\n@mixin form-select {\n  $height: ($input-font-size * unitless-calc($input-line-height)) + (get-side($input-padding, 'top') + get-side($input-padding, 'bottom')) - rem-calc(1);\n\n  height: $height;\n  margin: 0 0 $form-spacing;\n  padding: $input-padding;\n\n  appearance: none;\n  border: $input-border;\n  border-radius: $select-radius;\n  background-color: $select-background;\n\n  font-family: $input-font-family;\n  font-size: $input-font-size;\n  font-weight: $input-font-weight;\n  line-height: $input-line-height;\n  color: $input-color;\n\n  @if $select-triangle-color != transparent {\n    @include background-triangle($select-triangle-color);\n    background-origin: content-box;\n    background-position: $global-right (-$form-spacing) center;\n    background-repeat: no-repeat;\n    background-size: 9px 6px;\n\n    padding-#{$global-right}: ($form-spacing * 1.5);\n  }\n\n  @if has-value($input-transition) {\n    transition: $input-transition;\n  }\n\n  // Focus state\n  &:focus {\n    outline: none;\n    border: $input-border-focus;\n    background-color: $input-background-focus;\n    box-shadow: $input-shadow-focus;\n\n    @if has-value($input-transition) {\n      transition: $input-transition;\n    }\n  }\n\n  // Disabled state\n  &:disabled {\n    background-color: $input-background-disabled;\n    cursor: $input-cursor-disabled;\n  }\n\n  // Hide the dropdown arrow shown in newer IE versions\n  &::-ms-expand {\n    display: none;\n  }\n\n  &[multiple] {\n    height: auto;\n    background-image: none;\n  }\n}\n\n@mixin foundation-form-select {\n  select {\n    @include form-select;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_select.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group abide\n////\n\n/// Sets if error styles should be added to inputs.\n/// @type Boolean\n$abide-inputs: true !default;\n\n/// Sets if error styles should be added to labels.\n/// @type Boolean\n$abide-labels: true !default;\n\n/// Background color to use for invalid text inputs.\n/// @type Color\n$input-background-invalid: get-color(alert) !default;\n\n/// Color to use for labels of invalid inputs.\n/// @type Color\n$form-label-color-invalid: get-color(alert) !default;\n\n/// Default font color for form error text.\n/// @type Color\n$input-error-color: get-color(alert) !default;\n\n/// Default font size for form error text.\n/// @type Number\n$input-error-font-size: rem-calc(12) !default;\n\n/// Default font weight for form error text.\n/// @type Keyword\n$input-error-font-weight: $global-weight-bold !default;\n\n/// Styles the background and border of an input field to have an error state.\n///\n/// @param {Color} $background [$alert-color] - Color to use for the background and border.\n/// @param {Number} $background-lighten [10%] - Lightness level of the background color.\n@mixin form-input-error(\n  $background: $input-background-invalid,\n  $background-lighten: 10%\n) {\n  &:not(:focus) {\n    border-color: $background;\n    background-color: mix($background, $white, $background-lighten);\n\n    &::placeholder {\n      color: $background;\n    }\n  }\n}\n\n/// Adds error styles to a form element, using the values in the settings file.\n@mixin form-error {\n  display: none;\n  margin-top: $form-spacing * -0.5;\n  margin-bottom: $form-spacing;\n\n  font-size: $input-error-font-size;\n  font-weight: $input-error-font-weight;\n  color: $input-error-color;\n}\n\n@mixin foundation-form-error {\n  @if $abide-inputs {\n    // Error class for invalid inputs\n    .is-invalid-input {\n      @include form-input-error;\n    }\n  }\n\n  @if $abide-labels {\n    // Error class for labels of invalid outputs\n    .is-invalid-label {\n      color: $form-label-color-invalid;\n    }\n  }\n\n  // Form error element\n  .form-error {\n    @include form-error;\n\n    &.is-visible {\n      display: block;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/forms/_error.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group typography-base\n////\n\n// Base Typography\n// - - - - - - - - - - - - - - -\n// These are styles applied to basic HTML tags, including:\n//   - Paragraphs <p>\n//   - Bold/italics <b> <strong> <i> <em>\n//   - Small text <small>\n//   - Headings <h1>-<h6>\n//   - Anchors <a>\n//   - Dividers <hr>\n//   - Lists <ul> <ol> <dl>\n//   - Blockquotes <blockquote>\n//   - Code blocks <code>\n//   - Abbreviations <abbr>\n//   - Citations <cite>\n//   - Keystrokes <kbd>\n\n/// Font family for header elements.\n/// @type String | List\n$header-font-family: $body-font-family !default;\n\n/// Font weight of headers.\n/// @type String\n$header-font-weight: $global-weight-normal !default;\n\n/// Font style (e.g. italicized) of headers.\n/// @type String\n$header-font-style: normal !default;\n\n/// Font stack used for elements that use monospaced type, such as code samples\n/// @type String | List\n$font-family-monospace: Consolas, 'Liberation Mono', Courier, monospace !default;\n\n/// Color of headers.\n/// @type Color\n$header-color: inherit !default;\n\n/// Line height of headers.\n/// @type Number\n$header-lineheight: 1.4 !default;\n\n/// Bottom margin of headers.\n/// @type Number\n$header-margin-bottom: 0.5rem !default;\n\n/// Styles for headings at various screen sizes. Each key is a breakpoint, and each value is a map of heading styles.\n/// @type Map\n$header-styles: (\n  small: (\n    'h1': ('font-size': 24),\n    'h2': ('font-size': 20),\n    'h3': ('font-size': 19),\n    'h4': ('font-size': 18),\n    'h5': ('font-size': 17),\n    'h6': ('font-size': 16),\n  ),\n  medium: (\n    'h1': ('font-size': 48),\n    'h2': ('font-size': 40),\n    'h3': ('font-size': 31),\n    'h4': ('font-size': 25),\n    'h5': ('font-size': 20),\n    'h6': ('font-size': 16),\n  ),\n) !default;\n\n// $header-styles map is built from $header-sizes in order to ensure downward compatibility\n// when $header-sizes is depreciated, $header-styles needs to get !default values like settings.scss\n@function build_from_header-sizes($header-sizes) {\n  @warn 'Note, that $header-sizes has been replaced with $header-styles. $header-sizes still works, but it is going to be depreciated.';\n  $header-styles: ();\n  @each $size, $headers in $header-sizes {\n    $header-map: ();\n    @each $header, $font-size in $headers {\n      $header-map: map-merge($header-map, ($header: ('font-size': $font-size)));\n    }\n    $header-styles: map-merge($header-styles, ($size: $header-map));\n  }\n  @return $header-styles;\n}\n\n// If it exists $headers-sizes is used to build $header-styles. See the documentation.\n@if variable-exists(header-sizes) {\n  $header-styles: build_from_header-sizes($header-sizes);\n}\n\n/// Text rendering method of headers.\n/// @type String\n$header-text-rendering: optimizeLegibility !default;\n\n/// Font size of `<small>` elements.\n/// @type Number\n$small-font-size: 80% !default;\n\n/// Color of `<small>` elements when placed inside headers.\n/// @type Color\n$header-small-font-color: $medium-gray !default;\n\n/// Line height of text inside `<p>` elements.\n/// @type Number\n$paragraph-lineheight: 1.6 !default;\n\n/// Bottom margin of paragraphs.\n/// @type Number\n$paragraph-margin-bottom: 1rem !default;\n\n/// Text rendering method for paragraph text.\n/// @type String\n$paragraph-text-rendering: optimizeLegibility !default;\n\n/// Text color of code samples.\n/// @type Color\n$code-color: $black !default;\n\n/// Font family of code samples.\n/// @type String | List\n$code-font-family: $font-family-monospace !default;\n\n/// Font weight of text in code samples.\n/// @type String\n$code-font-weight: $global-weight-normal !default;\n\n/// Background color of code samples.\n/// @type Color\n$code-background: $light-gray !default;\n\n/// Border around code samples.\n/// @type List\n$code-border: 1px solid $medium-gray !default;\n\n/// Padding around text of code samples.\n/// @type Number | List\n$code-padding: rem-calc(2 5 1) !default;\n\n/// Default color for links.\n/// @type Color\n$anchor-color: $primary-color !default;\n\n/// Default color for links on hover.\n/// @type Color\n$anchor-color-hover: scale-color($anchor-color, $lightness: -14%) !default;\n\n/// Default text decoration for links.\n/// @type String\n$anchor-text-decoration: none !default;\n\n/// Default text decoration for links on hover.\n/// @type String\n$anchor-text-decoration-hover: none !default;\n\n/// Maximum width of a divider.\n/// @type Number\n$hr-width: $global-width !default;\n\n/// Default border for a divider.\n/// @type List\n$hr-border: 1px solid $medium-gray !default;\n\n/// Default margin for a divider.\n/// @type Number | List\n$hr-margin: rem-calc(20) auto !default;\n\n/// Line height for items in a list.\n/// @type Number\n$list-lineheight: $paragraph-lineheight !default;\n\n/// Bottom margin for items in a list.\n/// @type Number\n$list-margin-bottom: $paragraph-margin-bottom !default;\n\n/// Bullet type to use for unordered lists (e.g., `square`, `circle`, `disc`).\n/// @type String\n$list-style-type: disc !default;\n\n/// Positioning for bullets on unordered list items.\n/// @type String\n$list-style-position: outside !default;\n\n/// Left (or right) margin for lists.\n/// @type Number\n$list-side-margin: 1.25rem !default;\n\n/// Left (or right) margin for a list inside a list.\n/// @type Number\n$list-nested-side-margin: 1.25rem !default;\n\n/// Bottom margin for `<dl>` elements.\n/// @type Number\n$defnlist-margin-bottom: 1rem !default;\n\n/// Font weight for `<dt>` elements.\n/// @type String\n$defnlist-term-weight: $global-weight-bold !default;\n\n/// Spacing between `<dt>` and `<dd>` elements.\n/// @type Number\n$defnlist-term-margin-bottom: 0.3rem !default;\n\n/// Text color of `<blockquote>` elements.\n/// @type Color\n$blockquote-color: $dark-gray !default;\n\n/// Padding inside a `<blockquote>` element.\n/// @type Number | List\n$blockquote-padding: rem-calc(9 20 0 19) !default;\n\n/// Side border for `<blockquote>` elements.\n/// @type List\n$blockquote-border: 1px solid $medium-gray !default;\n\n/// Font size for `<cite>` elements.\n/// @type Number\n$cite-font-size: rem-calc(13) !default;\n\n/// Text color for `<cite>` elements.\n/// @type Color\n$cite-color: $dark-gray !default;\n\n/// Pseudo content for `<cite>` elements.\n/// @type String\n$cite-pseudo-content: '\\2014 \\0020' !default;\n\n/// Font family for `<kbd>` elements.\n/// @type String | List\n$keystroke-font: $font-family-monospace !default;\n\n/// Text color for `<kbd>` elements.\n/// @type Color\n$keystroke-color: $black !default;\n\n/// Background color for `<kbd>` elements.\n/// @type Color\n$keystroke-background: $light-gray !default;\n\n/// Padding for `<kbd>` elements.\n/// @type Number | List\n$keystroke-padding: rem-calc(2 4 0) !default;\n\n/// Border radius for `<kbd>` elements.\n/// @type Number | List\n$keystroke-radius: $global-radius !default;\n\n/// Bottom border style for `<abbr>` elements.\n/// @type List\n$abbr-underline: 1px dotted $black !default;\n\n@mixin foundation-typography-base {\n  // Typography resets\n  div,\n  dl,\n  dt,\n  dd,\n  ul,\n  ol,\n  li,\n  h1,\n  h2,\n  h3,\n  h4,\n  h5,\n  h6,\n  pre,\n  form,\n  p,\n  blockquote,\n  th,\n  td {\n    margin: 0;\n    padding: 0;\n  }\n\n  // Paragraphs\n  p {\n    margin-bottom: $paragraph-margin-bottom;\n\n    font-size: inherit;\n    line-height: $paragraph-lineheight;\n    text-rendering: $paragraph-text-rendering;\n  }\n\n  // Emphasized text\n  em,\n  i {\n    font-style: italic;\n    line-height: inherit;\n  }\n\n  // Strong text\n  strong,\n  b {\n    font-weight: $global-weight-bold;\n    line-height: inherit;\n  }\n\n  // Small text\n  small {\n    font-size: $small-font-size;\n    line-height: inherit;\n  }\n\n  // Headings\n  h1, .h1,\n  h2, .h2,\n  h3, .h3,\n  h4, .h4,\n  h5, .h5,\n  h6, .h6 {\n    font-family: $header-font-family;\n    font-style: $header-font-style;\n    font-weight: $header-font-weight;\n    color: $header-color;\n    text-rendering: $header-text-rendering;\n\n    small {\n      line-height: 0;\n      color: $header-small-font-color;\n    }\n  }\n\n  // Heading styles\n  @each $size, $headers in $header-styles {\n    @include breakpoint($size) {\n      @each $header, $header-defs in $headers {\n        $font-size-temp: 1rem;\n        #{$header}, .#{$header} {\n\n          @if map-has-key($header-defs, font-size) {\n            $font-size-temp: rem-calc(map-get($header-defs, font-size));\n            font-size: $font-size-temp;\n          } @else if map-has-key($header-defs, fs) {\n            $font-size-temp: rem-calc(map-get($header-defs, fs));\n            font-size: $font-size-temp;\n          } @else if $size == $-zf-zero-breakpoint {\n            font-size: $font-size-temp;\n          }\n          @if map-has-key($header-defs, line-height) {\n            line-height: unitless-calc(map-get($header-defs, line-height), $font-size-temp);\n          } @else if map-has-key($header-defs, lh) {\n            line-height: unitless-calc(map-get($header-defs, lh), $font-size-temp);\n          } @else if $size == $-zf-zero-breakpoint {\n            line-height: unitless-calc($header-lineheight, $font-size-temp);\n          }\n\n          @if map-has-key($header-defs, margin-top) {\n            margin-top: rem-calc(map-get($header-defs, margin-top));\n          } @else if map-has-key($header-defs, mt) {\n            margin-top: rem-calc(map-get($header-defs, mt));\n          } @else if $size == $-zf-zero-breakpoint {\n            margin-top: 0;\n          }\n          @if map-has-key($header-defs, margin-bottom) {\n            margin-bottom: rem-calc(map-get($header-defs, margin-bottom));\n          } @else if map-has-key($header-defs, mb) {\n            margin-bottom: rem-calc(map-get($header-defs, mb));\n          } @else if $size == $-zf-zero-breakpoint {\n            margin-bottom: rem-calc($header-margin-bottom);\n          }\n        }\n      }\n    }\n  }\n\n  // Links\n  a {\n    line-height: inherit;\n    color: $anchor-color;\n    text-decoration: $anchor-text-decoration;\n\n    cursor: pointer;\n\n    &:hover,\n    &:focus {\n      color: $anchor-color-hover;\n      @if $anchor-text-decoration-hover != $anchor-text-decoration {\n        text-decoration: $anchor-text-decoration-hover;\n      }\n    }\n\n    img {\n      border: 0;\n    }\n  }\n\n  // Horizontal rule\n  hr {\n    clear: both;\n\n    max-width: $hr-width;\n    height: 0;\n    margin: $hr-margin;\n\n    border-top: 0;\n    border-right: 0;\n    border-bottom: $hr-border;\n    border-left: 0;\n  }\n\n  // Lists\n  ul,\n  ol,\n  dl {\n    margin-bottom: $list-margin-bottom;\n    list-style-position: $list-style-position;\n    line-height: $list-lineheight;\n  }\n\n  // List items\n  li {\n    font-size: inherit;\n  }\n\n  // Unordered lists\n  ul {\n    margin-#{$global-left}: $list-side-margin;\n    list-style-type: $list-style-type;\n  }\n\n  // Ordered lists\n  ol {\n    margin-#{$global-left}: $list-side-margin;\n  }\n\n  // Nested unordered/ordered lists\n  ul, ol {\n    & & {\n      margin-#{$global-left}: $list-nested-side-margin;\n      margin-bottom: 0;\n    }\n  }\n\n  // Definition lists\n  dl {\n    margin-bottom: $defnlist-margin-bottom;\n\n    dt {\n      margin-bottom: $defnlist-term-margin-bottom;\n      font-weight: $defnlist-term-weight;\n    }\n  }\n\n  // Blockquotes\n  blockquote {\n    margin: 0 0 $paragraph-margin-bottom;\n    padding: $blockquote-padding;\n    border-#{$global-left}: $blockquote-border;\n\n    &, p {\n      line-height: $paragraph-lineheight;\n      color: $blockquote-color;\n    }\n  }\n\n  // Citations\n  cite {\n    display: block;\n    font-size: $cite-font-size;\n    color: $cite-color;\n\n    &:before {\n      content: $cite-pseudo-content;\n    }\n  }\n\n  // Abbreviations\n  abbr, abbr[title] {\n    border-bottom: $abbr-underline;\n    cursor: help;\n    text-decoration: none;\n  }\n\n  // Figures\n  figure {\n    margin: 0;\n  }\n\n  // Code\n  code {\n    padding: $code-padding;\n\n    border: $code-border;\n    background-color: $code-background;\n\n    font-family: $code-font-family;\n    font-weight: $code-font-weight;\n    color: $code-color;\n  }\n\n  // Keystrokes\n  kbd {\n    margin: 0;\n    padding: $keystroke-padding;\n\n    background-color: $keystroke-background;\n\n    font-family: $keystroke-font;\n    color: $keystroke-color;\n\n    @if has-value($keystroke-radius) {\n      border-radius: $keystroke-radius;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/typography/_base.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group typography-helpers\n////\n\n/// Default font size for lead paragraphs.\n/// @type Number\n$lead-font-size: $global-font-size * 1.25 !default;\n\n/// Default line height for lead paragraphs.\n/// @type String\n$lead-lineheight: 1.6 !default;\n\n/// Default line height for subheaders.\n/// @type Number\n$subheader-lineheight: 1.4 !default;\n\n/// Default font color for subheaders.\n/// @type Color\n$subheader-color: $dark-gray !default;\n\n/// Default font weight for subheaders.\n/// @type String\n$subheader-font-weight: $global-weight-normal !default;\n\n/// Default top margin for subheaders.\n/// @type Number\n$subheader-margin-top: 0.2rem !default;\n\n/// Default bottom margin for subheaders.\n/// @type Number\n$subheader-margin-bottom: 0.5rem !default;\n\n/// Default font size for statistic numbers.\n/// @type Number\n$stat-font-size: 2.5rem !default;\n\n@mixin foundation-typography-helpers {\n  // Use to create a subheading under a main header\n  // Make sure you pair the two elements in a <header> element, like this:\n  // <header>\n  //   <h1>Heading</h1>\n  //   <h2>Subheading</h2>\n  // </header>\n  .subheader {\n    margin-top: $subheader-margin-top;\n    margin-bottom: $subheader-margin-bottom;\n\n    font-weight: $subheader-font-weight;\n    line-height: $subheader-lineheight;\n    color: $subheader-color;\n  }\n\n  // Use to style an introductory lead, deck, blurb, etc.\n  .lead {\n    font-size: $lead-font-size;\n    line-height: $lead-lineheight;\n  }\n\n  // Use to style a large number to display a statistic\n  .stat {\n    font-size: $stat-font-size;\n    line-height: 1;\n\n    p + & {\n      margin-top: -1rem;\n    }\n  }\n\n  ul, ol {\n    // Use to remove numbers from ordered list & bullets from unordered list\n    &.no-bullet {\n      margin-#{$global-left}: 0;\n      list-style: none;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/typography/_helpers.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@mixin foundation-text-alignment {\n  @each $size in $breakpoint-classes {\n    @include breakpoint($size) {\n      @each $align in (left, right, center, justify) {\n        @if $size != $-zf-zero-breakpoint {\n          .#{$size}-text-#{$align} {\n            text-align: $align;\n          }\n        }\n        @else {\n          .text-#{$align} {\n            text-align: $align;\n          }\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/typography/_alignment.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n/// If `true`, all elements will have transparent backgrounds when printed, to save on ink.\n/// @type Boolean\n/// @group global\n$print-transparent-backgrounds: true !default;\n\n/// If `true`, displays next to all links their \"href\" when printed.\n/// @type Boolean\n/// @group global\n$print-hrefs: true !default;\n\n// sass-lint:disable-all\n\n@mixin foundation-print-styles {\n  .show-for-print { display: none !important; }\n\n  @media print {\n    * {\n      @if $print-transparent-backgrounds {\n        background: transparent !important;\n      }\n\n      box-shadow: none !important;\n\n      color: black !important; // Black prints faster: h5bp.com/s\n      text-shadow: none !important;\n    }\n\n    .show-for-print { display: block !important; }\n    .hide-for-print { display: none !important; }\n\n    table.show-for-print { display: table !important; }\n    thead.show-for-print { display: table-header-group !important; }\n    tbody.show-for-print { display: table-row-group !important; }\n    tr.show-for-print { display: table-row !important; }\n    td.show-for-print { display: table-cell !important; }\n    th.show-for-print { display: table-cell !important; }\n\n    // Display the URL of a link after the text\n    a,\n    a:visited { text-decoration: underline;}\n    @if $print-hrefs {\n      a[href]:after { content: ' (' attr(href) ')'; }\n    }\n\n    // Don't display the URL for images or JavaScript/internal links\n    .ir a:after,\n    a[href^='javascript:']:after,\n    a[href^='#']:after { content: ''; }\n\n    // Display what an abbreviation stands for after the text\n    abbr[title]:after { content: ' (' attr(title) ')'; }\n\n    // Prevent page breaks in the middle of a blockquote or preformatted text block\n    pre,\n    blockquote {\n      border: 1px solid $dark-gray;\n      page-break-inside: avoid;\n    }\n\n    // h5bp.com/t\n    thead { display: table-header-group; }\n\n    tr,\n    img { page-break-inside: avoid; }\n\n    img { max-width: 100% !important; }\n\n    @page { margin: 0.5cm; }\n\n    p,\n    h2,\n    h3 {\n      orphans: 3;\n      widows: 3;\n    }\n\n    // Avoid page breaks after a heading\n    h2,\n    h3 { page-break-after: avoid; }\n\n    // Helper to re-allow page breaks in the middle of certain elements (e.g. pre, blockquote, tr)\n    .print-break-inside {\n      page-break-inside: auto;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/typography/_print.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group xy-grid\n////\n\n// Margin Grid classes\n@mixin xy-base-grid-classes {\n\n  // Grid Container\n  .grid-container {\n    @include xy-grid-container;\n\n    &.fluid {\n      @include xy-grid-container(100%);\n    }\n\n    &.full {\n      @include xy-grid-container(100%, 0);\n    }\n  }\n\n  // Base grid styles\n  .grid-x {\n    @include xy-grid;\n  }\n\n  .cell {\n    @include xy-cell-base();\n    @include xy-cell-static($grid-columns, false, $gutter-type: padding);\n\n    &.auto {\n      @include xy-cell-base(auto);\n    }\n\n    &.shrink {\n      @include xy-cell-base(shrink);\n    }\n\n  }\n  .grid-x {\n    > .auto {\n      @include xy-cell-static(auto, false);\n    }\n\n    > .shrink {\n      @include xy-cell-static(shrink, false);\n    }\n  }\n\n  // Auto width\n  @include -zf-each-breakpoint() {\n    // This is a bit of a hack/workaround, see these issues & PRs for the backstory:\n    // https://github.com/zurb/foundation-sites/issues/10244\n    // https://github.com/zurb/foundation-sites/pull/10222 and\n    // https://github.com/zurb/foundation-sites/pull/10164\n    .grid-x {\n      $str: \"> .#{$-zf-size}-shrink, > .#{$-zf-size}-full\";\n      @for $i from 1 through $grid-columns {\n        $str: $str + \", > .#{$-zf-size}-#{$i}\"\n      }\n      #{$str} {\n        flex-basis: auto;\n      }\n    }\n  }\n\n  @include -zf-each-breakpoint() {\n    // Responsive \"auto\" modifier\n    @if not($-zf-size == small) {\n      .grid-x > .#{$-zf-size}-auto {\n        @include xy-cell-base(auto);\n        @include xy-cell-static(auto, false);\n      }\n    }\n\n    %-xy-cell-base-shrink-horizontal-#{$-zf-size} {\n      @include xy-cell-base(shrink);\n    }\n\n    // Responsive \"shrink\" modifier\n    @if not($-zf-size == small) {\n      .grid-x > .#{$-zf-size}-shrink {\n        @extend %-xy-cell-base-shrink-horizontal-#{$-zf-size};\n        @include xy-cell-static(shrink, false);\n      }\n    }\n\n    // Responsive width modifiers\n    @for $i from 1 through $grid-columns {\n      // Sizing (percentage)\n      .grid-x > .#{$-zf-size}-#{$i} {\n        @extend %-xy-cell-base-shrink-horizontal-#{$-zf-size};\n        @include xy-cell-static($i, false, $gutter-type: padding);\n      }\n    }\n  }\n\n  // Reset width when using `.grid-margin-x` not on `.grid-x`\n  .grid-margin-x:not(.grid-x) > .cell {\n    width: auto;\n  }\n\n  // Reset height when using `.grid-margin-y` not on `.grid-y`\n  .grid-margin-y:not(.grid-y) > .cell {\n    height: auto;\n  }\n}\n\n@mixin -xy-breakpoint-cell-classes($class-breakpoint, $gutter-breakpoint, $vertical) {\n  $prefix: if($class-breakpoint == $-zf-zero-breakpoint, '', '#{$class-breakpoint}-');\n  > .#{$prefix}auto {\n    @include xy-cell-static(auto, false, $breakpoint: $gutter-breakpoint, $vertical: $vertical);\n  }\n\n  > .#{$prefix}shrink {\n    @include xy-cell-static(shrink, false, $breakpoint: $gutter-breakpoint, $vertical: $vertical);\n  }\n\n  @for $i from 1 through $grid-columns {\n    // Sizing (percentage)\n    $classname: if($vertical, '.#{$class-breakpoint}-#{$i}', '.#{$class-breakpoint}-#{$i}');\n\n    > #{$classname} {\n      @include xy-cell-static($i, false, $breakpoint: $gutter-breakpoint, $vertical: $vertical);\n    }\n  }\n}\n\n// Margin Grid classes\n@mixin xy-margin-grid-classes(\n  $gutter-position: left right,\n  $vertical: false,\n  $wrapping-selector: '.grid-margin-x'\n){\n  #{$wrapping-selector} {\n    @include xy-gutters($negative: true, $gutter-position: $gutter-position);\n\n    // Base cell styles\n    > .cell {\n      @include xy-cell-static($vertical: $vertical);\n    }\n\n    // base styles need to all be before the auto and shrink styles\n    @include -zf-each-breakpoint() {\n      @if(type-of($grid-margin-gutters) == 'map' and map-has-key($grid-margin-gutters, $-zf-size) and $-zf-size != $-zf-zero-breakpoint) {\n        > .cell {\n          @include xy-cell-static($breakpoint: $-zf-size, $vertical: $vertical);\n        }\n      }\n    }\n\n    @include -zf-each-breakpoint() {\n\n      // This is purely for responsive gutters - the margin grid has to go back and adjust widths (or heights)\n      // for all prior breakpoints.\n      // As their gutter is defined with their width/height, even breakpoint without a new margin must be\n      // generated to not having their width/height overrided by re-adjusted smaller breakpoints.\n      @if(type-of($grid-margin-gutters) == 'map' and map-has-key($grid-margin-gutters, $-zf-size)) {\n        @each $bp in -zf-breakpoints-less-than($-zf-size) {\n          @include -xy-breakpoint-cell-classes($bp, $-zf-size, $vertical);\n        }\n      }\n\n      @include -xy-breakpoint-cell-classes($-zf-size, $-zf-size, $vertical);\n    }\n  }\n}\n\n// Padding Grid classes\n@mixin xy-padding-grid-classes {\n  .grid-padding-x {\n\n    // Negative margin for nested grids\n    .grid-padding-x {\n      @include xy-gutters($negative: true);\n    }\n\n    // Negative margin for grids within `grid-container/grid-container.fluid`\n    // This allows margin and padding grids to line up with eachother\n    .grid-container:not(.full) > & {\n      @include xy-gutters($negative: true);\n    }\n\n    // Base cell styles\n    > .cell {\n      @include xy-gutters($gutters: $grid-padding-gutters, $gutter-type: padding);\n    }\n  }\n}\n\n// Block Grid classes\n@mixin xy-block-grid-classes($margin-grid: true, $padding-grid: true) {\n  @if $padding-grid {\n    @include -zf-each-breakpoint {\n      @for $i from 1 through $xy-block-grid-max {\n        .#{$-zf-size}-up-#{$i} {\n          @include xy-grid-layout($n: $i, $selector: '.cell', $gutter-output: false, $gutter-type: padding, $breakpoint: $-zf-size);\n        }\n      }\n    }\n  }\n\n  @if $margin-grid {\n    @include -zf-each-breakpoint {\n      @for $i from 1 through $xy-block-grid-max {\n        // This is purely for responsive gutters - the margin grid has to go back and adjust widths (or heights)\n        // for prior breakpoints based on the responsive gutter.\n        @if(type-of($grid-margin-gutters) == 'map' and map-has-key($grid-margin-gutters, $-zf-size)) {\n          @each $bp in -zf-breakpoints-less-than($-zf-size) {\n            @if(map-has-key($grid-margin-gutters, $bp)) {\n              .grid-margin-x.#{$bp}-up-#{$i} {\n                @include xy-grid-layout($n: $i, $selector: '.cell', $gutter-output: false, $gutter-type: margin, $breakpoint: $-zf-size);\n              }\n            }\n          }\n        }\n      }\n      @for $i from 1 through $xy-block-grid-max {\n        .grid-margin-x.#{$-zf-size}-up-#{$i} {\n          @include xy-grid-layout($n: $i, $selector: '.cell', $gutter-output: false, $gutter-type: margin, $breakpoint: $-zf-size);\n        }\n      }\n    }\n  }\n}\n\n// Collapse classes\n@mixin xy-collapse-grid-classes($margin-grid: true, $padding-grid: true) {\n  @each $bp in $breakpoint-classes {\n    @if $margin-grid {\n      .#{$bp}-margin-collapse {\n        @include xy-grid-collapse($gutter-type: margin, $min-breakpoint: $bp);\n      }\n    }\n\n    @if $padding-grid {\n      .#{$bp}-padding-collapse {\n        @include xy-grid-collapse($gutter-type: padding, $min-breakpoint: $bp);\n      }\n    }\n  }\n}\n\n// Offset classes\n@mixin xy-offset-cell-classes {\n  @include -zf-each-breakpoint {\n    @for $i from 1 through $grid-columns {\n      // Offsets\n      $o: $i - 1;\n\n      .#{$-zf-size}-offset-#{$o} {\n        @include xy-cell-offset($o, $gutters: $grid-padding-gutters, $gutter-type: padding, $breakpoint: $-zf-size);\n      }\n\n      .grid-margin-x > .#{$-zf-size}-offset-#{$o} {\n        @include xy-cell-offset($o, $breakpoint: $-zf-size);\n      }\n    }\n  }\n}\n\n// Vertical Grid classes\n@mixin xy-vertical-grid-classes(\n  $margin-grid: true,\n  $padding-grid: true\n) {\n\n  @include -zf-each-breakpoint() {\n    @if not($-zf-size == small) {\n    }\n  }\n\n  .grid-y {\n    @include xy-grid(vertical, false);\n\n\n    > .cell {\n      @include xy-cell-reset();\n    }\n\n    > .auto {\n      @include xy-cell-static(auto, false, $vertical: true);\n    }\n\n    > .shrink {\n      @include xy-cell-static(shrink, false, $vertical: true);\n    }\n\n\n    @include -zf-each-breakpoint() {\n      // This is a bit of a hack/workaround, see these issues and PRs for the backstory:\n      // https://github.com/zurb/foundation-sites/issues/10244\n      // https://github.com/zurb/foundation-sites/pull/10222 and\n      // https://github.com/zurb/foundation-sites/pull/10164\n      $str: \"> .#{$-zf-size}-shrink, > .#{$-zf-size}-full\";\n      @for $i from 1 through $grid-columns {\n        $str: $str + \", > .#{$-zf-size}-#{$i}\"\n      }\n      #{$str} {\n        flex-basis: auto;\n      }\n    }\n\n    @include -zf-each-breakpoint() {\n      // Responsive \"auto\" modifier\n      @if not($-zf-size == small) {\n        > .#{$-zf-size}-auto {\n          @include xy-cell-base(auto);\n          @include xy-cell-static(auto, false, $breakpoint: $-zf-size, $vertical: true);\n        }\n      }\n\n      %-xy-cell-base-shrink-vertical-#{$-zf-size} {\n        @include xy-cell-base(shrink);\n      }\n\n      // Responsive \"shrink\" modifier\n      @if not($-zf-size == small) {\n        > .#{$-zf-size}-shrink {\n          @extend %-xy-cell-base-shrink-vertical-#{$-zf-size};\n          @include xy-cell-static(shrink, false, $breakpoint: $-zf-size, $vertical: true);\n        }\n      }\n\n      // Responsive width modifiers\n      @for $i from 1 through $grid-columns {\n        // Sizing (percentage)\n        > .#{$-zf-size}-#{$i} {\n          @extend %-xy-cell-base-shrink-vertical-#{$-zf-size};\n          @include xy-cell-static($i, false, $vertical: true, $gutter-type: padding);\n        }\n      }\n\n    }\n  }\n\n  @if $padding-grid {\n    .grid-padding-y {\n      // Negative margin for nested grids\n      .grid-padding-y {\n        @include xy-gutters($negative: true, $gutter-position: top bottom);\n      }\n\n      // Base cell styles\n      > .cell {\n        @include xy-gutters($gutters: $grid-padding-gutters, $gutter-type: padding, $gutter-position: top bottom);\n      }\n    }\n  }\n\n  @if $margin-grid {\n    @include xy-margin-grid-classes(top bottom, true, '.grid-margin-y');\n  }\n\n}\n\n@mixin xy-frame-grid-classes($vertical-grid: true, $margin-grid: true) {\n  // Framed grid styles\n  .grid-frame {\n    @include xy-grid-frame;\n  }\n\n  .cell .grid-frame {\n    width: 100%; // Same as include with $nested, but with less css\n  }\n\n  .cell-block {\n    @include xy-cell-block();\n  }\n\n  .cell-block-y {\n    @include xy-cell-block(true);\n  }\n\n\n  .cell-block-container {\n    @include xy-cell-block-container();\n  }\n\n\n  @include -zf-each-breakpoint(false) {\n\n    .#{$-zf-size}-grid-frame {\n      @include xy-grid-frame;\n    }\n\n    .cell .#{$-zf-size}-grid-frame {\n      width: 100%; // Same as include with $nested, but with less css\n    }\n\n    .#{$-zf-size}-cell-block {\n      @include xy-cell-block();\n    }\n\n    .#{$-zf-size}-cell-block-container {\n      @include xy-cell-block-container();\n    }\n\n    .#{$-zf-size}-cell-block-y {\n      @include xy-cell-block(true);\n    }\n  }\n\n  @if $vertical-grid {\n    .grid-y {\n      &.grid-frame {\n        width: auto;\n        @include xy-grid-frame(true);\n      }\n\n      @include -zf-each-breakpoint(false) {\n        &.#{$-zf-size}-grid-frame {\n          width: auto;\n          @include xy-grid-frame(true);\n        }\n\n      }\n    }\n    .cell {\n      .grid-y.grid-frame {\n        height: 100%; // Same as include with $nested, but with less css\n      }\n      @include -zf-each-breakpoint(false) {\n        .grid-y.#{$-zf-size}-grid-frame {\n          height: 100%; // Same as include with $nested, but with less css\n        }\n      }\n    }\n  }\n  @if $margin-grid {\n    @include xy-margin-grid-classes(top bottom, true, '.grid-margin-y');\n    .grid-frame.grid-margin-y {\n      @include xy-grid-frame(true, false, $grid-margin-gutters, $include-base: false);\n    }\n    @include -zf-each-breakpoint(false) {\n      .grid-margin-y.#{$-zf-size}-grid-frame {\n        @include xy-grid-frame(true, false, $grid-margin-gutters, $-zf-size, false);\n      }\n    }\n  }\n}\n\n// Final classes\n@mixin foundation-xy-grid-classes(\n  $base-grid: true,\n  $margin-grid: true,\n  $padding-grid: true,\n  $block-grid: true,\n  $collapse: true,\n  $offset: true,\n  $vertical-grid: true,\n  $frame-grid: true\n) {\n\n  // Base grid styles\n  @if($base-grid) {\n    @include xy-base-grid-classes();\n  }\n\n  // Margin grid\n  @if($margin-grid) {\n    @include xy-margin-grid-classes();\n  }\n\n  // Padding grid\n  @if($padding-grid) {\n    @include xy-padding-grid-classes();\n  }\n\n  // Block grid\n  @if($block-grid) {\n    @include xy-block-grid-classes($margin-grid, $padding-grid);\n  }\n\n  // Collapse gutters\n  @if($collapse) {\n    @include xy-collapse-grid-classes($margin-grid, $padding-grid);\n  }\n\n  // Offset gutters\n  @if($offset) {\n    @include xy-offset-cell-classes();\n  }\n\n  // Vertical grid\n  @if($vertical-grid) {\n    @include xy-vertical-grid-classes($margin-grid, $padding-grid);\n  }\n\n  @if ($frame-grid) {\n    @include xy-frame-grid-classes($vertical-grid, $margin-grid)\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_classes.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group xy-grid\n////\n\n/// Create gutters for a cell/container.\n///\n/// @param {Number|Map} $gutters [$grid-margin-gutters] - Map or single value for gutters.\n/// @param {Keyword} $gutter-type [margin] - Type of gutter to output. Accepts either margin or padding.\n/// @param {List} $gutter-position [right left] - The position to apply gutters to. Accepts `top`, `bottom`, `left`, `right` in any combination.\n/// @param {Boolean} $negative [false] - Whether to apply the gutter as a negative value. Commonly used for nested grids.\n@mixin xy-gutters(\n  $gutters: $grid-margin-gutters,\n  $gutter-type: margin,\n  $gutter-position: right left,\n  $negative: false\n) {\n  $operator: if($negative, '-', '');\n\n  // If we have declared negative gutters, force type to `margin.\n  $gutter-type: if($negative, 'margin', $gutter-type);\n\n  // Output our margin gutters.\n  @if (type-of($gutters) == 'map') {\n    @include -zf-breakpoint-value(auto, $gutters) {\n      $gutter: rem-calc($-zf-bp-value) / 2;\n\n      // Loop through each gutter position\n      @each $value in $gutter-position {\n        #{$gutter-type}-#{$value}: unquote(\"#{$operator}#{$gutter}\");\n      }\n    }\n  }\n  @else if (type-of($gutters) == 'number') {\n    $gutter: rem-calc($gutters) / 2;\n\n    // Loop through each gutter position\n    @each $value in $gutter-position {\n      #{$gutter-type}-#{$value}: unquote(\"#{$operator}#{$gutter}\");\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_gutters.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group xy-grid\n////\n\n/// Creates a max width container, designed to house your grid content.\n///\n/// @param {Number} $width [$grid-container] - a width to limit the container to.\n/// @param {Number} $padding [$grid-container-padding] - paddings of the container.\n@mixin xy-grid-container(\n  $width: $grid-container,\n  $padding: $grid-container-padding\n) {\n  @include xy-gutters($gutters: $padding, $gutter-type: padding);\n\n  max-width: $width;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/// Creates a container for your flex cells.\n///\n/// @param {Keyword} $direction [horizontal] - Either horizontal or vertical direction of cells within.\n/// @param {Boolean} $wrap [true] - If the cells within should wrap or not.\n@mixin xy-grid(\n  $direction: horizontal,\n  $wrap: true\n) {\n  $direction: if($direction == 'horizontal', row, column);\n  $wrap: if($wrap, wrap, nowrap);\n\n  display: flex;\n  flex-flow: $direction $wrap;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_grid.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group xy-grid\n////\n\n/// Calculate the percentage size of a cell.\n///\n/// @param {Number|List} $size [$grid-columns] - Size to make the cell. You can pass a value in multiple formats, such as `6`, `50%`, `1 of 2` or `1/3`.\n@function xy-cell-size(\n  $size: $grid-columns\n) {\n  // Parsing percents, decimals, n of n and number counts\n  @if type-of($size) == 'number' {\n    @if unit($size) == '%' {\n      $size: $size;\n    }\n    @else if $size < 1 {\n      $size: percentage($size);\n    }\n    @else {\n      $size: percentage($size / $grid-columns);\n    }\n  }\n\n  // Parsing \"n of n\" or \"n/n\" expressions\n  @else if type-of($size) == 'list' {\n    @if length($size) != 3 {\n      @error 'Wrong syntax for xy-cell-size(). Use the format \"n of n\" or \"n/n\".';\n    }\n    @else {\n      $size: percentage(nth($size, 1) / nth($size, 3));\n    }\n  }\n  // Anything else is incorrect\n  @else {\n    @error 'Wrong syntax for xy-cell-size(). Use a number, decimal, percentage, or \"n of n\" / \"n/n\".';\n  }\n\n  @return $size;\n}\n\n/// Sets base flex properties for cells.\n///\n/// @param {Keyword} $size [full] - The size of your cell. Accepts `full`, `auto`, `shrink` or `grow`.\n@mixin xy-cell-base($size: full) {\n  @if($size == 'full') {\n    // This is the base style, all others inherit from it\n    flex: 0 0 auto;\n    min-height: 0px;\n    min-width: 0px;\n  }\n  @else if ($size == 'auto') {\n    flex: 1 1 0px; // sass-lint:disable-line zero-unit\n  }\n  @else if ($size == 'shrink') {\n    flex: 0 0 auto;\n  }\n  @else if ($size == 'grow') {\n    flex: 1 0 auto;\n  }\n}\n\n/// Resets a cells width (or height if vertical is true) as well as strips its gutters.\n///\n/// @param {Boolean} $vertical [false] - Set to true to output vertical (height) styles rather than widths.\n@mixin xy-cell-reset($vertical: true) {\n  $direction: if($vertical == true, width, height);\n  #{$direction}: auto;\n  max-#{$direction}: none;\n}\n\n// Sets our cell widths or heights depending on gutter type.\n@mixin -xy-cell-properties($size, $margin-gutter, $vertical) {\n  $direction: if($vertical == true, height, width);\n  @if($size == 'full') {\n    $val: if($margin-gutter == 0, 100%, calc(100% - #{rem-calc($margin-gutter)}));\n    #{$direction}: $val;\n  }\n  @else if ($size == 'auto') {\n    #{$direction}: auto;\n    $val: if($margin-gutter == 0, 100%, calc(100% - #{rem-calc($margin-gutter)}));\n  }\n  @else if ($size == 'shrink') {\n    #{$direction}: auto;\n  }\n  @else {\n    $val: if($margin-gutter == 0, #{xy-cell-size($size)}, calc(#{xy-cell-size($size)} - #{rem-calc($margin-gutter)}));\n    #{$direction}: $val;\n  }\n}\n\n/// Creates a cell for your grid.\n///\n/// @param {Keyword|Number} $size [full] - The size of your cell. Can be `full` (default) for 100% width, `auto` to use up available space and `shrink` to use up only required space.\n/// @param {Boolean} $gutter-output [true] - Whether or not to output gutters\n/// @param {Number|Map} $gutters [$grid-margin-gutters] - Map or single value for gutters.\n/// @param {Keyword} $gutter-type [margin] - Map or single value for gutters.\n/// @param {List} $gutter-position [right left] - The position to apply gutters to. Accepts `top`, `bottom`, `left`, `right` in any combination.\n/// @param {String} $breakpoint [null] - The name of the breakpoint size in your gutters map to get the size from. If using with the `breakpoint()` mixin this will be set automatically unless manually entered.\n/// @param {Boolean} $vertical [false] - Set to true to output vertical (height) styles rather than widths.\n@mixin xy-cell(\n  $size: full,\n  $gutter-output: true,\n  $gutters: $grid-margin-gutters,\n  $gutter-type: margin,\n  $gutter-position: right left,\n  $breakpoint: null,\n  $vertical: false\n) {\n  $bp-is-fallback: false;\n\n  @if($breakpoint == null) {\n    // If `$bp-size` is available then use this, otherwise revert to the smallest bp.\n    @if(variable-exists(-zf-size) and type-of($-zf-size) != 'number') and $-zf-size != null {\n      $breakpoint: $-zf-size;\n    }\n    @else {\n      $breakpoint: $-zf-zero-breakpoint;\n      $bp-is-fallback: true;\n    }\n  }\n\n  // Get the gutter for the given breakpoint/value.\n  $gutter: -zf-get-bp-val($gutters, $breakpoint);\n  // If the breakpoint is a fallback, use a fallback gutter as well\n  @if ($bp-is-fallback == true and $gutter == null) {\n    $gutter: 0;\n  }\n\n  @if($gutter != null) {\n    // Base flex properties\n    @include xy-cell-base($size);\n\n    @if($gutter-type == 'margin') {\n      @include -xy-cell-properties($size, $gutter, $vertical);\n    }\n    @else {\n      @include -xy-cell-properties($size, 0, $vertical);\n    }\n\n    @if $gutter-output {\n      @include xy-gutters($gutter, $gutter-type, $gutter-position);\n    }\n  }\n  @else {\n    @warn 'xy-cell: no gutters were found in `$gutters` for \"$breakpoint: #{$breakpoint}\", cell was not generated`'\n  }\n}\n\n/// Creates a single breakpoint sized grid. Used to generate our grid classes.\n///\n/// @param {Keyword|Number} $size [full] - The size of your cell. Can be `full` (default) for 100% width, `auto` to use up available space and `shrink` to use up only required space.\n/// @param {Boolean} $gutter-output [true] - Whether or not to output gutters\n/// @param {Number|Map} $gutters [$grid-margin-gutters] - Map or single value for gutters.\n/// @param {Keyword} $gutter-type [margin] - Map or single value for gutters.\n/// @param {String} $breakpoint [null] - The name of the breakpoint size in your gutters map to get the size from. If using with the `breakpoint()` mixin this will be set automatically unless manually entered.\n/// @param {Boolean} $vertical [false] - Set to true to output vertical (height) styles rather than widths.\n@mixin xy-cell-static(\n  $size: full,\n  $gutter-output: true,\n  $gutters: $grid-margin-gutters,\n  $gutter-type: margin,\n  $breakpoint: $-zf-zero-breakpoint,\n  $vertical: false\n) {\n\n  $gutter: -zf-get-bp-val($gutters, $breakpoint);\n  $gutter-position: if($vertical == true, top bottom, left right);\n\n  @if($gutter-type == 'margin') {\n    @include -xy-cell-properties($size, $gutter, $vertical);\n  }\n  @else {\n    @include -xy-cell-properties($size, 0, $vertical);\n  }\n\n  // If we want to output the gutters\n  @if($gutter-output) {\n    // TODO: Figure out if we need to pass breakpoint in here too.\n    @include xy-gutters($gutter, $gutter-type, $gutter-position);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_cell.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group xy-grid\n////\n\n/// Sizes child elements so that `$n` number of items appear on each row.\n///\n/// @param {Number} $n - Number of elements to display per row.\n/// @param {String} $selector ['.cell'] - Selector(s) to use for child elements.\n/// @param {Boolean} $gutter-output [true] - Whether or not to output gutters\n/// @param {Number|Map} $gutters [$grid-margin-gutters] - Map or single value for gutters.\n/// @param {Keyword} $gutter-type [margin] - Type of gutter to output. Accepts `margin` or `padding`.\n/// @param {List} $gutter-position [right left] - The position to apply gutters to. Accepts `top`, `bottom`, `left`, `right` in any combination.\n/// @param {String} $breakpoint [null] - The breakpoint to use for the cell generation.\n/// @param {Boolean} $vertical [false] - Set to true to output vertical (height) styles rather than widths.\n@mixin xy-grid-layout(\n  $n,\n  $selector: '.cell',\n  $gutter-output: true,\n  $gutters: $grid-margin-gutters,\n  $gutter-type: margin,\n  $gutter-position: right left,\n  $breakpoint: null,\n  $vertical: false\n) {\n  $size: percentage(1/$n);\n\n  & > #{$selector} {\n    @include xy-cell($size, $gutter-output, $gutters, $gutter-type, $gutter-position, $breakpoint, $vertical);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_layout.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group xy-grid\n////\n\n/// Collapses the grid a cells within it.\n///\n/// @param {String} $selector [.cell] - The child element to remove the gutter from.\n/// @param {Keyword} $gutter-type [margin] - The type of gutter to remove.\n/// @param {List} $gutter-position [right left] - The positions to remove gutters from. Accepts `top`, `bottom`, `left`, `right` in any combination.\n/// @param {Keyword} $min-breakpoint [$-zf-zero-breakpoint] - Minimum breakpoint in `$breakpoint-classes` for which to collapse the gutter.\n@mixin xy-grid-collapse(\n  $selector: '.cell',\n  $gutter-type: margin,\n  $gutter-position: right left,\n  $min-breakpoint: $-zf-zero-breakpoint\n) {\n  // First, lets negate any margins on the top level\n  @if ($gutter-type == 'margin') {\n\n    @include breakpoint($min-breakpoint) {\n      @each $value in $gutter-position {\n        margin-#{$value}: 0;\n      }\n\n      > #{$selector} {\n        @each $value in $gutter-position {\n          margin-#{$value}: 0;\n        }\n      }\n    }\n\n    $excluded-bps: -zf-breakpoints-less-than($min-breakpoint);\n\n    // Output new widths to not include gutters\n    @each $bp in $breakpoint-classes {\n      @if(sl-contain($excluded-bps, $bp)) {\n        @include breakpoint($min-breakpoint) {\n          @for $i from 1 through $grid-columns {\n            // Sizing (percentage)\n            > .#{$bp}-#{$i} {\n              @include xy-cell-static($i, $gutter-output: false, $gutter-type: padding);\n            }\n          }\n        }\n      } @else {\n        @include breakpoint($bp) {\n          @for $i from 1 through $grid-columns {\n            // Sizing (percentage)\n            > .#{$bp}-#{$i} {\n              @include xy-cell-static($i, $gutter-output: false, $gutter-type: padding);\n            }\n          }\n        }\n      }\n    }\n  }\n  @else {\n\n    @include breakpoint($min-breakpoint) {\n      @each $value in $gutter-position {\n        margin-#{$value}: 0;\n      }\n\n      > #{$selector} {\n        @each $value in $gutter-position {\n          padding-#{$value}: 0;\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_collapse.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group xy-grid\n////\n\n/// Offsets a column to the right/bottom by `$n` columns.\n///\n/// @param {Number|List} $n - Size to offset by. You can pass in any value accepted by the `zf-cell()` mixin, such as `6`, `50%`, or `1 of 2`.\n/// @param {Number|Map} $gutters [$grid-margin-gutters] Map of gutters or single value to use for responsive gutters.\n/// @param {Keyword} $gutter-type [margin] The type of gutter to use. Can be `margin` or `padding`\n/// @param {Number|Array|Keyword} $breakpoint [$-zf-zero-breakpoint] - Single value, breakpoint name, or list of breakpoint names to use for `$gutters`. See `-zf-breakpoint-value()`.\n/// @param {Boolean} $vertical [false] Sets the direction of the offset. If set to true will apply margin-top instead.\n@mixin xy-cell-offset(\n $n,\n $gutters: $grid-margin-gutters,\n $gutter-type: margin,\n $breakpoint: $-zf-zero-breakpoint,\n $vertical: false\n) {\n  $direction: if($vertical, 'top', $global-left);\n\n  @include -zf-breakpoint-value($breakpoint, $gutters) {\n    $gutter: rem-calc($-zf-bp-value) / 2;\n    $gutter-margin: if($gutter-type == 'margin', $gutter, 0);\n    $size: if($gutter-margin == 0, #{xy-cell-size($n)}, calc(#{xy-cell-size($n)} + #{$gutter-margin}));\n\n    margin-#{$direction}: #{$size};\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_position.scss","/// Modifies a grid to give it \"frame\" behavior (no overflow, no wrap, stretch behavior)\n///\n/// @param {Boolean} $vertical [false] - Is grid vertical or horizontal. Should match grid.\n/// @param {Boolean} $nested [false] - Is grid nested or not. If nested is true this sets the frame to 100% height, otherwise will be 100vh.\n/// @param {Number|Map} $gutters [null] - Map or single value for gutters.\n/// @param {String} $breakpoint [null] - The name of the breakpoint size in your gutters map to get the size from.\n/// @param {Boolean} $include-base [true] - Include the base styles that don't vary per breakpoint.\n@mixin xy-grid-frame(\n  $vertical: false,\n  $nested: false,\n  $gutters: null,\n  $breakpoint: null,\n  $include-base: true\n) {\n\n  @if $include-base {\n    overflow: hidden;\n    position: relative;\n    flex-wrap: nowrap;\n    align-items: stretch;\n  }\n\n  @if $breakpoint == null and type-of($gutters) == 'map' {\n    @include -zf-each-breakpoint() {\n      @include xy-grid-frame($vertical, $nested, $gutters, $-zf-size, false);\n    }\n  } @else {\n    // Get our gutters if applicable\n    $gutter: -zf-get-bp-val($gutters, $breakpoint);\n\n    // If we have a gutter, add it to the width/height\n    @if $gutter {\n      @if $vertical == true {\n        $unit: if($nested == true, 100%, 100vh);\n        $gutter: rem-calc($gutter);\n        height: calc(#{$unit} + #{$gutter});\n      } @else {\n        $unit: if($nested == true, 100%, 100vw);\n        $gutter: rem-calc($gutter);\n        width: calc(#{$unit} + #{$gutter});\n      }\n    }\n    @else {\n      @if $vertical == true {\n        height: if($nested == true, 100%, 100vh);\n      } @else {\n        width: if($nested == true, 100%, 100vw);\n      }\n    }\n  }\n}\n\n/// Modifies a cell to give it \"block\" behavior (overflow auto, inertial scrolling)\n///\n/// @param {Boolean} $vertical [false] - Is grid vertical or horizontal. Should match grid.\n@mixin xy-cell-block(\n  $vertical: false\n) {\n  $property: if($vertical == true, 'overflow-y', 'overflow-x');\n\n  @if $vertical == true {\n    overflow-y: auto;\n    max-height: 100%;\n    min-height: 100%;\n  } @else {\n    overflow-x: auto;\n    max-width: 100%;\n  }\n\n  -webkit-overflow-scrolling: touch;\n  -ms-overflow-style: -ms-autohiding-scrollbar;\n}\n\n/// Container for inside a grid frame containing multiple blocks. Typically used\n/// as a modifier for a `.cell` to allow the cell to pass along flex sizing\n/// constraints / from parents to children.\n@mixin xy-cell-block-container() {\n  display: flex;\n  flex-direction: column;\n  max-height: 100%;\n\n  > .grid-x {\n    max-height: 100%;\n    flex-wrap: nowrap;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/xy-grid/_frame.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group button\n////\n\n/// Font family for button elements.\n/// @type Font\n$button-font-family: inherit !default;\n\n/// Padding inside buttons.\n/// @type List\n$button-padding: 0.85em 1em !default;\n\n/// Margin around buttons.\n/// @type List\n$button-margin: 0 0 $global-margin 0 !default;\n\n/// Default fill for buttons. Can either be `solid` or `hollow`.\n/// @type Keyword\n$button-fill: solid !default;\n\n/// Default background color for buttons.\n/// @type Color\n$button-background: $primary-color !default;\n\n/// Background color on hover for buttons.\n/// @type Color\n$button-background-hover: scale-color($button-background, $lightness: -15%) !default;\n\n/// Font color for buttons.\n/// @type List\n$button-color: $white !default;\n\n/// Alternative font color for buttons.\n/// @type List\n$button-color-alt: $black !default;\n\n/// Border radius for buttons, defaulted to global-radius.\n/// @type Number\n$button-radius: $global-radius !default;\n\n/// Border width for hollow outline buttons\n/// @type Number\n$button-hollow-border-width: 1px !default;\n\n/// Sizes for buttons.\n/// @type Map\n$button-sizes: (\n  tiny: 0.6rem,\n  small: 0.75rem,\n  default: 0.9rem,\n  large: 1.25rem,\n) !default;\n\n/// Coloring classes. A map of classes to output in your CSS, like `.secondary`, `.success`, and so on.\n/// @type Map\n$button-palette: $foundation-palette !default;\n\n/// opacity for a disabled button.\n/// @type List\n$button-opacity-disabled: 0.25 !default;\n\n/// Background color lightness on hover for buttons.\n/// @type Number\n$button-background-hover-lightness: -20% !default;\n\n/// Color lightness on hover for hollow buttons.\n/// @type Number\n$button-hollow-hover-lightness: -50% !default;\n\n// Internal: flip from margin-right to margin-left for defaults\n@if $global-text-direction == 'rtl' {\n  $button-margin: 0 0 $global-margin $global-margin !default;\n}\n\n/// transitions for buttons.\n/// @type List\n$button-transition: background-color 0.25s ease-out, color 0.25s ease-out !default;\n\n/// Additional responsive classes for .expanded\n/// @type Boolean\n$button-responsive-expanded: false !default;\n\n// TODO: Document button-base() mixin\n@mixin button-base {\n  @include disable-mouse-outline;\n  display: inline-block;\n  vertical-align: middle;\n  margin: $button-margin;\n\n  @if (type-of($button-padding) == 'map') {\n    @each $size, $padding in $button-padding {\n      @include breakpoint($size) {\n        padding: $padding;\n      }\n    }\n  }\n  @else {\n    padding: $button-padding;\n  }\n\n  border: 1px solid transparent;\n  border-radius: $button-radius;\n  transition: $button-transition;\n  font-family: $button-font-family;\n  font-size: map-get($button-sizes, default);\n  -webkit-appearance: none; // sass-lint:disable-line no-vendor-prefixes\n  line-height: 1;\n  text-align: center;\n  cursor: pointer;\n}\n\n/// Expands a button to make it full-width.\n/// @param {Boolean} $expand [true] - Set to `true` to enable the expand behavior. Set to `false` to reverse this behavior.\n@mixin button-expand($expand: true) {\n  @if $expand {\n    display: block;\n    width: 100%;\n    margin-right: 0;\n    margin-left: 0;\n  }\n  @else {\n    display: inline-block;\n    width: auto;\n    margin: $button-margin;\n  }\n}\n\n/// Sets the visual style of a button.\n/// @param {Color} $background [$button-background] - Background color of the button.\n/// @param {Color} $background-hover [$button-background-hover] - Background color of the button on hover. Set to `auto` to have the mixin automatically generate a hover color.\n/// @param {Color} $color [$button-color] - Text color of the button. Set to `auto` to automatically generate a color based on the background color.\n@mixin button-style(\n  $background: $button-background,\n  $background-hover: $button-background-hover,\n  $color: $button-color,\n  $background-hover-lightness: $button-background-hover-lightness\n) {\n  @if $color == auto {\n    $color: color-pick-contrast($background, ($button-color, $button-color-alt));\n  }\n\n  @if $background-hover == auto {\n    $background-hover: scale-color($background, $lightness: $background-hover-lightness);\n  }\n\n  background-color: $background;\n  color: $color;\n\n  &:hover, &:focus {\n    background-color: $background-hover;\n    color: $color;\n  }\n}\n\n/// Removes background fill on hover and focus for hollow buttons.\n@mixin button-hollow {\n  &,\n  &:hover,\n  &:focus {\n    background-color: transparent;\n  }\n\n  &.disabled,\n  &[disabled] {\n    &,\n    &:hover, &:focus {\n      background-color: transparent;\n    }\n  }\n}\n\n@mixin button-hollow-style(\n  $color: $button-background,\n  $hover-lightness: $button-hollow-hover-lightness,\n  $border-width: $button-hollow-border-width\n) {\n  $color-hover: scale-color($color, $lightness: $hover-lightness);\n\n  border: $border-width solid $color;\n  color: $color;\n\n  &:hover, &:focus {\n    border-color: $color-hover;\n    color: $color-hover;\n    &.disabled,\n    &[disabled] {\n      border: $border-width solid $color;\n      color: $color;\n    }\n  }\n}\n\n/// Adds disabled styles to a button by fading the element, reseting the cursor, and disabling pointer events.\n/// @param {Color} $background [$button-background] - Background color of the disabled button.\n/// @param {Color} $color [$button-color] - Text color of the disabled button. Set to `auto` to have the mixin automatically generate a color based on the background color.\n@mixin button-disabled(\n  $background: $button-background,\n  $color: $button-color\n) {\n  @if $color == auto {\n    $color: color-pick-contrast($background, ($button-color, $button-color-alt));\n  }\n\n  opacity: $button-opacity-disabled;\n  cursor: not-allowed;\n\n  &, &:hover, &:focus {\n    background-color: $background;\n    color: $color;\n  }\n}\n\n/// Adds a dropdown arrow to a button.\n/// @param {Number} $size [0.4em] - Size of the arrow. We recommend using an `em` value so the triangle scales when used inside different sizes of buttons.\n/// @param {Color} $color [white] - Color of the arrow.\n/// @param {Number} $offset [$button-padding] - Distance between the arrow and the text of the button. Defaults to whatever the right padding of a button is.\n@mixin button-dropdown(\n  $size: 0.4em,\n  $color: $white,\n  $offset: get-side($button-padding, right)\n) {\n  &::after {\n    @include css-triangle($size, $color, down);\n    position: relative;\n    top: 0.4em; // Aligns the arrow with the text of the button\n\n    display: inline-block;\n    float: #{$global-right};\n    margin-#{$global-left}: $offset;\n  }\n}\n\n/// Adds all styles for a button. For more granular control over styles, use the individual button mixins.\n/// @param {Boolean} $expand [false] - Set to `true` to make the button full-width.\n/// @param {Color} $background [$button-background] - Background color of the button.\n/// @param {Color} $background-hover [$button-background-hover] - Background color of the button on hover. Set to `auto` to have the mixin automatically generate a hover color.\n/// @param {Color} $color [$button-color] - Text color of the button. Set to `auto` to automatically generate a color based on the background color.\n/// @param {Keyword} $style [solid] - Set to `hollow` to create a hollow button. The color defined in `$background` will be used as the primary color of the button.\n@mixin button(\n  $expand: false,\n  $background: $button-background,\n  $background-hover: $button-background-hover,\n  $color: $button-color,\n  $style: $button-fill\n) {\n  @include button-base;\n\n  @if $style == solid {\n    @include button-style($background, $background-hover, $color);\n  }\n  @else if $style == hollow {\n    @include button-hollow;\n    @include button-hollow-style($background);\n  }\n\n  @if $expand {\n    @include button-expand;\n  }\n}\n\n@mixin foundation-button {\n  .button {\n    @include button;\n\n    // Sizes\n    @each $size, $value in map-remove($button-sizes, default) {\n      &.#{$size} {\n        font-size: $value;\n      }\n    }\n\n    &.expanded { @include button-expand; }\n\n    @if $button-responsive-expanded {\n      @each $size in $breakpoint-classes {\n        @include breakpoint(#{$size} only) {\n          &.#{$size}-only-expanded {\n            @include button-expand;\n          }\n        }\n        @if $size != $-zf-zero-breakpoint {\n          @include breakpoint(#{$size} down) {\n            &.#{$size}-down-expanded {\n              @include button-expand;\n            }\n          }\n\n          @include breakpoint(#{$size}) {\n            &.#{$size}-expanded {\n              @include button-expand;\n            }\n          }\n        }\n      }\n    }\n\n    // Colors\n    @each $name, $color in $button-palette {\n      @if $button-fill != hollow {\n        &.#{$name} {\n          @include button-style($color, auto, auto);\n        }\n      }\n      @else {\n        &.#{$name} {\n          @include button-hollow-style($color);\n        }\n\n        &.#{$name}.dropdown::after {\n          border-top-color: $color;\n        }\n      }\n    }\n\n    // Disabled style\n    &.disabled,\n    &[disabled] {\n      @include button-disabled;\n\n      @each $name, $color in $button-palette {\n        &.#{$name} {\n          @include button-disabled($color, auto);\n        }\n      }\n    }\n\n    // Hollow style\n    @if $button-fill != hollow {\n      &.hollow {\n        @include button-hollow;\n        @include button-hollow-style;\n\n        @each $name, $color in $button-palette {\n          &.#{$name} {\n            @include button-hollow-style($color);\n          }\n        }\n      }\n    }\n\n    // Clear style\n    @if $button-fill != clear {\n      &.clear {\n        @include button-hollow;\n        @include button-hollow-style;\n\n        &, &:hover, &:focus {\n          &, &.disabled, &[disabled] {\n            border-color: transparent;\n          }\n        }\n\n        @each $name, $color in $button-palette {\n          &.#{$name} {\n            @include button-hollow-style($color);\n\n            &, &:hover,\n            &:focus {\n              &,\n              &.disabled,\n              &[disabled] {\n                border-color: transparent;\n              }\n            }\n          }\n        }\n      }\n    }\n\n    // Dropdown arrow\n    &.dropdown {\n      @include button-dropdown;\n\n      @if $button-fill == hollow {\n        &::after {\n          border-top-color: $button-background;\n        }\n      }\n\n      &.hollow, &.clear {\n        &::after {\n          border-top-color: $button-background;\n        }\n\n        @each $name, $color in $button-palette {\n          &.#{$name} {\n            &::after {\n              border-top-color: $color;\n            }\n          }\n        }\n      }\n    }\n\n    // Button with dropdown arrow only\n    &.arrow-only::after {\n      top: -0.1em;\n      float: none;\n      margin-#{$global-left}: 0;\n    }\n  }\n\n  a.button { // sass-lint:disable-line no-qualifying-elements\n    &:hover,\n    &:focus {\n      text-decoration: none;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_button.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group button-group\n////\n\n/// Margin for button groups.\n/// @type Number\n$buttongroup-margin: 1rem !default;\n\n/// Margin between buttons in a button group.\n/// @type Number\n$buttongroup-spacing: 1px !default;\n\n/// Selector for the buttons inside a button group.\n/// @type String\n$buttongroup-child-selector: '.button' !default;\n\n/// Maximum number of buttons that can be in an even-width button group. (Only needed when $global-flexbox: false;)\n/// @type Number\n$buttongroup-expand-max: 6 !default;\n\n/// Determines if $button-radius is applied to each button or the button group as a whole. Use $global-radius in _settings.scss to change radius.\n/// @type Boolean\n$buttongroup-radius-on-each: true !default;\n\n/// Add styles for a button group container.\n/// @param {String} $child-selector [$buttongroup-child-selector] - Selector for the buttons inside a button group.\n/// @param {Number} $spacing [$buttongroup-spacing] - Spacing between buttons in a button group.\n@mixin button-group(\n  $child-selector: $buttongroup-child-selector,\n  $spacing: $buttongroup-spacing\n) {\n  @include clearfix;\n  margin-bottom: $buttongroup-margin;\n\n  @if $global-flexbox {\n    display: flex;\n    flex-wrap: nowrap;\n    align-items: stretch;\n  }\n  @else {\n    font-size: 0;\n  }\n\n  #{$child-selector} {\n    margin: 0;\n    margin-#{$global-right}: $spacing;\n    margin-bottom: $spacing;\n    font-size: map-get($button-sizes, default);\n\n    @if $global-flexbox {\n      flex: 0 0 auto;\n    }\n\n    &:last-child {\n      margin-#{$global-right}: 0;\n    }\n\n    @if not $buttongroup-radius-on-each {\n      border-radius: 0;\n\n      &:first-child {\n        border-top-#{$global-left}-radius: $button-radius;\n        border-bottom-#{$global-left}-radius: $button-radius;\n      }\n\n      &:last-child {\n        border-top-#{$global-right}-radius: $button-radius;\n        border-bottom-#{$global-right}-radius: $button-radius;\n      }\n    }\n\n  }\n}\n\n/// Creates a full-width button group, making each button equal width.\n/// @param {String} $selector [$buttongroup-child-selector] - Selector for the buttons inside a button group.\n/// @param {Number} $spacing [$buttongroup-spacing] - Spacing between buttons in a button group.\n@mixin button-group-expand(\n  $selector: $buttongroup-child-selector,\n  $spacing: $buttongroup-spacing,\n  $count: null\n) {\n  @if not $global-flexbox {\n    margin-#{$global-right}: -$spacing;\n\n    &::before,\n    &::after {\n      display: none;\n    }\n  }\n\n  #{$selector} {\n    @if $global-flexbox {\n      flex: 1 1 0px; // sass-lint:disable-line zero-unit\n    }\n    @else {\n      // One child\n      &:first-child {\n        &:last-child {\n          width: calc(100% - #{$spacing});\n        }\n      }\n\n      // Two or more childreen\n      @for $i from 2 through $buttongroup-expand-max {\n        &:first-child:nth-last-child(#{$i}) {\n          &, &:first-child:nth-last-child(#{$i}) ~ #{$selector} {\n            display: inline-block;\n            width: calc(#{percentage(1 / $i)} - #{$spacing});\n            margin-#{$global-right}: $spacing;\n\n            &:last-child {\n              margin-#{$global-right}: $spacing * -$buttongroup-expand-max;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\n/// Stacks the buttons in a button group.\n/// @param {String} $selector [$buttongroup-child-selector] - Selector for the buttons inside the button group.\n@mixin button-group-stack(\n  $selector: $buttongroup-child-selector\n) {\n  @if $global-flexbox {\n    flex-wrap: wrap;\n  }\n\n  #{$selector} {\n    @if $global-flexbox {\n      flex: 0 0 100%;\n    }\n    @else {\n      width: 100%;\n    }\n\n    &:last-child {\n      margin-bottom: 0;\n    }\n\n\n    @if not $buttongroup-radius-on-each {\n      border-radius: 0;\n\n      &:first-child {\n        border-top-#{$global-left}-radius: $global-radius;\n        border-top-#{$global-right}-radius: $global-radius;\n      }\n\n      &:last-child {\n        margin-bottom: 0;\n        border-bottom-#{$global-left}-radius: $global-radius;\n        border-bottom-#{$global-right}-radius: $global-radius;\n      }\n    }\n\n  }\n}\n\n/// Un-stacks the buttons in a button group.\n/// @param {String} $selector [$buttongroup-child-selector] - Selector for the buttons inside the button group.\n@mixin button-group-unstack(\n  $selector: $buttongroup-child-selector\n) {\n  #{$selector} {\n    @if $global-flexbox {\n      flex: 0 0 auto;\n    }\n    @else {\n      width: auto;\n    }\n    margin-bottom: 0;\n\n    @if not $buttongroup-radius-on-each {\n      &:first-child {\n        border-top-#{$global-left}-radius: $global-radius;\n        border-top-#{$global-right}-radius: 0;\n        border-bottom-#{$global-left}-radius: $global-radius;\n      }\n\n      &:last-child {\n        border-top-#{$global-right}-radius: $global-radius;\n        border-bottom-#{$global-right}-radius: $global-radius;\n        border-bottom-#{$global-left}-radius: 0;\n      }\n    }\n\n  }\n}\n\n@mixin foundation-button-group {\n  .button-group {\n    @include button-group;\n\n    // Sizes\n    @each $size, $value in map-remove($button-sizes, default) {\n      &.#{$size} #{$buttongroup-child-selector} {\n        font-size: $value;\n      }\n    }\n\n    // Even-width Group\n    &.expanded {\n      @include button-group-expand;\n    }\n\n    // Colors\n    @each $name, $color in $button-palette {\n      @if $button-fill != hollow {\n        &.#{$name} #{$buttongroup-child-selector} {\n          @include button-style($color, auto, auto);\n        }\n      }\n      @else {\n        &.#{$name} #{$buttongroup-child-selector} {\n          @include button-hollow;\n          @include button-hollow-style($color);\n        }\n      }\n    }\n\n    &.stacked,\n    &.stacked-for-small,\n    &.stacked-for-medium {\n      @include button-group-stack;\n\n      &.expanded {\n        @include button-group-expand;\n      }\n    }\n\n    &.stacked-for-small {\n      @include breakpoint(medium) {\n        @include button-group-unstack;\n      }\n    }\n\n    &.stacked-for-medium {\n      @include breakpoint(large) {\n        @include button-group-unstack;\n      }\n    }\n\n    &.stacked-for-small.expanded {\n      @include breakpoint(small only) {\n        display: block;\n\n        #{$buttongroup-child-selector} {\n          display: block;\n          margin-#{$global-right}: 0;\n        }\n      }\n    }\n\n    &.stacked-for-medium.expanded {\n      @include breakpoint(medium down) {\n        display: block;\n\n        #{$buttongroup-child-selector} {\n          display: block;\n          margin-#{$global-right}: 0;\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_button-group.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group close-button\n////\n\n/// Default position of the close button. The first value should be `right` or `left`, and the second value should be `top` or `bottom`.\n/// @type List\n$closebutton-position: right top !default;\n\n/// Right (or left) offset(s) for a close button.\n/// @type Number|Map\n$closebutton-offset-horizontal: (\n  small: 0.66rem,\n  medium: 1rem,\n) !default;\n\n/// Top (or bottom) offset(s) for a close button.\n/// @type Number|Map\n$closebutton-offset-vertical: (\n  small: 0.33em,\n  medium: 0.5rem,\n) !default;\n\n/// Default font size(s) of the close button.\n/// @type Number|Map\n$closebutton-size: (\n  small: 1.5em,\n  medium: 2em,\n) !default;\n\n/// The line-height of the close button. It affects the spacing of the element.\n/// @type Number\n$closebutton-lineheight: 1 !default;\n\n/// Default color of the close button.\n/// @type Color\n$closebutton-color: $dark-gray !default;\n\n/// Default color of the close button when being hovered on.\n/// @type Color\n$closebutton-color-hover: $black !default;\n\n\n/// Get the size and position for a close button. If the input value is a number, the number is returned. If the input value is a config map and the map has the key `$size`, the value is returned.\n///\n/// @param {Number|Map} $value - A number or map that represents the size or position value(s) of the close button.\n/// @param {Keyword} $size - The size of the close button to use.\n///\n/// @return {Number} The given number or the value found in the map.\n@function -zf-get-size-val($value, $size) {\n  // Check if the value is a number\n  @if type-of($value) == 'number' {\n    // If it is, just return the number\n    @return $value;\n  }\n\n  // Check if the size name exists in the value map\n  @else if map-has-key($value, $size) {\n    // If it does, return the value\n    @return map-get($value, $size);\n  }\n}\n\n/// Sets the size and position of a close button.\n/// @param {Keyword} $size [medium] - The size to use. Set to `small` to create a small close button. The 'medium' values defined in `$closebutton-*` variables will be used as the default size and position of the close button.\n@mixin close-button-size($size) {\n  $x: nth($closebutton-position, 1);\n  $y: nth($closebutton-position, 2);\n\n  #{$x}: -zf-get-size-val($closebutton-offset-horizontal, $size);\n  #{$y}: -zf-get-size-val($closebutton-offset-vertical, $size);\n  font-size: -zf-get-size-val($closebutton-size, $size);\n  line-height: -zf-get-size-val($closebutton-lineheight, $size);\n}\n\n/// Adds styles for a close button, using the styles in the settings variables.\n@mixin close-button {\n  $x: nth($closebutton-position, 1);\n  $y: nth($closebutton-position, 2);\n\n  @include disable-mouse-outline;\n  position: absolute;\n  color: $closebutton-color;\n  cursor: pointer;\n\n  &:hover,\n  &:focus {\n    color: $closebutton-color-hover;\n  }\n}\n\n@mixin foundation-close-button {\n  .close-button {\n    @include close-button;\n\n    &.small { @include close-button-size(small) }\n    &, &.medium { @include close-button-size(medium) }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_close-button.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group label\n////\n\n/// Default background color for labels.\n/// @type Color\n$label-background: $primary-color !default;\n\n/// Default text color for labels.\n/// @type Color\n$label-color: $white !default;\n\n/// Alternate text color for labels.\n/// @type Color\n$label-color-alt: $black !default;\n\n/// Coloring classes. A map of classes to output in your CSS, like `.secondary`, `.success`, and so on.\n/// @type Map\n$label-palette: $foundation-palette !default;\n\n/// Default font size for labels.\n/// @type Number\n$label-font-size: 0.8rem !default;\n\n/// Default padding inside labels.\n/// @type Number\n$label-padding: 0.33333rem 0.5rem !default;\n\n/// Default radius of labels.\n/// @type Number\n$label-radius: $global-radius !default;\n\n/// Generates base styles for a label.\n@mixin label {\n  display: inline-block;\n  padding: $label-padding;\n\n  border-radius: $label-radius;\n\n  font-size: $label-font-size;\n  line-height: 1;\n  white-space: nowrap;\n  cursor: default;\n}\n\n@mixin foundation-label {\n  .label {\n    @include label;\n\n    background: $label-background;\n    color: $label-color;\n\n    @each $name, $color in $label-palette {\n      &.#{$name} {\n        background: $color;\n        color: color-pick-contrast($color, ($label-color, $label-color-alt));\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_label.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n/// Adds styles for a progress bar container.\n@mixin progress-container {\n  height: $progress-height;\n  margin-bottom: $progress-margin-bottom;\n  border-radius: $progress-radius;\n  background-color: $progress-background;\n}\n\n/// Adds styles for the inner meter of a progress bar.\n@mixin progress-meter {\n  position: relative;\n  display: block;\n  width: 0%;\n  height: 100%;\n  background-color: $progress-meter-background;\n\n  @if has-value($progress-radius) {\n    border-radius: $global-radius;\n  }\n}\n\n/// Adds styles for text in the progress meter.\n@mixin progress-meter-text {\n  @include absolute-center;\n  margin: 0;\n  font-size: 0.75rem;\n  font-weight: bold;\n  color: $white;\n  white-space: nowrap;\n\n  @if has-value($progress-radius) {\n    border-radius: $progress-radius;\n  }\n}\n\n@mixin foundation-progress-bar {\n  // Progress bar\n  .progress {\n    @include progress-container;\n\n    @each $name, $color in $foundation-palette {\n      &.#{$name} {\n        .progress-meter {\n          background-color: $color;\n        }\n      }\n    }\n  }\n\n  // Inner meter\n  .progress-meter {\n    @include progress-meter;\n  }\n\n  // Inner meter text\n  .progress-meter-text {\n    @include progress-meter-text;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_progress-bar.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n// [TODO] Check how plugin confirms disabled or vertical status\n// [TODO] Check if transition: all; is necessary\n\n////\n/// @group slider\n////\n\n/// Default slider width of a vertical slider. (Doesn't apply to the native slider.)\n/// @type Number\n$slider-width-vertical: 0.5rem !default;\n\n/// Transition properties to apply to the slider handle and fill. (Doesn't apply to the native slider.)\n/// @type Transition\n$slider-transition: all 0.2s ease-in-out !default;\n\n/// Adds the general styles for sliders.\n@mixin slider-container {\n  position: relative;\n  height: $slider-height;\n  margin-top: 1.25rem;\n  margin-bottom: 2.25rem;\n\n  background-color: $slider-background;\n  cursor: pointer;\n  user-select: none;\n  touch-action: none;\n}\n\n/// Adds the general styles for active fill for sliders.\n@mixin slider-fill {\n  position: absolute;\n  top: 0;\n  left: 0;\n\n  display: inline-block;\n  max-width: 100%;\n  height: $slider-height;\n\n  background-color: $slider-fill-background;\n  transition: $slider-transition;\n\n  &.is-dragging {\n    transition: all 0s linear;\n  }\n}\n\n/// Adds the general styles for the slider handles.\n@mixin slider-handle {\n  @include disable-mouse-outline;\n  @include vertical-center;\n  left: 0;\n  z-index: 1;\n\n  display: inline-block;\n  width: $slider-handle-width;\n  height: $slider-handle-height;\n\n  border-radius: $slider-radius;\n  background-color: $slider-handle-background;\n  transition: $slider-transition;\n  touch-action: manipulation;\n\n  &:hover {\n    background-color: scale-color($slider-handle-background, $lightness: -15%);\n  }\n\n  &.is-dragging {\n    transition: all 0s linear;\n  }\n}\n\n@mixin slider-disabled {\n  opacity: $slider-opacity-disabled;\n  cursor: not-allowed;\n}\n\n@mixin slider-vertical {\n  display: inline-block;\n  width: $slider-width-vertical;\n  height: 12.5rem;\n  margin: 0 1.25rem;\n  transform: scale(1, -1);\n\n  .slider-fill {\n    top: 0;\n    width: $slider-width-vertical;\n    max-height: 100%;\n  }\n\n  .slider-handle {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    width: $slider-handle-height;\n    height: $slider-handle-width;\n    transform: translateX(-50%);\n  }\n}\n\n@mixin foundation-slider {\n  // Container\n  .slider {\n    @include slider-container;\n  }\n\n  // Fill area\n  .slider-fill {\n    @include slider-fill;\n  }\n\n  // Draggable handle\n  .slider-handle {\n    @include slider-handle;\n  }\n\n  // Disabled state\n  .slider.disabled,\n  .slider[disabled] {\n    @include slider-disabled;\n  }\n\n  // Vertical slider\n  .slider.vertical {\n    @include slider-vertical;\n  }\n\n  // RTL support\n  @if $global-text-direction == rtl {\n    .slider:not(.vertical) {\n      transform: scale(-1, 1);\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_slider.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group switch\n////\n\n/// Background color of a switch.\n/// @type Color\n$switch-background: $medium-gray !default;\n\n/// Background active color of a switch.\n/// @type Color\n$switch-background-active: $primary-color !default;\n\n/// Height of a switch, with no class applied.\n/// @type Number\n$switch-height: 2rem !default;\n\n/// Height of a switch with .tiny class.\n/// @type Number\n$switch-height-tiny: 1.5rem !default;\n\n/// Height of a switch with .small class.\n/// @type Number\n$switch-height-small: 1.75rem !default;\n\n/// Height of a switch with .large class.\n/// @type Number\n$switch-height-large: 2.5rem !default;\n\n/// Border radius of the switch\n/// @type Number\n$switch-radius: $global-radius !default;\n\n/// border around a modal.\n/// @type Number\n$switch-margin: $global-margin !default;\n\n/// Background color for the switch container and paddle.\n/// @type Color\n$switch-paddle-background: $white !default;\n\n/// Spacing between a switch paddle and the edge of the body.\n/// @type Number\n$switch-paddle-offset: 0.25rem !default;\n\n/// border radius of the switch paddle\n/// @type Number\n$switch-paddle-radius: $global-radius !default;\n\n/// switch transition.\n/// @type Number\n$switch-paddle-transition: all 0.25s ease-out !default;\n\n// make them variables\n// ask about accessibility on label\n// change class name for text\n\n/// Adds styles for a switch container. Apply this to a container class.\n@mixin switch-container {\n  position: relative;\n  margin-bottom: $switch-margin;\n  outline: 0;\n\n  // These properties cascade down to the switch text\n  font-size: rem-calc(14);\n  font-weight: bold;\n  color: $white;\n\n  user-select: none;\n}\n\n/// Adds styles for a switch input. Apply this to an `<input>` within a switch.\n@mixin switch-input {\n  position: absolute;\n  margin-bottom: 0;\n  opacity: 0;\n}\n\n/// Adds styles for the background and paddle of a switch. Apply this to a `<label>` within a switch.\n@mixin switch-paddle {\n  $switch-width: $switch-height * 2;\n  $paddle-height: $switch-height - ($switch-paddle-offset * 2);\n  $paddle-width: $switch-height - ($switch-paddle-offset * 2);\n  $paddle-active-offest: $switch-width - $paddle-width - $switch-paddle-offset;\n\n  position: relative;\n  display: block;\n  width: $switch-width;\n  height: $switch-height;\n\n  border-radius: $switch-radius;\n  background: $switch-background;\n  transition: $switch-paddle-transition;\n\n  // Resetting these <label> presets so type styles cascade down\n  font-weight: inherit;\n  color: inherit;\n\n  cursor: pointer;\n\n  // Needed to override specificity\n  input + & {\n    margin: 0;\n  }\n\n  // The paddle itself\n  &::after {\n    position: absolute;\n    top: $switch-paddle-offset;\n    #{$global-left}: $switch-paddle-offset;\n\n    display: block;\n    width: $paddle-width;\n    height: $paddle-height;\n\n    transform: translate3d(0, 0, 0);\n    border-radius: $switch-paddle-radius;\n    background: $switch-paddle-background;\n    transition: $switch-paddle-transition;\n    content: '';\n  }\n\n  // Change the visual style when the switch is active\n  input:checked ~ & {\n    background: $switch-background-active;\n\n    &::after {\n      #{$global-left}: $paddle-active-offest;\n    }\n  }\n\n  input:focus ~ & {\n    @include disable-mouse-outline;\n  }\n}\n\n/// Adds base styles for active/inactive text inside a switch. Apply this to text elements inside the switch `<label>`.\n@mixin switch-text {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n}\n\n/// Adds styles for the active state text within a switch.\n@mixin switch-text-active {\n  #{$global-left}: 8%;\n  display: none;\n\n  input:checked + label > & {\n    display: block;\n  }\n}\n\n/// Adds styles for the inactive state text within a switch.\n@mixin switch-text-inactive {\n  #{$global-right}: 15%;\n\n  input:checked + label > & {\n    display: none;\n  }\n}\n\n/// Changes the size of a switch by modifying the size of the body and paddle. Apply this to a switch container.\n/// @param {Number} $font-size [1rem] - Font size of label text within the switch.\n/// @param {Number} $switch-height [2rem] - Height of the switch body.\n/// @param {Number} $paddle-offset [0.25rem] - Spacing between the switch paddle and the edge of the switch body.\n@mixin switch-size(\n  $font-size: 1rem,\n  $switch-height: 2rem,\n  $paddle-offset: 0.25rem\n) {\n\n  $switch-width: $switch-height * 2;\n  $paddle-width: $switch-height - ($paddle-offset * 2);\n  $paddle-height: $switch-height - ($paddle-offset * 2);\n  $paddle-active-offest: $switch-width - $paddle-width - $paddle-offset;\n\n  height: $switch-height;\n\n  .switch-paddle {\n    width: $switch-width;\n    height: $switch-height;\n    font-size: $font-size;\n  }\n\n  .switch-paddle::after {\n    top: $paddle-offset;\n    #{$global-left}: $paddle-offset;\n    width: $paddle-width;\n    height: $paddle-height;\n  }\n\n  input:checked ~ .switch-paddle::after {\n    #{$global-left}: $paddle-active-offest;\n  }\n}\n\n@mixin foundation-switch {\n  // Container class\n  .switch {\n    height: $switch-height;\n    @include switch-container;\n  }\n\n  // <input> element\n  .switch-input {\n    @include switch-input;\n  }\n\n  // <label> element\n  .switch-paddle {\n    @include switch-paddle;\n  }\n\n  // Base label text styles\n  %switch-text {\n    @include switch-text;\n  }\n\n  // Active label text styles\n  .switch-active {\n    @extend %switch-text;\n    @include switch-text-active;\n  }\n\n  // Inactive label text styles\n  .switch-inactive {\n    @extend %switch-text;\n    @include switch-text-inactive;\n  }\n\n  // Switch sizes\n  .switch.tiny {\n    @include switch-size(rem-calc(10), $switch-height-tiny, $switch-paddle-offset);\n  }\n\n  .switch.small {\n    @include switch-size(rem-calc(12), $switch-height-small, $switch-paddle-offset);\n  }\n\n  .switch.large {\n    @include switch-size(rem-calc(16), $switch-height-large, $switch-paddle-offset);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_switch.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n// sass-lint:disable no-qualifying-elements\n\n////\n/// @group table\n////\n\n/// Default color for table background.\n/// @type Color\n$table-background: $white  !default;\n\n/// Default scale for darkening the striped table rows and the table border.\n/// @type Number\n$table-color-scale: 5% !default;\n\n/// Default style for table border.\n/// @type List\n$table-border: 1px solid smart-scale($table-background, $table-color-scale) !default;\n\n/// Default padding for table.\n/// @type Number\n$table-padding: rem-calc(8 10 10) !default;\n\n/// Default scale for darkening the table rows on hover.\n/// @type Number\n$table-hover-scale: 2% !default;\n\n/// Default color of standard rows on hover.\n/// @type List\n$table-row-hover: darken($table-background, $table-hover-scale) !default;\n\n/// Default color of striped rows on hover.\n/// @type List\n$table-row-stripe-hover: darken($table-background, $table-color-scale + $table-hover-scale) !default;\n\n/// If `true`, tables are striped by default and an .unstriped class is created. If `false`, a .striped class is created.\n/// @type Boolean\n$table-is-striped: true !default;\n\n/// Default background color for striped rows.\n/// @type Color\n$table-striped-background: smart-scale($table-background, $table-color-scale) !default;\n\n/// Default value for showing the stripe on rows of the tables, excluding the header and footer. If even, the even rows will have a background color. If odd, the odd rows will have a background color. If empty, or any other value, the table rows will have no striping.\n/// @type Keyword\n$table-stripe: even !default;\n\n/// Default color for header background.\n/// @type Color\n$table-head-background: smart-scale($table-background, $table-color-scale / 2) !default;\n\n/// Default color of header rows on hover.\n/// @type List\n$table-head-row-hover: darken($table-head-background, $table-hover-scale) !default;\n\n/// Default color for footer background.\n/// @type Color\n$table-foot-background: smart-scale($table-background, $table-color-scale) !default;\n\n/// Default color of footer rows on hover.\n/// @type List\n$table-foot-row-hover: darken($table-foot-background, $table-hover-scale) !default;\n\n/// Default font color for header.\n/// @type Color\n$table-head-font-color: $body-font-color !default;\n\n/// Default font color for footer.\n/// @type Color\n$table-foot-font-color: $body-font-color !default;\n\n/// Default value for showing the header when using stacked tables.\n/// @type Boolean\n$show-header-for-stacked: false !default;\n\n/// Breakpoint at which stacked table switches from mobile to desktop view.\n/// @type Breakpoint\n$table-stack-breakpoint: medium !default;\n\n@mixin -zf-table-stripe($stripe: $table-stripe) {\n  tr {\n    // If stripe is set to even, darken the even rows.\n    @if $stripe == even {\n      &:nth-child(even) {\n        border-bottom: 0;\n        background-color: $table-striped-background;\n      }\n    }\n\n    // If stripe is set to odd, darken the odd rows.\n    @else if $stripe == odd {\n      &:nth-child(odd) {\n        background-color: $table-striped-background;\n      }\n    }\n  }\n}\n\n@mixin -zf-table-unstripe() {\n  tr {\n    border-bottom: 0;\n    border-bottom: $table-border;\n    background-color: $table-background;\n  }\n}\n\n@mixin -zf-table-children-styles($stripe: $table-stripe, $is-striped: $table-is-striped) {\n  thead,\n  tbody,\n  tfoot {\n    border: $table-border;\n    background-color: $table-background;\n  }\n\n  // Caption\n  caption {\n    padding: $table-padding;\n    font-weight: $global-weight-bold;\n  }\n\n  // Table head\n  thead {\n    background: $table-head-background;\n    color: $table-head-font-color;\n  }\n\n  // Table foot\n  tfoot {\n    background: $table-foot-background;\n    color: $table-foot-font-color;\n  }\n\n  // Table head and foot\n  thead,\n  tfoot {\n    // Rows within head and foot\n    tr {\n      background: transparent;\n    }\n\n    // Cells within head and foot\n    th,\n    td {\n      padding: $table-padding;\n      font-weight: $global-weight-bold;\n      text-align: #{$global-left};\n    }\n  }\n\n  // Table rows\n  tbody {\n    th,\n    td {\n      padding: $table-padding;\n    }\n  }\n\n  // If tables are striped\n  @if $is-striped == true {\n    tbody {\n      @include -zf-table-stripe($stripe);\n    }\n\n    &.unstriped {\n      tbody {\n        @include -zf-table-unstripe();\n        background-color: $table-background;\n      }\n    }\n  }\n\n  // If tables are not striped\n  @else if $is-striped == false {\n    tbody {\n      @include -zf-table-unstripe();\n    }\n\n    &.striped {\n      tbody {\n        @include -zf-table-stripe($stripe);\n      }\n    }\n  }\n}\n\n/// Adds the general styles for tables.\n/// @param {Keyword} $stripe [$table-stripe] - Uses keywords even, odd, or none to darken rows of the table. The default value is even.\n@mixin table(\n  $stripe: $table-stripe,\n  $nest: false\n) {\n  border-collapse: collapse;\n  width: 100%;\n  margin-bottom: $global-margin;\n  border-radius: $global-radius;\n\n  @if $nest {\n    @include -zf-table-children-styles($stripe);\n  }\n  @else {\n    @at-root {\n      @include -zf-table-children-styles($stripe);\n    }\n  }\n}\n\n/// Adds the ability to horizontally scroll the table when the content overflows horizontally.\n@mixin table-scroll {\n  display: block;\n  width: 100%;\n  overflow-x: auto;\n}\n\n/// Slightly darkens the table rows on hover.\n@mixin table-hover {\n  thead tr {\n    //Darkens the table header rows on hover.\n    &:hover {\n      background-color: $table-head-row-hover;\n    }\n  }\n\n  tfoot tr {\n    //Darkens the table footer rows on hover.\n    &:hover {\n      background-color: $table-foot-row-hover;\n    }\n  }\n\n  tbody tr {\n    //Darkens the non-striped table rows on hover.\n    &:hover {\n      background-color: $table-row-hover;\n    }\n  }\n\n  @if $table-is-striped == true {\n    // Darkens the even striped table rows.\n    @if($table-stripe == even) {\n      &:not(.unstriped) tr:nth-of-type(even):hover {\n        background-color: $table-row-stripe-hover;\n      }\n    }\n\n    // Darkens the odd striped table rows.\n    @else if($table-stripe == odd) {\n      &:not(.unstriped) tr:nth-of-type(odd):hover {\n        background-color: $table-row-stripe-hover;\n      }\n    }\n  }\n\n  @else if $table-is-striped == false {\n    // Darkens the even striped table rows.\n    @if($table-stripe == even) {\n      &.striped tr:nth-of-type(even):hover {\n        background-color: $table-row-stripe-hover;\n      }\n    }\n\n    // Darkens the odd striped table rows.\n    @else if($table-stripe == odd) {\n      &.striped tr:nth-of-type(odd):hover {\n        background-color: $table-row-stripe-hover;\n      }\n    }\n  }\n}\n\n/// Adds styles for a stacked table. Useful for small-screen layouts.\n/// @param {Boolean} $header [$show-header-for-stacked] - Show the first th of header when stacked.\n@mixin table-stack($header: $show-header-for-stacked) {\n  @if $header {\n    thead {\n      th {\n        display: block;\n      }\n    }\n  }\n  @else {\n    thead {\n      display: none;\n    }\n  }\n\n  tfoot {\n    display: none;\n  }\n\n  tr,\n  th,\n  td {\n    display: block;\n  }\n\n  td {\n    border-top: 0;\n  }\n}\n\n@mixin foundation-table($nest: false) {\n  table {\n    @include table($nest: $nest);\n  }\n\n  table.stack {\n    @include breakpoint($table-stack-breakpoint down) {\n      @include table-stack;\n    }\n  }\n\n  table.scroll {\n    @include table-scroll;\n  }\n\n  table.hover {\n    @include table-hover;\n  }\n\n  .table-scroll {\n    overflow-x: auto;\n\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_table.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group badge\n////\n\n/// Default background color for badges.\n/// @type Color\n$badge-background: $primary-color !default;\n\n/// Default text color for badges.\n/// @type Color\n$badge-color: $white !default;\n\n/// Alternate text color for badges.\n/// @type Color\n$badge-color-alt: $black !default;\n\n/// Coloring classes. A map of classes to output in your CSS, like `.secondary`, `.success`, and so on.\n/// @type Map\n$badge-palette: $foundation-palette !default;\n\n/// Default padding inside badges.\n/// @type Number\n$badge-padding: 0.3em !default;\n\n/// Minimum width of a badge.\n/// @type Number\n$badge-minwidth: 2.1em !default;\n\n/// Default font size for badges.\n/// @type Number\n$badge-font-size: 0.6rem !default;\n\n/// Generates the base styles for a badge.\n@mixin badge {\n  display: inline-block;\n  min-width: $badge-minwidth;\n  padding: $badge-padding;\n\n  border-radius: 50%;\n\n  font-size: $badge-font-size;\n  text-align: center;\n}\n\n@mixin foundation-badge {\n  .badge {\n    @include badge;\n\n    background: $badge-background;\n    color: $badge-color;\n\n    @each $name, $color in $badge-palette {\n      &.#{$name} {\n        background: $color;\n        color: color-pick-contrast($color, ($badge-color, $badge-color-alt));\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_badge.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group breadcrumbs\n////\n\n/// Margin around a breadcrumbs container.\n/// @type Number\n$breadcrumbs-margin: 0 0 $global-margin 0 !default;\n\n/// Font size of breadcrumb links.\n/// @type Number\n$breadcrumbs-item-font-size: rem-calc(11) !default;\n\n/// Color of breadcrumb links.\n/// @type Color\n$breadcrumbs-item-color: $primary-color !default;\n\n/// Color of the active breadcrumb link.\n/// @type Color\n$breadcrumbs-item-color-current: $black !default;\n\n/// Opacity of disabled breadcrumb links.\n/// @type Number\n$breadcrumbs-item-color-disabled: $medium-gray !default;\n\n/// Margin between breadcrumb items.\n/// @type Number\n$breadcrumbs-item-margin: 0.75rem !default;\n\n/// If `true`, makes breadcrumb links uppercase.\n/// @type Boolean\n$breadcrumbs-item-uppercase: true !default;\n\n/// If `true`, adds a seperator between breadcrumb links.\n/// @type Boolean\n$breadcrumbs-item-separator: true !default;\n\n// If it exists $breadcrumbs-item-slash is used to build $breadcrumbs-item-separator. See the documentation.\n@if variable-exists(breadcrumbs-item-slash) {\n  $breadcrumbs-item-separator: $breadcrumbs-item-slash;\n}\n\n/// Used character for the breadcrumb separator.\n/// @type Content\n$breadcrumbs-item-separator-item: '/' !default;\n\n/// Used character for the breadcrumb separator in rtl mode.\n/// @type Content\n$breadcrumbs-item-separator-item-rtl: '\\\\' !default;\n\n/// Color of breadcrumb item.\n/// @type Color\n$breadcrumbs-item-separator-color: $medium-gray !default;\n\n// If it exists $breadcrumbs-item-slash-color is used to build $breadcrumbs-item-separator-color. See the documentation.\n@if variable-exists(breadcrumbs-item-slash-color) {\n  $breadcrumbs-item-separator-color: $breadcrumbs-item-slash-color;\n}\n\n/// Adds styles for a breadcrumbs container, along with the styles for the `<li>` and `<a>` elements inside of it.\n@mixin breadcrumbs-container {\n  @include clearfix;\n  margin: $breadcrumbs-margin;\n  list-style: none;\n\n  // Item wrapper\n  li {\n    float: #{$global-left};\n\n    font-size: $breadcrumbs-item-font-size;\n    color: $breadcrumbs-item-color-current;\n    cursor: default;\n\n    @if $breadcrumbs-item-uppercase {\n      text-transform: uppercase;\n    }\n\n    @if $breadcrumbs-item-separator {\n      // Need to escape the backslash\n      $separator: if($global-text-direction == 'ltr', $breadcrumbs-item-separator-item, $breadcrumbs-item-separator-item-rtl);\n\n      &:not(:last-child) {\n        &::after {\n          position: relative;\n          margin: 0 $breadcrumbs-item-margin;\n          opacity: 1;\n          content: $separator;\n          color: $breadcrumbs-item-separator-color;\n        }\n      }\n    }\n    @else {\n      margin-#{$global-right}: $breadcrumbs-item-margin;\n    }\n  }\n\n  // Page links\n  a {\n    color: $breadcrumbs-item-color;\n\n    &:hover {\n      text-decoration: underline;\n    }\n  }\n}\n\n@mixin foundation-breadcrumbs {\n  .breadcrumbs {\n    @include breadcrumbs-container;\n\n    .disabled {\n      color: $breadcrumbs-item-color-disabled;\n      cursor: not-allowed;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_breadcrumbs.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group callout\n////\n\n/// Default background color.\n/// @type Color\n$callout-background: $white !default;\n\n/// Default fade value for callout backgrounds.\n/// @type Number\n$callout-background-fade: 85% !default;\n\n/// Default border style for callouts.\n/// @type List\n$callout-border: 1px solid rgba($black, 0.25) !default;\n\n/// Default bottom margin for callouts.\n/// @type Number\n$callout-margin: 0 0 1rem 0 !default;\n\n/// Default inner padding for callouts.\n/// @type Number\n$callout-padding: 1rem !default;\n\n/// Default font color for callouts.\n/// @type Color\n$callout-font-color: $body-font-color !default;\n\n/// Default font color for callouts, if the callout has a dark background.\n/// @type Color\n$callout-font-color-alt: $body-background !default;\n\n/// Default border radius for callouts.\n/// @type Color\n$callout-radius: $global-radius !default;\n\n/// Amount to tint links used within colored panels. Set to `false` to disable this feature.\n/// @type Number | Boolean\n$callout-link-tint: 30% !default;\n\n/// Adds basic styles for a callout, including padding and margin.\n@mixin callout-base() {\n  position: relative;\n  margin: $callout-margin;\n  padding: $callout-padding;\n\n  border: $callout-border;\n  border-radius: $callout-radius;\n\n  // Respect the padding, fool.\n  > :first-child {\n    margin-top: 0;\n  }\n\n  > :last-child {\n    margin-bottom: 0;\n  }\n}\n\n/// Generate quick styles for a callout using a single color as a baseline.\n/// @param {Color} $color [$callout-background] - Color to use.\n@mixin callout-style($color: $callout-background) {\n  $background: scale-color($color, $lightness: $callout-background-fade);\n\n  background-color: $background;\n  color: color-pick-contrast($background, ($callout-font-color, $callout-font-color-alt));\n}\n\n@mixin callout-size($padding) {\n  padding-top: $padding;\n  padding-right: $padding;\n  padding-bottom: $padding;\n  padding-left: $padding;\n}\n\n\n/// Adds styles for a callout.\n/// @param {Color} $color [$callout-background] - Color to use.\n@mixin callout($color: $callout-background) {\n  @include callout-base;\n  @include callout-style($color);\n}\n\n@mixin foundation-callout {\n  .callout {\n    @include callout;\n\n    @each $name, $color in $foundation-palette {\n      &.#{$name} {\n        @include callout-style($color);\n      }\n    }\n\n    &.small {\n      @include callout-size(0.5rem);\n    }\n\n    &.large {\n      @include callout-size(3rem);\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_callout.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group card\n////\n\n/// Default background color.\n/// @type Color\n$card-background: $white !default;\n\n/// Default font color for cards.\n/// @type Color\n$card-font-color: $body-font-color !default;\n\n/// Default background.\n/// @type Color\n$card-divider-background: $light-gray !default;\n\n/// Default border style.\n/// @type List\n$card-border: 1px solid $light-gray !default;\n\n/// Default card shadow.\n/// @type List\n$card-shadow: none !default;\n\n/// Default border radius.\n/// @type List\n$card-border-radius: $global-radius !default;\n\n/// Default padding.\n/// @type Number\n$card-padding: $global-padding !default;\n\n/// Default bottom margin.\n/// @type number\n$card-margin-bottom: $global-margin !default;\n\n/// Adds styles for a card container.\n/// @param {Color} $background - Background color of the card.\n/// @param {Color} $color - font color of the card.\n/// @param {Number} $margin - Bottom margin of the card.\n/// @param {List} $border - Border around the card.\n/// @param {List} $radius - border radius of the card.\n/// @param {List} $shadow - box shadow of the card.\n@mixin card-container(\n  $background: $card-background,\n  $color: $card-font-color,\n  $margin: $card-margin-bottom,\n  $border: $card-border,\n  $radius: $card-border-radius,\n  $shadow: $card-shadow\n) {\n  @if $global-flexbox {\n    display: flex;\n    flex-direction: column;\n    flex-grow: 1;\n  }\n\n  margin-bottom: $margin;\n\n  border: $border;\n  border-radius: $radius;\n\n  background: $background;\n  box-shadow: $shadow;\n\n  overflow: hidden;\n  color: $color;\n\n  & > :last-child {\n    margin-bottom: 0;\n  }\n}\n\n/// Adds styles for a card divider.\n@mixin card-divider(\n  $background: $card-divider-background,\n  $padding: $card-padding\n) {\n  @if $global-flexbox {\n    display: flex;\n    flex: 0 1 auto;\n  }\n\n  padding: $padding;\n  background: $background;\n\n  & > :last-child {\n    margin-bottom: 0;\n  }\n}\n\n/// Adds styles for a card section.\n@mixin card-section(\n  $padding: $card-padding\n) {\n  @if $global-flexbox {\n    flex: 1 0 auto;\n  }\n\n  padding: $padding;\n\n  & > :last-child {\n    margin-bottom: 0;\n  }\n}\n\n@mixin foundation-card {\n  .card {\n    @include card-container;\n  }\n\n  .card-divider {\n    @include card-divider;\n  }\n\n  .card-section {\n    @include card-section;\n  }\n\n  // For IE 11 - Flexbug\n  // https://github.com/philipwalton/flexbugs/issues/75\n  .card-image {\n    min-height: 1px;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_card.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group dropdown\n////\n\n/// Padding for dropdown panes.\n/// @type List\n$dropdown-padding: 1rem !default;\n\n/// Background for dropdown panes.\n/// @type Color\n$dropdown-background: $body-background !default;\n\n/// Border for dropdown panes.\n/// @type List\n$dropdown-border: 1px solid $medium-gray !default;\n\n/// Font size for dropdown panes.\n/// @type List\n$dropdown-font-size: 1rem !default;\n\n/// Width for dropdown panes.\n/// @type Number\n$dropdown-width: 300px !default;\n\n/// Border radius dropdown panes.\n/// @type Number\n$dropdown-radius: $global-radius !default;\n\n/// Sizes for dropdown panes. Each size is a CSS class you can apply.\n/// @type Map\n$dropdown-sizes: (\n  tiny: 100px,\n  small: 200px,\n  large: 400px,\n) !default;\n\n/// Applies styles for a basic dropdown.\n@mixin dropdown-container {\n  position: absolute;\n  z-index: 10;\n\n  display: none;\n\n  width: $dropdown-width;\n  padding: $dropdown-padding;\n\n  visibility: hidden;\n  border: $dropdown-border;\n  border-radius: $dropdown-radius;\n  background-color: $dropdown-background;\n\n  font-size: $dropdown-font-size;\n\n\n  // Allow an intermittent state to do positioning before making visible.\n  &.is-opening {\n    display: block;\n  }\n\n  &.is-open {\n    display: block;\n    visibility: visible;\n  }\n}\n\n@mixin foundation-dropdown {\n  .dropdown-pane {\n    @include dropdown-container;\n  }\n\n  @each $name, $size in $dropdown-sizes {\n    .dropdown-pane {\n      &.#{$name} {\n        width: $size;\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_dropdown.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group pagination\n////\n\n/// Font size of pagination items.\n/// @type Number\n$pagination-font-size: rem-calc(14) !default;\n\n/// Default bottom margin of the pagination object.\n/// @type Number\n$pagination-margin-bottom: $global-margin !default;\n\n/// Text color of pagination items.\n/// @type Color\n$pagination-item-color: $black !default;\n\n/// Padding inside of pagination items.\n/// @type Number\n$pagination-item-padding: rem-calc(3 10) !default;\n\n/// Right margin to separate pagination items.\n/// @type Number\n$pagination-item-spacing: rem-calc(1) !default;\n\n/// Default radius for pagination items.\n/// @type Number\n$pagination-radius: $global-radius !default;\n\n/// Background color of pagination items on hover.\n/// @type Color\n$pagination-item-background-hover: $light-gray !default;\n\n/// Background color of pagination item for the current page.\n/// @type Color\n$pagination-item-background-current: $primary-color !default;\n\n/// Text color of the pagination item for the current page.\n/// @type Color\n$pagination-item-color-current: $white !default;\n\n/// Text color of a disabled pagination item.\n/// @type Color\n$pagination-item-color-disabled: $medium-gray !default;\n\n/// Color of the ellipsis in a pagination menu.\n/// @type Color\n$pagination-ellipsis-color: $black !default;\n\n/// If `false`, don't display page number links on mobile, only next/previous links\n/// and optionally current page number.\n/// @type Boolean\n$pagination-mobile-items: false !default;\n\n/// If `true`, display the current page number on mobile even if `$pagination-mobile-items` is set to `false`.\n/// This parameter will only override the visibility setting of the current item for `$pagination-mobile-items: false;`,\n/// it will not affect the current page number visibility when `$pagination-mobile-items` is set to `true`.\n/// @type Boolean\n$pagination-mobile-current-item: false !default;\n\n/// If `true`, arrows are added to the next and previous links of pagination.\n/// @type Boolean\n$pagination-arrows: true !default;\n\n/// Adds styles for a pagination container. Apply this to a `<ul>`.\n@mixin pagination-container (\n  $margin-bottom: $pagination-margin-bottom,\n  $font-size: $pagination-font-size,\n  $spacing: $pagination-item-spacing,\n  $radius: $pagination-radius,\n  $color: $pagination-item-color,\n  $padding: $pagination-item-padding,\n  $background-hover: $pagination-item-background-hover\n) {\n  @include clearfix;\n  margin-#{$global-left}: 0;\n  margin-bottom: $margin-bottom;\n\n  // List item\n  li {\n    margin-#{$global-right}: $spacing;\n    border-radius: $radius;\n    font-size: $font-size;\n\n    @if $pagination-mobile-items {\n      display: inline-block;\n    }\n    @else {\n      display: none;\n\n      &:last-child,\n      &:first-child {\n        display: inline-block;\n      }\n\n      @if $pagination-mobile-current-item {\n        &.current {\n          display: inline-block;\n        }\n      }\n\n      @include breakpoint(medium) {\n        display: inline-block;\n      }\n    }\n  }\n\n  // Page links\n  a,\n  button {\n    display: block;\n    padding: $padding;\n    border-radius: $radius;\n    color: $color;\n\n    &:hover {\n      background: $background-hover;\n    }\n  }\n}\n\n/// Adds styles for the current pagination item. Apply this to an `<a>`.\n@mixin pagination-item-current (\n  $padding: $pagination-item-padding,\n  $background-current: $pagination-item-background-current,\n  $color-current: $pagination-item-color-current\n) {\n  padding: $padding;\n  background: $background-current;\n  color: $color-current;\n  cursor: default;\n}\n\n/// Adds styles for a disabled pagination item. Apply this to an `<a>`.\n@mixin pagination-item-disabled (\n  $padding: $pagination-item-padding,\n  $color: $pagination-item-color-disabled\n) {\n  padding: $padding;\n  color: $color;\n  cursor: not-allowed;\n\n  &:hover {\n    background: transparent;\n  }\n}\n\n/// Adds styles for an ellipsis for use in a pagination list.\n@mixin pagination-ellipsis (\n  $padding: $pagination-item-padding,\n  $color: $pagination-ellipsis-color\n) {\n  padding: $padding;\n  content: '\\2026';\n  color: $color;\n}\n\n@mixin foundation-pagination {\n  .pagination {\n    @include pagination-container;\n\n    .current {\n      @include pagination-item-current;\n    }\n\n    .disabled {\n      @include pagination-item-disabled;\n    }\n\n    .ellipsis::after {\n      @include pagination-ellipsis;\n    }\n  }\n\n  @if $pagination-arrows {\n    .pagination-previous a::before,\n    .pagination-previous.disabled::before {\n      display: inline-block;\n      margin-#{$global-right}: 0.5rem;\n      content: '\\00ab';\n    }\n\n    .pagination-next a::after,\n    .pagination-next.disabled::after {\n      display: inline-block;\n      margin-#{$global-left}: 0.5rem;\n      content: '\\00bb';\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_pagination.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group tooltip\n////\n\n/// Default cursor of the defined term.\n/// @type Keyword\n$has-tip-cursor: help !default;\n\n/// Default font weight of the defined term.\n/// @type Keyword | Number\n$has-tip-font-weight: $global-weight-bold !default;\n\n/// Default border bottom of the defined term.\n/// @type List\n$has-tip-border-bottom: dotted 1px $dark-gray !default;\n\n/// Default color of the tooltip background.\n/// @type Color\n$tooltip-background-color: $black !default;\n\n/// Default color of the tooltip font.\n/// @type Color\n$tooltip-color: $white !default;\n\n/// Default padding of the tooltip background.\n/// @type Number\n$tooltip-padding: 0.75rem !default;\n\n/// Default max width for tooltips.\n/// @type Number\n$tooltip-max-width: 10rem !default;\n\n/// Default font size of the tooltip text. By default, we recommend a smaller font size than the body copy.\n/// @type Number\n$tooltip-font-size: $small-font-size !default;\n\n/// Default pip width for tooltips.\n/// @type Number\n$tooltip-pip-width: 0.75rem !default;\n\n/// Default pip height for tooltips. This is helpful for calculating the distance of the tooltip from the tooltip word.\n/// @type Number\n$tooltip-pip-height: $tooltip-pip-width * 0.866 !default;\n\n/// Default radius for tooltips.\n/// @type Number\n$tooltip-radius: $global-radius !default;\n\n@mixin has-tip {\n  position: relative;\n  display: inline-block;\n\n  border-bottom: $has-tip-border-bottom;\n  font-weight: $has-tip-font-weight;\n  cursor: $has-tip-cursor;\n}\n\n@mixin tooltip {\n  position: absolute;\n  top: calc(100% + #{$tooltip-pip-height});\n  z-index: 1200;\n\n  max-width: $tooltip-max-width;\n  padding: $tooltip-padding;\n\n  border-radius: $tooltip-radius;\n  background-color: $tooltip-background-color;\n  font-size: $tooltip-font-size;\n  color: $tooltip-color;\n\n  &::before {\n    position: absolute;\n  }\n\n  &.bottom {\n    &::before {\n      @include css-triangle($tooltip-pip-width, $tooltip-background-color, up);\n      bottom: 100%;\n    }\n\n    &.align-center::before {\n      left: 50%;\n      transform: translateX(-50%);\n    }\n  }\n\n  &.top {\n    &::before {\n      @include css-triangle($tooltip-pip-width, $tooltip-background-color, down);\n      top: 100%;\n      bottom: auto;\n    }\n\n    &.align-center::before {\n      left: 50%;\n      transform: translateX(-50%);\n    }\n  }\n\n  &.left {\n    &::before {\n      @include css-triangle($tooltip-pip-width, $tooltip-background-color, right);\n      left: 100%;\n    }\n\n    &.align-center::before {\n      bottom: auto;\n      top: 50%;\n      transform: translateY(-50%);\n    }\n  }\n\n  &.right {\n    &::before {\n      @include css-triangle($tooltip-pip-width, $tooltip-background-color, left);\n      right: 100%;\n      left: auto;\n    }\n\n    &.align-center::before {\n      bottom: auto;\n      top: 50%;\n      transform: translateY(-50%);\n    }\n  }\n\n  &.align-top::before {\n    bottom: auto;\n    top: 10%;\n  }\n\n  &.align-bottom::before {\n    bottom: 10%;\n    top: auto;\n  }\n\n  &.align-left::before {\n    left: 10%;\n    right: auto;\n  }\n\n  &.align-right::before {\n    left: auto;\n    right: 10%;\n  }\n}\n\n@mixin foundation-tooltip {\n  .has-tip {\n    @include has-tip;\n  }\n\n  .tooltip {\n    @include tooltip;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_tooltip.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group accordion\n////\n\n/// Default background color of an accordion group.\n/// @type Color\n$accordion-background: $white !default;\n\n/// If `true`, adds plus and minus icons to the side of each accordion title.\n/// @type Boolean\n$accordion-plusminus: true !default;\n\n/// Font size of accordion titles.\n/// @type Number\n$accordion-title-font-size: rem-calc(12) !default;\n\n/// Default text color for items in a Menu.\n/// @type Color\n$accordion-item-color: $primary-color !default;\n\n/// Default background color on hover for items in a Menu.\n/// @type Color\n$accordion-item-background-hover: $light-gray !default;\n\n/// Default padding of an accordion item.\n/// @type Number | List\n$accordion-item-padding: 1.25rem 1rem !default;\n\n/// Default background color of tab content.\n/// @type Color\n$accordion-content-background: $white !default;\n\n/// Default border color of tab content.\n/// @type Color\n$accordion-content-border: 1px solid $light-gray !default;\n\n/// Default text color of tab content.\n/// @type Color\n$accordion-content-color: $body-font-color !default;\n\n/// Default padding for tab content.\n/// @type Number | List\n$accordion-content-padding: 1rem !default;\n\n/// Adds styles for an accordion container. Apply this to the same element that gets `data-accordion`.\n@mixin accordion-container (\n  $background: $accordion-background\n) {\n  margin-#{$global-left}: 0;\n  background: $background;\n  list-style-type: none;\n\n  &[disabled] {\n    .accordion-title {\n      cursor: not-allowed;\n    }\n  }\n}\n\n/// Adds styles for the accordion item. Apply this to the list item within an accordion ul.\n@mixin accordion-item {\n  &:first-child > :first-child {\n    border-radius: $global-radius $global-radius 0 0;\n  }\n\n  &:last-child > :last-child {\n    border-radius: 0 0 $global-radius $global-radius;\n  }\n}\n\n/// Adds styles for the title of an accordion item. Apply this to the link within an accordion item.\n@mixin accordion-title (\n  $padding: $accordion-item-padding,\n  $font-size: $accordion-title-font-size,\n  $color: $accordion-item-color,\n  $border: $accordion-content-border,\n  $background-hover: $accordion-item-background-hover\n) {\n  position: relative;\n  display: block;\n  padding: $padding;\n\n  border: $border;\n  border-bottom: 0;\n\n  font-size: $font-size;\n  line-height: 1;\n  color: $color;\n\n  :last-child:not(.is-active) > & {\n    border-bottom: $border;\n    border-radius: 0 0 $global-radius $global-radius;\n  }\n\n  &:hover,\n  &:focus {\n    background-color: $background-hover;\n  }\n\n  @if $accordion-plusminus {\n    &::before {\n      position: absolute;\n      top: 50%;\n      #{$global-right}: 1rem;\n      margin-top: -0.5rem;\n      content: '+';\n    }\n\n    .is-active > &::before {\n      content: '\\2013';\n    }\n  }\n}\n\n/// Adds styles for accordion content. Apply this to the content pane below an accordion item's title.\n@mixin accordion-content (\n  $padding: $accordion-content-padding,\n  $border: $accordion-content-border,\n  $background: $accordion-content-background,\n  $color: $accordion-content-color\n) {\n  display: none;\n  padding: $padding;\n\n  border: $border;\n  border-bottom: 0;\n  background-color: $background;\n\n  color: $color;\n\n  :last-child > &:last-child {\n    border-bottom: $border;\n  }\n}\n\n@mixin foundation-accordion {\n  .accordion {\n    @include accordion-container;\n  }\n\n  .accordion-item {\n    @include accordion-item;\n  }\n\n  .accordion-title {\n    @include accordion-title;\n  }\n\n  .accordion-content {\n    @include accordion-content;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_accordion.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group media-object\n////\n\n/// Bottom margin of a media object.\n/// @type Number\n$mediaobject-margin-bottom: $global-margin !default;\n\n/// Left and right padding on sections within a media object.\n/// @type Number\n$mediaobject-section-padding: $global-padding !default;\n\n/// Width of images within a media object, when the object is stacked vertically. Set to 'auto' to use the image's natural width.\n/// @type Number\n$mediaobject-image-width-stacked: 100% !default;\n\n/// Adds styles for a media object container.\n@mixin media-object-container {\n  display: if($global-flexbox, flex, block);\n  margin-bottom: $mediaobject-margin-bottom;\n\n  @if $global-flexbox {\n    flex-wrap: nowrap;\n  }\n\n  img {\n    max-width: none;\n  }\n\n  @if $global-flexbox {\n    &.stack-for-#{$-zf-zero-breakpoint} {\n      @include breakpoint($-zf-zero-breakpoint only) {\n        flex-wrap: wrap;\n      }\n    }\n  }\n}\n\n/// Adds styles for sections within a media object.\n/// @param {Number} $padding [$mediaobject-section-padding] - Padding between sections.\n@mixin media-object-section($padding: $mediaobject-section-padding) {\n  @if $global-flexbox {\n    flex: 0 1 auto;\n  }\n  @else {\n    display: table-cell;\n    vertical-align: top;\n  }\n\n  &:first-child {\n    padding-#{$global-right}: $padding;\n  }\n\n  &:last-child:not(:nth-child(2)) {\n    padding-#{$global-left}: $padding;\n  }\n\n  > :last-child {\n    margin-bottom: 0;\n  }\n\n  .stack-for-#{$-zf-zero-breakpoint} & {\n    @include breakpoint($-zf-zero-breakpoint only) {\n      @include media-object-stack;\n    }\n  }\n\n  @if $global-flexbox {\n    &.main-section {\n      flex: 1 1 0px; // sass-lint:disable-line zero-unit\n    }\n  }\n  @else {\n    &.middle {\n      vertical-align: middle;\n    }\n\n    &.bottom {\n      vertical-align: bottom;\n    }\n  }\n}\n\n/// Adds styles to stack sections of a media object. Apply this to the section elements, not the container.\n@mixin media-object-stack {\n  padding: 0;\n  padding-bottom: $mediaobject-section-padding;\n\n  @if $global-flexbox {\n    flex-basis: 100%;\n    max-width: 100%;\n  }\n  @else {\n    display: block;\n  }\n\n  img {\n    width: $mediaobject-image-width-stacked;\n  }\n}\n\n@mixin foundation-media-object {\n  .media-object {\n    @include media-object-container;\n  }\n\n  .media-object-section {\n    @include media-object-section;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_media-object.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group orbit\n////\n\n/// Default color for Orbit's bullets.\n/// @type Color\n$orbit-bullet-background: $medium-gray !default;\n\n/// Default active color for Orbit's bullets.\n/// @type Color\n$orbit-bullet-background-active: $dark-gray !default;\n\n/// Default diameter for Orbit's bullets.\n/// @type Number\n$orbit-bullet-diameter: 1.2rem !default;\n\n/// Default margin between Orbit's bullets.\n/// @type Number\n$orbit-bullet-margin: 0.1rem !default;\n\n/// Default distance from slide region for Orbit's bullets.\n/// @type Number\n$orbit-bullet-margin-top: 0.8rem !default;\n\n/// Default bottom margin from Orbit's bullets to whatever content may lurk below it.\n/// @type Number\n$orbit-bullet-margin-bottom: 0.8rem !default;\n\n/// Default background color for Orbit's caption.\n/// @type Color\n$orbit-caption-background: rgba($black, 0.5) !default;\n\n/// Default padding for Orbit's caption.\n/// @type Number\n$orbit-caption-padding: 1rem !default;\n\n/// Default background color for Orbit's controls when hovered.\n/// @type Color\n$orbit-control-background-hover: rgba($black, 0.5) !default;\n\n/// Default padding for Orbit's controls.\n/// @type Number\n$orbit-control-padding: 1rem !default;\n\n/// Default z-index for Orbit's controls.\n/// @type Number\n$orbit-control-zindex: 10 !default;\n\n/// Adds styles for the outer Orbit wrapper. These styles are used on the `.orbit` class.\n@mixin orbit-wrapper {\n  position: relative;\n}\n\n/// Adds styles for the inner Orbit slide container. These styles are used on the `.orbit-container` class.\n@mixin orbit-container {\n  position: relative;\n  height: 0; // Prevent FOUC by not showing until JS sets height\n  margin: 0;\n  list-style: none;\n  overflow: hidden;\n}\n\n/// Adds styles for the individual slides of an Orbit slider. These styles are used on the `.orbit-slide` class.\n@mixin orbit-slide {\n  width: 100%;\n  position: absolute;\n\n  &.no-motionui {\n    &.is-active {\n      top: 0;\n      left: 0;\n    }\n  }\n}\n\n@mixin orbit-figure {\n  margin: 0;\n}\n\n/// Adds styles for a slide containing an image. These styles are used on the `.orbit-image` class.\n@mixin orbit-image {\n  width: 100%;\n  max-width: 100%;\n  margin: 0;\n}\n\n/// Adds styles for an orbit slide caption. These styles are used on the `.orbit-caption` class.\n@mixin orbit-caption {\n  position: absolute;\n  bottom: 0;\n  width: 100%;\n  margin-bottom: 0;\n  padding: $orbit-caption-padding;\n\n  background-color: $orbit-caption-background;\n  color: color-pick-contrast($orbit-caption-background);\n}\n\n/// Adds base styles for the next/previous buttons in an Orbit slider. These styles are shared between the `.orbit-next` and `.orbit-previous` classes in the default CSS.\n@mixin orbit-control {\n  @include disable-mouse-outline;\n  @include vertical-center;\n  z-index: $orbit-control-zindex;\n  padding: $orbit-control-padding;\n  color: $white;\n\n  &:hover,\n  &:active,\n  &:focus {\n    background-color: $orbit-control-background-hover;\n  }\n}\n\n/// Adds styles for the Orbit previous button. These styles are used on the `.orbit-previous` class.\n@mixin orbit-previous {\n  #{$global-left}: 0;\n}\n\n/// Adds styles for the Orbit next button. These styles are used on the `.orbit-next` class.\n@mixin orbit-next {\n  #{$global-left}: auto;\n  #{$global-right}: 0;\n}\n\n/// Adds styles for a container of Orbit bullets. /// Adds styles for the Orbit previous button. These styles are used on the `.orbit-bullets` class.\n@mixin orbit-bullets {\n  @include disable-mouse-outline;\n  position: relative;\n  margin-top: $orbit-bullet-margin-top;\n  margin-bottom: $orbit-bullet-margin-bottom;\n  text-align: center;\n\n  button {\n    width: $orbit-bullet-diameter;\n    height: $orbit-bullet-diameter;\n    margin: $orbit-bullet-margin;\n\n    border-radius: 50%;\n    background-color: $orbit-bullet-background;\n\n    &:hover {\n      background-color: $orbit-bullet-background-active;\n    }\n\n    &.is-active {\n      background-color: $orbit-bullet-background-active;\n    }\n  }\n}\n\n@mixin foundation-orbit {\n  .orbit {\n    @include orbit-wrapper;\n  }\n\n  .orbit-container {\n    @include orbit-container;\n  }\n\n  .orbit-slide {\n    @include orbit-slide;\n  }\n\n  .orbit-figure {\n    @include orbit-figure;\n  }\n\n  .orbit-image {\n    @include orbit-image;\n  }\n\n  .orbit-caption {\n    @include orbit-caption;\n  }\n\n  %orbit-control {\n    @include orbit-control;\n  }\n\n  .orbit-previous {\n    @extend %orbit-control;\n    @include orbit-previous;\n  }\n\n  .orbit-next {\n    @extend %orbit-control;\n    @include orbit-next;\n  }\n\n  .orbit-bullets {\n    @include orbit-bullets;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_orbit.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group responsive-embed\n////\n\n/// Margin below a responsive embed container.\n/// @type Number\n$responsive-embed-margin-bottom: rem-calc(16) !default;\n\n/// Aspect ratios used to determine padding-bottom of responsive embed containers.\n/// @type Map\n$responsive-embed-ratios: (\n  default: 4 by 3,\n  widescreen: 16 by 9,\n) !default;\n\n/// Creates a responsive embed container.\n/// @param {String|List} $ratio [default] - Ratio of the container. Can be a key from the `$responsive-embed-ratios` map or a list formatted as `x by y`.\n@mixin responsive-embed($ratio: default) {\n  @if type-of($ratio) == 'string' {\n    $ratio: map-get($responsive-embed-ratios, $ratio);\n  }\n  position: relative;\n  height: 0;\n  margin-bottom: $responsive-embed-margin-bottom;\n  padding-bottom: ratio-to-percentage($ratio);\n  overflow: hidden;\n\n  iframe,\n  object,\n  embed,\n  video {\n    position: absolute;\n    top: 0;\n    #{$global-left}: 0;\n    width: 100%;\n    height: 100%;\n  }\n}\n\n@mixin foundation-responsive-embed {\n  .responsive-embed,\n  .flex-video {\n    @include responsive-embed($ratio: default);\n\n    $ratios: map-remove($responsive-embed-ratios,default);\n\n    @each $name, $ratio in $ratios {\n      &.#{$name} {\n        padding-bottom: ratio-to-percentage($ratio);\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_responsive-embed.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group tabs\n////\n\n/// Default margin of the tab bar.\n/// @type Number\n$tab-margin: 0 !default;\n\n/// Default background color of a tab bar.\n/// @type Color\n$tab-background: $white !default;\n\n/// Font color of tab item.\n/// @type Color\n$tab-color: $primary-color !default;\n\n/// Active background color of a tab bar.\n/// @type Color\n$tab-background-active: $light-gray !default;\n\n/// Active font color of tab item.\n/// @type Color\n$tab-active-color: $primary-color !default;\n\n/// Font size of tab items.\n/// @type Number\n$tab-item-font-size: rem-calc(12) !default;\n\n/// Default background color on hover for items in a Menu.\n$tab-item-background-hover: $white !default;\n\n/// Default padding of a tab item.\n/// @type Number\n$tab-item-padding: 1.25rem 1.5rem !default;\n\n/// Default background color of tab content.\n/// @type Color\n$tab-content-background: $white !default;\n\n/// Default border color of tab content.\n/// @type Color\n$tab-content-border: $light-gray !default;\n\n/// Default text color of tab content.\n/// @type Color\n$tab-content-color: $body-font-color !default;\n\n/// Default padding for tab content.\n/// @type Number | List\n$tab-content-padding: 1rem !default;\n\n/// Adds styles for a tab container. Apply this to a `<ul>`.\n@mixin tabs-container (\n  $margin: $tab-margin,\n  $background: $tab-background,\n  $border-color: $tab-content-border\n) {\n  @include clearfix;\n  margin: $margin;\n  border: 1px solid $border-color;\n  background: $background;\n  list-style-type: none;\n}\n\n/// Augments a tab container to have vertical tabs. Use this in conjunction with `tabs-container()`.\n@mixin tabs-container-vertical {\n  > li {\n    display: block;\n    float: none;\n    width: auto;\n  }\n}\n\n/// Adds styles for the links within a tab container. Apply this to the `<li>` elements inside a tab container.\n@mixin tabs-title (\n  $padding: $tab-item-padding,\n  $font-size: $tab-item-font-size,\n  $color: $tab-color,\n  $color-active: $tab-active-color,\n  $background-hover: $tab-item-background-hover,\n  $background-active: $tab-background-active\n) {\n  float: #{$global-left};\n\n  > a {\n    @include disable-mouse-outline;\n    display: block;\n    padding: $padding;\n    font-size: $font-size;\n    line-height: 1;\n    color: $color;\n\n    &:hover {\n      background: $background-hover;\n      color: scale-color($color, $lightness: -14%);\n    }\n\n    &:focus,\n    &[aria-selected='true'] {\n      background: $background-active;\n      color: $color-active;\n    }\n  }\n}\n\n/// Adds styles for the wrapper that surrounds a tab group's content panes.\n@mixin tabs-content (\n  $background: $tab-content-background,\n  $color: $tab-content-color,\n  $border-color: $tab-content-border\n) {\n  border: 1px solid $border-color;\n  border-top: 0;\n  background: $background;\n  color: $color;\n  transition: all 0.5s ease;\n}\n\n/// Augments a tab content container to have a vertical style, by shifting the border around. Use this in conjunction with `tabs-content()`.\n@mixin tabs-content-vertical (\n  $border-color: $tab-content-border\n) {\n  border: 1px solid $border-color;\n  border-#{$global-left}: 0;\n}\n\n/// Adds styles for an individual tab content panel within the tab content container.\n@mixin tabs-panel (\n  $padding: $tab-content-padding\n) {\n  display: none;\n  padding: $padding;\n\n  &.is-active {\n    display: block;\n  }\n}\n\n@mixin foundation-tabs {\n  .tabs {\n    @include tabs-container;\n  }\n\n  // Vertical\n  .tabs.vertical {\n    @include tabs-container-vertical;\n  }\n\n  // Simple\n  .tabs.simple {\n    > li > a {\n      padding: 0;\n\n      &:hover {\n        background: transparent;\n      }\n    }\n  }\n\n  // Primary color\n  .tabs.primary {\n    background: $primary-color;\n\n    > li > a {\n      color: color-pick-contrast($primary-color);\n\n      &:hover,\n      &:focus {\n        background: smart-scale($primary-color);\n      }\n    }\n  }\n\n  .tabs-title {\n    @include tabs-title;\n  }\n\n  .tabs-content {\n    @include tabs-content;\n  }\n\n  .tabs-content.vertical {\n    @include tabs-content-vertical;\n  }\n\n  .tabs-panel {\n    @include tabs-panel;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_tabs.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group thumbnail\n////\n\n/// Border around thumbnail images.\n/// @type Border\n$thumbnail-border: 4px solid $white !default;\n\n/// Bottom margin for thumbnail images.\n/// @type Length\n$thumbnail-margin-bottom: $global-margin !default;\n\n/// Box shadow under thumbnail images.\n/// @type Shadow\n$thumbnail-shadow: 0 0 0 1px rgba($black, 0.2) !default;\n\n/// Box shadow under thumbnail images.\n/// @type Shadow\n$thumbnail-shadow-hover: 0 0 6px 1px rgba($primary-color, 0.5) !default;\n\n/// Transition proprties for thumbnail images.\n/// @type Transition\n$thumbnail-transition: box-shadow 200ms ease-out !default;\n\n/// Default radius for thumbnail images.\n/// @type Number\n$thumbnail-radius: $global-radius !default;\n\n/// Adds thumbnail styles to an element.\n@mixin thumbnail {\n  display: inline-block;\n  max-width: 100%;\n  margin-bottom: $thumbnail-margin-bottom;\n\n  border: $thumbnail-border;\n  border-radius: $thumbnail-radius;\n  box-shadow: $thumbnail-shadow;\n\n  line-height: 0;\n}\n\n@mixin thumbnail-link {\n  transition: $thumbnail-transition;\n\n  &:hover,\n  &:focus {\n    box-shadow: $thumbnail-shadow-hover;\n  }\n\n  image {\n    box-shadow: none;\n  }\n}\n\n@mixin foundation-thumbnail {\n  .thumbnail {\n    @include thumbnail;\n  }\n\n  a.thumbnail {\n    @include thumbnail-link;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_thumbnail.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group menu\n////\n\n/// Margin of a menu.\n/// @type Number\n$menu-margin: 0 !default;\n\n/// Left-hand margin of a nested menu.\n/// @type Number\n$menu-nested-margin: $global-menu-nested-margin !default;\n\n/// Padding for items in a pill menu.\n/// @type Number\n$menu-items-padding: $global-menu-padding !default;\n\n/// margin for items in a simple menu.\n/// @type Number\n$menu-simple-margin: 1rem !default;\n\n/// Text color of an active menu item.\n/// @type Color\n$menu-item-color-active: $white !default;\n\n/// Background color of an active menu item.\n/// @type Color\n$menu-item-background-active: get-color(primary) !default;\n\n/// Spacing between an icon and text in a menu item.\n/// @type Number\n$menu-icon-spacing: 0.25rem !default;\n\n/// Backward compatibility for menu state. If true, this duplicate `active` with `is-active`. \n/// But please note that `active` will be removed in upcoming versions.\n/// @type Boolean\n$menu-state-back-compat: true !default;\n\n/// Backward compatibility for menu centered. If true, this duplicate `.menu-centered > .menu` with `.menu.align-center`. \n/// But please note that `menu-centered` will be removed in upcoming versions.\n/// @type Boolean\n$menu-centered-back-compat: true !default;\n\n/// Backward compatibility for using `icon-*` classes without `.icons` classes\n/// But please note that this backward compatibility will be removed in upcoming versions.\n/// @type Boolean\n$menu-icons-back-compat: true !default;\n\n/// Creates the base styles for a Menu.\n@mixin menu-base {\n  padding: 0;\n  margin: 0;\n  list-style: none;\n  position: relative;\n\n  @if $global-flexbox {\n    display: flex;\n    flex-wrap: wrap;\n  }\n\n  li {\n    @include disable-mouse-outline;\n  }\n\n  a,\n  .button {\n    line-height: 1;\n    text-decoration: none;\n    display: block;\n    padding: $menu-items-padding;\n  }\n\n  // Reset styles of inner elements\n  input,\n  select,\n  a,\n  button {\n    margin-bottom: 0;\n  }\n\n  input {\n    display: inline-block;\n  }\n}\n\n/// Expands the items of a Menu, so each item is the same width.\n@mixin menu-expand {\n  @if $global-flexbox {\n    li {\n      flex: 1 1 0px; // sass-lint:disable-line zero-unit\n    }\n  }\n  @else {\n    display: table;\n    width: 100%;\n\n    > li {\n      display: table-cell;\n      vertical-align: middle;\n    }\n  }\n}\n\n/// Align menu items.\n@mixin menu-align($alignment) {\n  @if $alignment == left {\n    @if $global-flexbox {\n      justify-content: flex-start;\n    }\n    @else {\n      text-align: $global-left;\n    }\n  }\n  @else if $alignment == right {\n    @if $global-flexbox {\n      li {\n        display: flex;\n        justify-content: flex-end;\n\n        .submenu li {\n          justify-content: flex-start;\n        }\n      }\n\n      &.vertical li {\n        display: block;\n        text-align: $global-right;\n\n        .submenu li {\n          text-align: $global-right;\n        }\n      }\n    }\n    @else {\n      text-align: $global-right;\n\n      .submenu li {\n        text-align: $global-left;\n      }\n\n      &.vertical {\n        .submenu li {\n          text-align: $global-right;\n        }\n      }\n    }\n  }\n  @else if $alignment == center {\n    @if $global-flexbox {\n      li {\n        display: flex;\n        justify-content: center;\n\n        .submenu li {\n          justify-content: flex-start;\n        }\n      }\n    }\n    @else {\n      text-align: center;\n\n      .submenu li {\n        text-align: $global-left;\n      }\n    }\n  }\n}\n\n/// Sets the direction of a Menu.\n/// @param {Keyword} $dir [horizontal] - Direction of the Menu. Can be `horizontal` or `vertical`.\n@mixin menu-direction($dir: horizontal) {\n  @if $dir == horizontal {\n    @if $global-flexbox {\n      flex-wrap: wrap;\n      flex-direction: row;\n    }\n    @else {\n      li {\n        display: inline-block;\n      }\n    }\n  }\n  @else if $dir == vertical {\n    @if $global-flexbox {\n      flex-wrap: nowrap;\n      flex-direction: column;\n    }\n    @else {\n      li {\n        display: block;\n      }\n    }\n  }\n  @else {\n    @warn 'The direction used for menu-direction() must be horizontal or vertical.';\n  }\n}\n\n/// Creates a simple Menu, which has no padding or hover state.\n/// @param {Keyword} $dir [$global-left] - Direction of the menu. This effects the side of the `<li>` that receives the margin.\n/// @param {Number} $margin [$menu-simple-margin] - The margin to apply to each `<li>`.\n@mixin menu-simple($dir: $global-left, $margin: $menu-simple-margin) {\n  @if $global-flexbox {\n    align-items: center;\n  }\n\n  li + li {\n    margin-#{$dir}: $margin;\n  }\n\n  a {\n    padding: 0;\n  }\n}\n\n/// Adds styles for a nested Menu, by adding `margin-left` to the menu.\n/// @param {Keyword|Number} $margin [$menu-nested-margin] - Length of the margin.\n/// @param {Keyword} $nested-alignment [left] - Alignment of the nested class\n@mixin menu-nested(\n  $margin: $menu-nested-margin,\n  $nested-alignment: left\n) {\n  @if $nested-alignment == right {\n    margin-#{$global-right}: $margin;\n    margin-#{$global-left}: 0;\n  }\n  @else {\n    margin-#{$global-right}: 0;\n    margin-#{$global-left}: $margin;\n  }\n\n}\n\n/// Adds basic styles for icons in menus.\n@mixin menu-icons() {\n  @if $global-flexbox {\n    a {\n      display: flex;\n    }\n  }\n  @else {\n    img,\n    i,\n    svg {\n      vertical-align: middle;\n\n      + span {\n        vertical-align: middle;\n      }\n    }\n  }\n}\n\n/// Adds position classes for icons within a menu.\n@mixin menu-icon-position($position: left, $spacing: $menu-icon-spacing) {\n  @if $position == left {\n    li a {\n      @if $global-flexbox {\n        flex-flow: row nowrap;\n      }\n\n      img,\n      i,\n      svg {\n        margin-#{$global-right}: $spacing;\n\n        @if not $global-flexbox {\n          display: inline-block;\n        }\n      }\n    }\n  }\n  @else if $position == right {\n    li a {\n      @if $global-flexbox {\n        flex-flow: row nowrap;\n      }\n\n      img,\n      i,\n      svg {\n        margin-#{$global-left}: $spacing;\n\n        @if not $global-flexbox {\n          display: inline-block;\n        }\n      }\n    }\n  }\n  @else if $position == top {\n    li a {\n      @if $global-flexbox {\n        flex-flow: column nowrap;\n      }\n      @else {\n        text-align: center;\n      }\n\n      img,\n      i,\n      svg {\n        @if not $global-flexbox {\n          display: block;\n          margin: 0 auto $spacing;\n        }\n        @else {\n          align-self: stretch;\n          margin-bottom: $spacing;\n          text-align: center;\n        }\n      }\n    }\n  }\n  @else if $position == bottom {\n    li a {\n      @if $global-flexbox {\n        flex-flow: column nowrap;\n      }\n      @else {\n        text-align: center;\n      }\n\n      img,\n      i,\n      svg {\n        @if not $global-flexbox {\n          display: block;\n          margin: $spacing auto 0;\n        }\n        @else {\n          align-self: stretch;\n          margin-bottom: $spacing;\n          text-align: center;\n        }\n      }\n    }\n  }\n}\n\n@mixin menu-text {\n  padding: $global-menu-padding;\n\n  font-weight: bold;\n  line-height: 1;\n  color: inherit;\n}\n\n@mixin menu-state-active {\n  background: $menu-item-background-active;\n  color: $menu-item-color-active;\n}\n\n@mixin foundation-menu {\n  .menu {\n    @include menu-base;\n\n    // Default orientation: horizontal\n    &, &.horizontal {\n      @include menu-direction(horizontal);\n    }\n\n    // Vertical orientation modifier\n    &.vertical {\n      @include menu-direction(vertical);\n    }\n\n    // Even-width modifier for horizontal orientation\n    &.expanded {\n      @include menu-expand;\n    }\n\n    // Simple\n    &.simple {\n      @include menu-simple;\n    }\n\n    // Breakpoint specific versions\n    @include -zf-each-breakpoint($small: false) {\n      &.#{$-zf-size}-horizontal {\n        @include menu-direction(horizontal);\n      }\n\n      &.#{$-zf-size}-vertical {\n        @include menu-direction(vertical);\n      }\n\n      &.#{$-zf-size}-expanded {\n        @include menu-expand;\n      }\n\n      &.#{$-zf-size}-simple {\n        @include menu-expand;\n      }\n    }\n\n    // Nesting\n    &.nested {\n      @include menu-nested;\n    }\n\n    // Icon Base Styles\n    &.icons {\n      @include menu-icons;\n    }\n\n    // Backward Compatibility for active state\n    @if $menu-icons-back-compat {\n      &.icon-top,\n      &.icon-right,\n      &.icon-bottom,\n      &.icon-left {\n        @include menu-icons;\n      }\n    }\n\n    // Icon Left\n    &.icon-left {\n      @include menu-icon-position(left);\n    }\n\n    // Icon Right\n    &.icon-right {\n      @include menu-icon-position(right);\n    }\n\n    // Icon Top\n    &.icon-top {\n      @include menu-icon-position(top);\n    }\n\n    // Icon Bottom\n    &.icon-bottom {\n      @include menu-icon-position(bottom);\n    }\n\n    // Active state\n    .is-active > a {\n      @include menu-state-active;\n    }\n    \n    // Backward Compatibility for active state\n    @if $menu-state-back-compat {\n      .active > a {\n        @include menu-state-active;\n      }\n    }\n\n    // Align left\n    &.align-#{$global-left} {\n      @include menu-align(left);\n    }\n\n    // Align right\n    &.align-#{$global-right} {\n      @include menu-align(right);\n\n      .nested {\n        @include menu-nested($nested-alignment: right);\n      }\n    }\n\n    // Align center\n    &.align-center {\n      @include menu-align(center);\n    }\n\n    .menu-text {\n      @include menu-text;\n    }\n  }\n\n  @if $menu-centered-back-compat {\n    .menu-centered {\n      > .menu {\n        @if $global-flexbox {\n          justify-content: center;\n        }\n        \n        @include menu-align(center);\n      }\n    }\n  }\n\n  // Prevent FOUC when using the Responsive Menu plugin\n  .no-js [data-responsive-menu] ul {\n    display: none;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_menu.scss","@mixin foundation-menu-icon {\n  .menu-icon {\n    @include hamburger($color: $titlebar-icon-color, $color-hover: $titlebar-icon-color-hover);\n  }\n\n  .menu-icon.dark {\n    @include hamburger;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_menu-icon.scss","////\n/// @group accordion-menu\n////\n\n/// Sets accordion menu padding.\n/// @type Number\n$accordionmenu-padding: $global-menu-padding !default;\n\n/// Sets accordion menu nested margin\n/// @type Number\n$accordionmenu-nested-margin: $global-menu-nested-margin !default;\n\n/// Sets accordion menu submenu padding.\n/// @type Number\n$accordionmenu-submenu-padding: $accordionmenu-padding !default;\n\n/// Sets if accordion menus have the default arrow styles.\n/// @type Boolean\n$accordionmenu-arrows: true !default;\n\n/// Sets accordion menu arrow color if arrow is used.\n/// @type Color\n$accordionmenu-arrow-color: $primary-color !default;\n\n/// Sets accordion menu item padding.\n/// @type Color\n$accordionmenu-item-background: null !default;\n\n/// Sets accordion menu item border.\n/// @type Color\n$accordionmenu-border: null !default;\n\n/// Sets accordion menu item padding.\n/// @type Color\n$accordionmenu-submenu-toggle-background: null !default;\n\n/// Sets accordion menu item padding.\n/// @type List\n$accordion-submenu-toggle-border: $accordionmenu-border !default;\n\n/// Sets accordion menu submenu toggle background width.\n/// @type Number\n$accordionmenu-submenu-toggle-width: 40px !default;\n\n/// Sets accordion menu submenu toggle background height.\n/// @type Number\n$accordionmenu-submenu-toggle-height: $accordionmenu-submenu-toggle-width !default;\n\n/// Sets accordion menu arrow size if arrow is used.\n/// @type Length\n$accordionmenu-arrow-size: 6px !default;\n\n@mixin zf-accordion-menu-left-right-arrows {\n  .is-accordion-submenu-parent:not(.has-submenu-toggle) > a {\n    position: relative;\n\n    &::after {\n      @include css-triangle($accordionmenu-arrow-size, $accordionmenu-arrow-color, down);\n      position: absolute;\n      top: 50%;\n      margin-top: -1 * ($accordionmenu-arrow-size / 2);\n      #{$global-right}: 1rem;\n    }\n  }\n\n  &.align-left .is-accordion-submenu-parent > a::after {\n    right: 1rem;\n    left: auto;\n  }\n\n  &.align-right .is-accordion-submenu-parent > a::after {\n    right: auto;\n    left: 1rem;\n  }\n}\n@mixin foundation-accordion-menu {\n\n  .accordion-menu {\n    @if $accordionmenu-border {\n      border-bottom: $accordionmenu-border;\n    }\n\n    li {\n      @if $accordionmenu-border {\n        border-top: $accordionmenu-border;\n        border-right: $accordionmenu-border;\n        border-left: $accordionmenu-border;\n      }\n      width: 100%;\n    }\n\n    a {\n      @if $accordionmenu-item-background {\n        background: $accordionmenu-item-background;\n      }\n      padding: $accordionmenu-padding;\n    }\n\n    .is-accordion-submenu a {\n      padding: $accordionmenu-submenu-padding;\n    }\n\n    .nested.is-accordion-submenu {\n      @include menu-nested($accordionmenu-nested-margin);\n    }\n\n    &.align-#{$global-right} {\n      .nested.is-accordion-submenu {\n        @include menu-nested($accordionmenu-nested-margin, right);\n      }\n    }\n\n    @if $accordionmenu-arrows {\n      @include zf-accordion-menu-left-right-arrows;\n\n      .is-accordion-submenu-parent[aria-expanded='true'] > a::after {\n        transform: rotate(180deg);\n        transform-origin: 50% 50%;\n      }\n    }\n  }\n\n  .is-accordion-submenu li {\n    @if $accordionmenu-border {\n      border-right: 0;\n      border-left: 0;\n    }\n  }\n\n  .is-accordion-submenu-parent {\n    position: relative;\n  }\n\n  .has-submenu-toggle > a {\n    margin-#{$global-right}: $accordionmenu-submenu-toggle-width;\n  }\n\n  // Submenu toggle\n  .submenu-toggle {\n    position: absolute;\n    top: 0;\n    #{$global-right}: 0;\n\n    width: $accordionmenu-submenu-toggle-width;\n    height: $accordionmenu-submenu-toggle-height;\n\n    cursor: pointer;\n\n    border-#{$global-left}: $accordion-submenu-toggle-border;\n\n    @if $accordionmenu-submenu-toggle-background {\n      background: $accordionmenu-submenu-toggle-background;\n    }\n\n    // Add the arrow to the toggle\n    &::after {\n      @include css-triangle(6px, $accordionmenu-arrow-color, down);\n\n      top: 0;\n      bottom: 0;\n      margin: auto;\n    }\n  }\n\n  // Rotate the arrow when menu is open\n  .submenu-toggle[aria-expanded='true']::after {\n    transform: scaleY(-1);\n    transform-origin: 50% 50%;\n  }\n\n  .submenu-toggle-text {\n    @include element-invisible;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_accordion-menu.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group drilldown\n////\n\n/// Transition property to use for animating menus.\n/// @type Transition\n$drilldown-transition: transform 0.15s linear !default;\n\n/// Adds arrows to drilldown items with submenus, as well as the back button.\n/// @type Boolean\n$drilldown-arrows: true !default;\n\n/// Sets drilldown menu item padding.\n/// @type Number\n$drilldown-padding: $global-menu-padding !default;\n\n/// Sets drilldown menu nested margin\n/// @type Number\n$drilldown-nested-margin: 0 !default;\n\n/// Background color for drilldown top level items.\n/// @type Color\n$drilldown-background: $white !default;\n\n/// Sets drilldown menu item padding in the submenu.\n/// @type Number\n$drilldown-submenu-padding: $drilldown-padding !default;\n\n/// Background color for drilldown submenus.\n/// @type Color\n$drilldown-submenu-background: $white !default;\n\n/// Sets drilldown arrow color if arrow is used.\n/// @type Color\n$drilldown-arrow-color: $primary-color !default;\n\n/// Sets drilldown arrow size if arrow is used.\n/// @type Length\n$drilldown-arrow-size: 6px !default;\n\n@mixin zf-drilldown-left-right-arrows {\n  .is-drilldown-submenu-parent > a {\n    position: relative;\n\n    &::after {\n      @include css-triangle($drilldown-arrow-size, $drilldown-arrow-color, $global-right);\n      position: absolute;\n      top: 50%;\n      margin-top: -1 * $drilldown-arrow-size;\n      #{$global-right}: 1rem;\n    }\n  }\n\n  &.align-left .is-drilldown-submenu-parent > a::after {\n    @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, right);\n    right: 1rem;\n    left: auto;\n  }\n\n  &.align-right .is-drilldown-submenu-parent > a::after {\n    @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, left);\n    right: auto;\n    left: 1rem;\n  }\n\n}\n\n@mixin foundation-drilldown-menu {\n  // Applied to the Menu container\n  .is-drilldown {\n    position: relative;\n    overflow: hidden;\n\n    li {\n      display: block;\n    }\n\n    &.animate-height {\n      transition: height 0.5s;\n    }\n  }\n\n  // The top level <ul>\n  .drilldown {\n    a {\n      padding: $drilldown-padding;\n      background: $drilldown-background;\n    }\n\n    // Applied to submenu <ul>s\n    .is-drilldown-submenu {\n      position: absolute;\n      top: 0;\n      #{$global-left}: 100%;\n      z-index: -1;\n\n      width: 100%;\n      background: $drilldown-submenu-background;\n      transition: $drilldown-transition;\n\n      &.is-active {\n        z-index: 1;\n        display: block;\n        transform: translateX(if($global-text-direction == ltr, -100%, 100%));\n      }\n\n      &.is-closing {\n        transform: translateX(if($global-text-direction == ltr, 100%, -100%));\n      }\n\n      // Submenu item padding\n      a {\n        padding: $drilldown-submenu-padding;\n      }\n    }\n\n    .nested.is-drilldown-submenu {\n      @include menu-nested($drilldown-nested-margin);\n    }\n\n    .drilldown-submenu-cover-previous {\n      min-height: 100%;\n    }\n\n    @if $drilldown-arrows {\n      @include zf-drilldown-left-right-arrows;\n\n      .js-drilldown-back > a::before {\n        @include css-triangle($drilldown-arrow-size, $drilldown-arrow-color, $global-left);\n        display: inline-block;\n        vertical-align: middle;\n        margin-#{$global-right}: 0.75rem; // Creates space between the arrow and the text\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_drilldown.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group dropdown-menu\n////\n\n/// Enables arrows for items with dropdown menus.\n/// @type Boolean\n$dropdownmenu-arrows: true !default;\n\n/// Sets dropdown menu arrow color if arrow is used.\n/// @type Color\n$dropdownmenu-arrow-color: $anchor-color !default;\n\n/// Sets dropdown menu arrow size if arrow is used.\n/// @type Length\n$dropdownmenu-arrow-size: 6px !default;\n\n/// Sets dropdown menu arrow padding for aligning the arrow correctly.\n/// @type Length\n$dropdownmenu-arrow-padding: 1.5rem !default;\n\n/// Minimum width of dropdown sub-menus.\n/// @type Length\n$dropdownmenu-min-width: 200px !default;\n\n/// Background color for top level items.\n/// @type Color\n$dropdownmenu-background: null !default;\n\n/// Background color for dropdowns.\n/// @type Color\n$dropdownmenu-submenu-background: $white !default;\n\n/// Padding for top level items.\n/// @type Number\n$dropdownmenu-padding: $global-menu-padding !default;\n\n/// Sets dropdown menu nested margin\n/// @type Number\n$dropdownmenu-nested-margin: 0 !default;\n\n/// Padding for sub-menu items.\n/// @type Number\n$dropdownmenu-submenu-padding: $dropdownmenu-padding !default;\n\n/// Border for dropdown sub-menus.\n/// @type List\n$dropdownmenu-border: 1px solid $medium-gray !default;\n\n// Border width for dropdown sub-menus.\n// Used to adjust top margin of a sub-menu if a border is used.\n// @type Length\n$dropdownmenu-border-width: nth($dropdownmenu-border, 1);\n\n/// Text color of an active dropdown menu item. Explicit override for menu defaults\n/// @type Color\n$dropdown-menu-item-color-active: get-color(primary) !default;\n\n/// Background color of an active dropdown menu item. Explicit override for menu defaults\n/// @type Color\n$dropdown-menu-item-background-active: transparent !default;\n\n@mixin zf-dropdown-left-right-arrows {\n  > a::after {\n    #{$global-right}: 14px;\n  }\n\n  &.opens-left > a::after {\n    @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, left);\n    right: auto;\n    left: 5px;\n  }\n\n  &.opens-right > a::after {\n    @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, right);\n  }\n}\n\n@mixin dropdown-menu-direction($dir: horizontal) {\n  @if $dir == horizontal {\n    > li.opens-left { // sass-lint:disable-line no-qualifying-elements\n      > .is-dropdown-submenu {\n        top: 100%;\n        right: 0;\n        left: auto;\n      }\n    }\n\n    > li.opens-right { // sass-lint:disable-line no-qualifying-elements\n      > .is-dropdown-submenu {\n        top: 100%;\n        right: auto;\n        left: 0;\n      }\n    }\n\n    @if $dropdownmenu-arrows {\n      > li.is-dropdown-submenu-parent > a { // sass-lint:disable-line no-qualifying-elements\n        position: relative;\n        padding-#{$global-right}: $dropdownmenu-arrow-padding;\n      }\n\n      > li.is-dropdown-submenu-parent > a::after { // sass-lint:disable-line no-qualifying-elements\n        @include css-triangle($dropdownmenu-arrow-size, $dropdownmenu-arrow-color, down);\n        #{$global-right}: 5px;\n        #{$global-left}: auto;\n        margin-top: -1 * ($dropdownmenu-arrow-size / 2);\n      }\n    }\n  }\n  @else if $dir == vertical {\n    > li {\n      .is-dropdown-submenu {\n        top: 0;\n      }\n\n      &.opens-left {\n        > .is-dropdown-submenu {\n          top: 0;\n          right: 100%;\n          left: auto;\n        }\n      }\n\n      &.opens-right {\n        > .is-dropdown-submenu {\n          right: auto;\n          left: 100%;\n        }\n      }\n\n      @if $dropdownmenu-arrows {\n        @include zf-dropdown-left-right-arrows;\n      }\n    }\n  }\n  @else {\n    @warn 'The direction used for dropdown-menu-direction() must be horizontal or vertical.';\n  }\n}\n\n@mixin foundation-dropdown-menu {\n  .dropdown.menu {\n    @include dropdown-menu-direction(horizontal);\n\n    a {\n      @include disable-mouse-outline;\n    }\n\n    // Top-level item\n    > li > a {\n      background: $dropdownmenu-background;\n      padding: $dropdownmenu-padding;\n    }\n\n    // Top-level item active state\n    > li.is-active > a {\n      background: $dropdown-menu-item-background-active;\n      color: $dropdown-menu-item-color-active;\n    }\n\n    .no-js & ul {\n      display: none;\n    }\n\n    .nested.is-dropdown-submenu {\n      @include menu-nested($dropdownmenu-nested-margin);\n    }\n\n    &.vertical {\n      @include dropdown-menu-direction(vertical);\n    }\n\n    @each $size in $breakpoint-classes {\n      @if $size != $-zf-zero-breakpoint {\n        @include breakpoint($size) {\n          &.#{$size}-horizontal {\n            @include dropdown-menu-direction(horizontal);\n          }\n\n          &.#{$size}-vertical {\n            @include dropdown-menu-direction(vertical);\n          }\n        }\n      }\n    }\n\n    &.align-right {\n      .is-dropdown-submenu.first-sub {\n        top: 100%;\n        right: 0;\n        left: auto;\n      }\n    }\n  }\n\n  .is-dropdown-menu.vertical {\n    width: 100px;\n\n    &.align-right {\n      float: right;\n    }\n  }\n\n  .is-dropdown-submenu-parent {\n    position: relative;\n\n    a::after {\n      position: absolute;\n      top: 50%;\n      #{$global-right}: 5px;\n      #{$global-left}: auto;\n      margin-top: -1 * $dropdownmenu-arrow-size;\n    }\n\n    &.opens-inner > .is-dropdown-submenu {\n\n      top: 100%;\n      @if $global-text-direction == 'rtl' {\n        right: auto;\n      }\n      @else {\n        left: auto;\n      }\n    }\n\n    &.opens-left > .is-dropdown-submenu {\n      right: 100%;\n      left: auto;\n    }\n\n    &.opens-right > .is-dropdown-submenu {\n      right: auto;\n      left: 100%;\n    }\n  }\n\n  .is-dropdown-submenu {\n    position: absolute;\n    top: 0;\n    #{$global-left}: 100%;\n    z-index: 1;\n\n    display: none;\n    min-width: $dropdownmenu-min-width;\n\n    border: $dropdownmenu-border;\n    background: $dropdownmenu-submenu-background;\n\n    .dropdown & a {\n      padding: $dropdownmenu-submenu-padding;\n    }\n\n    .is-dropdown-submenu-parent {\n      @if $dropdownmenu-arrows {\n        @include zf-dropdown-left-right-arrows;\n      }\n    }\n\n    @if (type-of($dropdownmenu-border-width) == 'number') {\n      .is-dropdown-submenu {\n        margin-top: (-$dropdownmenu-border-width);\n      }\n    }\n\n    > li {\n      width: 100%;\n    }\n\n    // [TODO] Cut back specificity\n    //&:not(.js-dropdown-nohover) > .is-dropdown-submenu-parent:hover > &, // why is this line needed? Opening is handled by JS and this causes some ugly flickering when the sub is re-positioned automatically...\n    &.js-dropdown-active {\n      display: block;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_dropdown-menu.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group off-canvas\n////\n\n/// Width map of a left/right off-canvas panel.\n/// @type Map\n$offcanvas-sizes: (\n  small: 250px,\n) !default;\n\n/// Height map of a top/bottom off-canvas panel.\n/// @type Map\n$offcanvas-vertical-sizes: (\n  small: 250px,\n) !default;\n\n/// Background color of an off-canvas panel.\n/// @type Color\n$offcanvas-background: $light-gray !default;\n\n/// Box shadow for the off-canvas overlap panel.\n/// @type Shadow\n$offcanvas-shadow: 0 0 10px rgba($black, 0.7) !default;\n\n/// Inner box shadow size for the off-canvas push panel.\n/// @type Number\n$offcanvas-inner-shadow-size: 20px !default;\n\n/// Inner box shadow color for the off-canvas push panel.\n/// @type Color\n$offcanvas-inner-shadow-color: rgba($black, 0.25) !default;\n\n/// Z-index of an off-canvas content overlay.\n/// @type Number\n$offcanvas-overlay-zindex: 11 !default;\n\n/// Z-index of an off-canvas panel with the `push` transition.\n/// @type Number\n$offcanvas-push-zindex: 12 !default;\n\n/// Z-index of an off-canvas panel with the `overlap` transition.\n/// @type Number\n$offcanvas-overlap-zindex: 13 !default;\n\n/// Z-index of an off-canvas panel using the `reveal-for-*` classes or mixin.\n/// @type Number\n$offcanvas-reveal-zindex: 12 !default;\n\n/// Length of the animation on an off-canvas panel.\n/// @type Number\n$offcanvas-transition-length: 0.5s !default;\n\n/// Timing function of the animation on an off-canvas panel.\n/// @type Keyword\n$offcanvas-transition-timing: ease !default;\n\n/// If `true`, a revealed off-canvas will be fixed-position, and scroll with the screen.\n/// @type Bool\n$offcanvas-fixed-reveal: true !default;\n\n/// Background color for the overlay that appears when an off-canvas panel is open.\n/// @type Color\n$offcanvas-exit-background: rgba($white, 0.25) !default;\n\n/// CSS class used for the main content area. The off-canvas mixins use this to target the page content.\n$maincontent-class: 'off-canvas-content' !default;\n\n/// Adds baseline styles for off-canvas. This CSS is required to make the other pieces work.\n@mixin off-canvas-basics {\n\n  /// Transform deprecated size settings into map & show warning\n  @if variable-exists(offcanvas-size) {\n    $offcanvas-sizes: (small: $offcanvas-size, medium: $offcanvas-size) !global;\n    @warn '$offcanvas-size is deprecated and not used anymore! Please update your settings and use the map $offcanvas-sizes instead';\n  }\n  @if variable-exists(offcanvas-vertical-size) {\n    $offcanvas-vertical-sizes: (small: $offcanvas-vertical-size, medium: $offcanvas-vertical-size) !global;\n    @warn '$offcanvas-vertical-size is deprecated and not used anymore! Please update your settings and use the map $offcanvas-vertical-sizes instead';\n  }\n\n  // Checks the z-indexes and increase them due to backwards compatibility.\n  // This is necessary because the overlay's z-index is new since v6.4 and may be identical to the user custom settings of the push z-index.\n  @if $offcanvas-push-zindex <= $offcanvas-overlay-zindex { $offcanvas-push-zindex: $offcanvas-overlay-zindex + 1 !global; }\n  @if $offcanvas-overlap-zindex <= $offcanvas-push-zindex { $offcanvas-overlap-zindex: $offcanvas-push-zindex + 1 !global; }\n  @if $offcanvas-reveal-zindex <= $offcanvas-overlay-zindex { $offcanvas-reveal-zindex: $offcanvas-overlay-zindex + 1 !global; }\n\n  // Hides overflow on body when an off-canvas panel is open.\n  .is-off-canvas-open {\n    overflow: hidden;\n  }\n\n  // Off-canvas overlay (generated by JavaScript)\n  .js-off-canvas-overlay {\n    position: absolute;\n    top: 0;\n    left: 0;\n    z-index: $offcanvas-overlay-zindex;\n\n    width: 100%;\n    height: 100%;\n\n    transition: opacity $offcanvas-transition-length $offcanvas-transition-timing, visibility $offcanvas-transition-length $offcanvas-transition-timing;\n\n    background: $offcanvas-exit-background;\n\n    opacity: 0;\n    visibility: hidden;\n\n    overflow: hidden;\n\n    &.is-visible {\n      opacity: 1;\n      visibility: visible;\n    }\n\n    &.is-closable {\n      cursor: pointer;\n    }\n\n    &.is-overlay-absolute {\n      position: absolute;\n    }\n\n    &.is-overlay-fixed {\n      position: fixed;\n    }\n  }\n}\n\n// Adds basic styles for an off-canvas wrapper.\n@mixin off-canvas-wrapper() {\n  position: relative;\n  overflow: hidden;\n}\n\n/// Adds basic styles for an off-canvas panel.\n@mixin off-canvas-base(\n  $background: $offcanvas-background,\n  $transition: $offcanvas-transition-length $offcanvas-transition-timing,\n  $fixed: true\n) {\n  @include disable-mouse-outline;\n\n  @if $fixed == true {\n    position: fixed;\n  }\n  @else {\n    position: absolute;\n  }\n\n  // Set the off-canvas z-index.\n  z-index: $offcanvas-push-zindex;\n\n  // Increase CSS specificity\n  &.is-transition-push {\n    z-index: $offcanvas-push-zindex;\n  }\n\n  transition: transform $transition;\n  backface-visibility: hidden;\n\n  background: $background;\n\n  // Hide inactive off-canvas within the content that have the same position\n  &.is-closed {\n    visibility: hidden;\n  }\n\n  // Overlap only styles.\n  &.is-transition-overlap {\n    z-index: $offcanvas-overlap-zindex;\n\n    &.is-open {\n      box-shadow: $offcanvas-shadow;\n    }\n  }\n\n  // Sets transform to 0 to show an off-canvas panel.\n  &.is-open {\n    transform: translate(0, 0);\n  }\n}\n\n/// Adds styles to position an off-canvas panel to the left/right/top/bottom.\n@mixin off-canvas-position(\n  $position: left,\n  $orientation: horizontal,\n  $sizes: if($orientation == horizontal, $offcanvas-sizes, $offcanvas-vertical-sizes)\n) {\n  @if $position == left {\n    top: 0;\n    left: 0;\n    height: 100%;\n    overflow-y: auto;\n\n    @each $name, $size in $sizes {\n      @include breakpoint($name) {\n        width: $size;\n        transform: translateX(-$size);\n      }\n    }\n\n    // Sets the position for nested off-canvas element\n    @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {\n\n      @each $name, $size in $sizes {\n        @include breakpoint($name) {\n          transform: translateX(-$size);\n        }\n      }\n      &.is-transition-overlap.is-open {\n        transform: translate(0, 0);\n      }\n    }\n\n    // Sets the open position for the content\n    @at-root .#{$maincontent-class}.is-open-#{$position} {\n      &.has-transition-push {\n        @each $name, $size in $sizes {\n          @include breakpoint($name) {\n            transform: translateX($size);\n          }\n        }\n      }\n    }\n  }\n  @else if $position == right {\n    top: 0;\n    right: 0;\n    height: 100%;\n    overflow-y: auto;\n\n    @each $name, $size in $sizes {\n      @include breakpoint($name) {\n        width: $size;\n        transform: translateX($size);\n      }\n    }\n\n    // Sets the position for nested off-canvas element\n    @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {\n\n      @each $name, $size in $sizes {\n        @include breakpoint($name) {\n          transform: translateX($size);\n        }\n      }\n      &.is-transition-overlap.is-open {\n        transform: translate(0, 0);\n      }\n    }\n\n    // Sets the open position for the content\n    @at-root .#{$maincontent-class}.is-open-#{$position} {\n      &.has-transition-push {\n        @each $name, $size in $sizes {\n          @include breakpoint($name) {\n            transform: translateX(-$size);\n          }\n        }\n      }\n    }\n  }\n  @else if $position == top {\n    top: 0;\n    left: 0;\n    width: 100%;\n    overflow-x: auto;\n\n    @each $name, $size in $sizes {\n      @include breakpoint($name) {\n        height: $size;\n        transform: translateY(-$size);\n      }\n    }\n\n    // Sets the position for nested off-canvas element\n    @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {\n      @each $name, $size in $sizes {\n        @include breakpoint($name) {\n          transform: translateY(-$size);\n        }\n      }\n      &.is-transition-overlap.is-open {\n        transform: translate(0, 0);\n      }\n    }\n\n    // Sets the open position for the content\n    @at-root .#{$maincontent-class}.is-open-#{$position} {\n      &.has-transition-push {\n        @each $name, $size in $sizes {\n          @include breakpoint($name) {\n            transform: translateY($size);\n          }\n        }\n      }\n    }\n  }\n  @else if $position == bottom {\n    bottom: 0;\n    left: 0;\n    width: 100%;\n    overflow-x: auto;\n\n    @each $name, $size in $sizes {\n      @include breakpoint($name) {\n        height: $size;\n        transform: translateY($size);\n      }\n    }\n\n    // Sets the position for nested off-canvas element\n    @at-root .#{$maincontent-class} .off-canvas.position-#{$position} {\n      @each $name, $size in $sizes {\n        @include breakpoint($name) {\n          transform: translateY($size);\n        }\n      }\n      &.is-transition-overlap.is-open {\n        transform: translate(0, 0);\n      }\n    }\n\n    // Sets the open position for the content\n    @at-root .#{$maincontent-class}.is-open-#{$position} {\n      &.has-transition-push {\n        @each $name, $size in $sizes {\n          @include breakpoint($name) {\n            transform: translateY(-$size);\n          }\n        }\n      }\n    }\n  }\n\n  // If $offcanvas-inner-shadow-size is set, add inner box-shadow.\n  // This mimics the off-canvas panel having a lower z-index, without having to have one.\n  @if $offcanvas-inner-shadow-size {\n    &.is-transition-push {\n      @if $position == left {\n        @include inner-side-shadow(right, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);\n      }\n      @else if $position == right {\n        @include inner-side-shadow(left, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);\n      }\n      @else if $position == top {\n        @include inner-side-shadow(bottom, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);\n      }\n      @else if $position == bottom {\n        @include inner-side-shadow(top, $offcanvas-inner-shadow-size, $offcanvas-inner-shadow-color);\n      }\n    }\n  }\n\n}\n\n/// Sets the styles for the content container.\n@mixin off-canvas-content() {\n  transform: none;\n  transition: transform $offcanvas-transition-length $offcanvas-transition-timing;\n  backface-visibility: hidden;\n\n  // Transform scope until the element is closed (makes sure transitionend gets triggered)\n  &.has-transition-push {\n    transform: translate(0, 0);\n  }\n\n  // Consider element & content, nested in another content\n  .off-canvas.is-open {\n    transform: translate(0, 0);\n  }\n}\n\n/// Adds styles that reveal an off-canvas panel.\n@mixin off-canvas-reveal(\n$position: left,\n$zindex: $offcanvas-reveal-zindex,\n$content: $maincontent-class,\n$breakpoint: small\n) {\n  transform: none;\n  z-index: $zindex;\n  transition: none;\n  visibility: visible;\n\n  @if not $offcanvas-fixed-reveal {\n    position: absolute;\n  }\n\n  .close-button {\n    display: none;\n  }\n\n  // Consider revealed element is nested in content\n  .#{$maincontent-class} & {\n    transform: none;\n  }\n\n  @at-root .#{$content}.has-reveal-#{$position} {\n    margin-#{$position}: -zf-get-bp-val($offcanvas-sizes, $breakpoint);\n  }\n\n  // backwards compatibility (prior to v6.4)\n  & ~ .#{$content} {\n    margin-#{$position}: -zf-get-bp-val($offcanvas-sizes, $breakpoint);\n  }\n}\n\n/// Overrides the off-canvas styles\n@mixin in-canvas() {\n  visibility: visible;\n  height: auto;\n  position: static;\n  background: none;\n  width: auto;\n  overflow: visible;\n  transition: none;\n\n  // Increase CSS specificity\n  &.position-left,\n  &.position-right,\n  &.position-top,\n  &.position-bottom {\n    box-shadow: none;\n    transform: none;\n  }\n\n  .close-button {\n    display: none;\n  }\n}\n\n@mixin foundation-off-canvas {\n  @include off-canvas-basics;\n\n  // Off-canvas wrapper\n  .off-canvas-wrapper {\n    @include off-canvas-wrapper;\n  }\n\n  // Off-canvas container\n  .off-canvas {\n    @include off-canvas-base;\n\n    // Force position absolute for nested off-canvas because fixed doesn't work for push transition within the transform scope.\n    @at-root .#{$maincontent-class} & {\n      // NOTE: since overlap transition is currently forced if nested, there's no need to force position absolute until nested push transition is supported.\n      // position: absolute;\n    }\n  }\n\n  // Off-canvas container with absolute position\n  .off-canvas-absolute {\n    @include off-canvas-base($fixed: false);\n  }\n\n  // Off-canvas position classes\n  .position-left    { @include off-canvas-position(left,   horizontal); }\n  .position-right   { @include off-canvas-position(right,  horizontal); }\n  .position-top     { @include off-canvas-position(top,    vertical); }\n  .position-bottom  { @include off-canvas-position(bottom, vertical); }\n\n  .off-canvas-content {\n    @include off-canvas-content;\n  }\n\n  // Reveal off-canvas panel on larger screens\n  @each $name, $value in $breakpoint-classes {\n    @if $name != $-zf-zero-breakpoint {\n      @include breakpoint($name) {\n        .position-left.reveal-for-#{$name} {\n          @include off-canvas-reveal(left, $offcanvas-reveal-zindex, $maincontent-class, $name);\n        }\n\n        .position-right.reveal-for-#{$name} {\n          @include off-canvas-reveal(right, $offcanvas-reveal-zindex, $maincontent-class, $name);\n        }\n\n        .position-top.reveal-for-#{$name} {\n          @include off-canvas-reveal(top, $offcanvas-reveal-zindex, $maincontent-class, $name);\n        }\n\n        .position-bottom.reveal-for-#{$name} {\n          @include off-canvas-reveal(bottom, $offcanvas-reveal-zindex, $maincontent-class, $name);\n        }\n      }\n    }\n  }\n\n  // Move in-canvas for larger screens\n  @each $name, $value in $breakpoint-classes {\n    @if $name != $-zf-zero-breakpoint {\n      @include breakpoint($name) {\n        .off-canvas.in-canvas-for-#{$name} {\n          @include in-canvas;\n        }\n      }\n    }\n  }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_off-canvas.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n@mixin foundation-sticky {\n  .sticky-container {\n    position: relative;\n  }\n\n  .sticky {\n    position: relative;\n    z-index: 0;\n    transform: translate3d(0, 0, 0);\n  }\n\n  .sticky.is-stuck {\n    position: fixed;\n    z-index: 5;\n    width: 100%;\n\n    &.is-at-top {\n      top: 0;\n    }\n\n    &.is-at-bottom {\n      bottom: 0;\n    }\n  }\n\n  .sticky.is-anchored {\n    position: relative;\n    right: auto;\n    left: auto;\n\n    &.is-at-bottom {\n      bottom: 0;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_sticky.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group title-bar\n////\n\n/// Background color of a title bar.\n/// @type Color\n$titlebar-background: $black !default;\n\n/// Color of text inside a title bar.\n/// @type Color\n$titlebar-color: $white !default;\n\n/// Padding inside a title bar.\n/// @type Length\n$titlebar-padding: 0.5rem !default;\n\n/// Font weight of text inside a title bar.\n/// @type Weight\n$titlebar-text-font-weight: bold !default;\n\n/// Color of menu icons inside a title bar.\n/// @type Color\n$titlebar-icon-color: $white !default;\n\n/// Color of menu icons inside a title bar on hover.\n/// @type Color\n$titlebar-icon-color-hover: $medium-gray !default;\n\n/// Spacing between the menu icon and text inside a title bar.\n/// @type Length\n$titlebar-icon-spacing: 0.25rem !default;\n\n@mixin foundation-title-bar {\n  .title-bar {\n    padding: $titlebar-padding;\n    background: $titlebar-background;\n    color: $titlebar-color;\n\n    @if $global-flexbox {\n      display: flex;\n      justify-content: flex-start;\n      align-items: center;\n    }\n    @else {\n      @include clearfix;\n    }\n\n    .menu-icon {\n      margin-#{$global-left}: $titlebar-icon-spacing;\n      margin-#{$global-right}: $titlebar-icon-spacing;\n    }\n  }\n\n  @if $global-flexbox {\n    .title-bar-left,\n    .title-bar-right {\n      flex: 1 1 0px; // sass-lint:disable-line zero-unit\n    }\n\n    .title-bar-right {\n      text-align: right;\n    }\n  }\n  @else {\n    .title-bar-left {\n      float: left;\n    }\n\n    .title-bar-right {\n      float: right;\n      text-align: right;\n    }\n  }\n\n  .title-bar-title {\n    display: inline-block;\n    vertical-align: middle;\n    font-weight: $titlebar-text-font-weight;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_title-bar.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group top-bar\n////\n\n/// Padding for the top bar.\n/// @type Number\n$topbar-padding: 0.5rem !default;\n\n/// Background color for the top bar. This color also cascades to menus within the top bar.\n/// @type Color\n$topbar-background: $light-gray !default;\n\n/// Background color submenus within the top bar. Usefull if $topbar-background is transparent.\n/// @type Color\n$topbar-submenu-background: $topbar-background !default;\n\n/// Spacing for the top bar title.\n/// @type Number\n$topbar-title-spacing: 0.5rem 1rem 0.5rem 0 !default;\n\n/// Maximum width of `<input>` elements inside the top bar.\n/// @type Number\n$topbar-input-width: 200px !default;\n\n/// Breakpoint at which top bar switches from mobile to desktop view.\n/// @type Breakpoint\n$topbar-unstack-breakpoint: medium !default;\n\n/// Adds styles for a top bar container.\n@mixin top-bar-container {\n  @if $global-flexbox {\n    display: flex;\n    flex-wrap: nowrap;\n    justify-content: space-between;\n    align-items: center;\n  }\n  @else {\n    @include clearfix;\n  }\n\n  padding: $topbar-padding;\n\n  &,\n  ul {\n    background-color: $topbar-background;\n  }\n\n  // Check if $topbar-background is differnt from $topbar-background-submenu\n  @if ($topbar-background != $topbar-submenu-background) {\n    ul ul {\n      background-color: $topbar-submenu-background;\n    }\n  }\n\n  // Restrain width of inputs by default to make them easier to arrange\n  input {\n    max-width: $topbar-input-width;\n    margin-#{$global-right}: 1rem;\n  }\n\n  // The above styles shouldn't apply to input group fields\n  .input-group-field {\n    width: 100%;\n    margin-#{$global-right}: 0;\n  }\n\n  input.button { // sass-lint:disable-line no-qualifying-elements\n    width: auto;\n  }\n}\n\n/// Makes sections of a top bar stack on top of each other.\n@mixin top-bar-stacked {\n  @if $global-flexbox {\n    flex-wrap: wrap;\n\n    // Sub-sections\n    .top-bar-left,\n    .top-bar-right {\n      flex: 0 0 100%;\n      max-width: 100%;\n    }\n  }\n  @else {\n    // Sub-sections\n    .top-bar-left,\n    .top-bar-right {\n      width: 100%;\n    }\n  }\n}\n\n/// Undoes the CSS applied by the `top-bar-stacked()` mixin.\n@mixin top-bar-unstack {\n  @if $global-flexbox {\n    flex-wrap: nowrap;\n\n    .top-bar-left {\n      flex: 1 1 auto;\n      margin-right: auto;\n    }\n\n    .top-bar-right {\n      flex: 0 1 auto;\n      margin-left: auto;\n    }\n  }\n  @else {\n    .top-bar-left,\n    .top-bar-right {\n      width: auto;\n    }\n  }\n}\n\n@mixin foundation-top-bar {\n  // Top bar container\n  .top-bar {\n    @include top-bar-container;\n\n    // Stack on small screens by default\n    @include top-bar-stacked;\n\n    @include breakpoint($topbar-unstack-breakpoint) {\n      @include top-bar-unstack;\n    }\n\n    // Generate classes for stacking on each screen size (defined in $breakpoint-classes)\n    @each $size in $breakpoint-classes {\n      @if $size != $-zf-zero-breakpoint {\n        &.stacked-for-#{$size} {\n          @include breakpoint($size down) {\n            @include top-bar-stacked;\n          }\n        }\n      }\n    }\n  }\n\n  // Sub-sections\n  @if $global-flexbox {\n    .top-bar-title {\n      flex: 0 0 auto;\n      margin: $topbar-title-spacing;\n    }\n\n    .top-bar-left,\n    .top-bar-right {\n      flex: 0 0 auto;\n    }\n  }\n  @else {\n    .top-bar-title {\n      display: inline-block;\n      float: left;\n      padding: $topbar-title-spacing;\n\n      .menu-icon {\n        bottom: 2px;\n      }\n    }\n\n    .top-bar-left {\n      float: left;\n    }\n\n    .top-bar-right {\n      float: right;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_top-bar.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group float\n////\n\n@mixin foundation-float-classes {\n  .float-left {\n    float: left !important;\n  }\n\n  .float-right {\n    float: right !important;\n  }\n\n  .float-center {\n    display: block;\n    margin-right: auto;\n    margin-left: auto;\n  }\n\n  .clearfix {\n    @include clearfix;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_float.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group Flexbox Utilities\n////\n//\n/// Default value for the count of source ordering`\n/// @type Number\n$flex-source-ordering-count: 6 !default;\n\n/// Quickly disable/enable Responsive breakpoints for Vanilla Flex Helpers.\n/// @type Boolean\n$flexbox-responsive-breakpoints: true !default;\n\n@mixin flex-helpers {\n  .flex-container {\n    @include flex;\n  }\n\n  .flex-child-auto {\n    flex: 1 1 auto;\n  }\n\n  .flex-child-grow {\n    flex: 1 0 auto;\n  }\n\n  .flex-child-shrink {\n    flex: 0 1 auto;\n  }\n\n  @each $dir, $prop in $-zf-flex-direction {\n    .flex-dir-#{$dir} {\n      @include flex-direction($prop);\n    }\n  }\n\n  @if ($flexbox-responsive-breakpoints) {\n    // Loop through Responsive Breakpoints\n    @each $size in $breakpoint-classes {\n      @include breakpoint($size) {\n        @if $size != $-zf-zero-breakpoint {\n          .#{$size}-flex-container {\n            @include flex;\n          }\n\n          .#{$size}-flex-child-auto {\n            flex: 1 1 auto;\n          }\n\n          .#{$size}-flex-child-grow {\n            flex: 1 0 auto;\n          }\n\n          .#{$size}-flex-child-shrink {\n            flex: 0 1 auto;\n          }\n\n          @each $dir, $prop in $-zf-flex-direction {\n            .#{$size}-flex-dir-#{$dir} {\n              @include flex-direction($prop);\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\n@mixin foundation-flex-classes {\n  // Horizontal alignment using justify-content\n  @each $hdir, $prop in $-zf-flex-justify {\n    .align-#{$hdir} {\n      @include flex-align($x: $hdir);\n    }\n  }\n  \n  // Horizontal alignment Specifically for Vertical Menu\n  @each $hdir, $prop in map-remove($-zf-flex-justify, 'justify', 'spaced') {\n    .align-#{$hdir} {\n      &.vertical {\n        &.menu > li > a {\n          @include flex-align($x: $hdir);\n        }\n      }\n    }\n  }\n\n  // Vertical alignment using align-items and align-self\n  @each $vdir, $prop in $-zf-flex-align {\n    .align-#{$vdir} {\n      @include flex-align($y: $vdir);\n    }\n\n    .align-self-#{$vdir} {\n      @include flex-align-self($y: $vdir);\n    }\n  }\n\n  // Central alignment of content\n  .align-center-middle {\n    @include flex-align($x: center, $y: middle);\n    align-content: center;\n  }\n\n  // Source ordering\n  @include -zf-each-breakpoint {\n    @for $i from 1 through $flex-source-ordering-count {\n      .#{$-zf-size}-order-#{$i} {\n        @include flex-order($i);\n      }\n    }\n  }\n\n  // Vanilla Flexbox Helpers\n  @include flex-helpers;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_flex.scss","@function -zf-flex-justify($text-direction){\n  $-zf-flex-justify: (\n    'left': if($text-direction == rtl, flex-end, flex-start),\n    'right': if($text-direction == rtl, flex-start, flex-end),\n    'center': center,\n    'justify': space-between,\n    'spaced': space-around,\n  );\n\n  @return $-zf-flex-justify;\n}\n\n\n$-zf-flex-align: (\n  'top': flex-start,\n  'bottom': flex-end,\n  'middle': center,\n  'stretch': stretch,\n);\n\n$-zf-flex-direction: (\n  'row': row,\n  'row-reverse': row-reverse,\n  'column': column,\n  'column-reverse': column-reverse,\n);\n\n/// Enables flexbox by adding `display: flex` to the element.\n@mixin flex {\n  display: flex;\n}\n\n/// Horizontally or vertically aligns the items within a flex container.\n///\n/// @param {Keyword} $x [null] - Horizontal alignment to use. Can be `left`, `right`, `center`, `justify`, or `spaced`. Or, set it to `null` (the default) to not set horizontal alignment.\n/// @param {Keyword} $y [null] - Vertical alignment to use. Can be `top`, `bottom`, `middle`, or `stretch`. Or, set it to `null` (the default) to not set vertical alignment.\n@mixin flex-align($x: null, $y: null) {\n  @if $x {\n    @if map-has-key($-zf-flex-justify, $x) {\n      $x: map-get($-zf-flex-justify, $x);\n    }\n    @else {\n      @warn 'flex-grid-row-align(): #{$x} is not a valid value for horizontal alignment. Use left, right, center, justify, or spaced.';\n    }\n  }\n\n  @if $y {\n    @if map-has-key($-zf-flex-align, $y) {\n      $y: map-get($-zf-flex-align, $y);\n    }\n    @else {\n      @warn 'flex-grid-row-align(): #{$y} is not a valid value for vertical alignment. Use top, bottom, middle, or stretch.';\n    }\n  }\n\n  justify-content: $x;\n  align-items: $y;\n}\n\n/// Vertically align a single column within a flex row. Apply this mixin to a flex column.\n///\n/// @param {Keyword} $y [null] - Vertical alignment to use. Can be `top`, `bottom`, `middle`, or `stretch`. Or, set it to `null` (the default) to not set vertical alignment.\n@mixin flex-align-self($y: null) {\n  @if $y {\n    @if map-has-key($-zf-flex-align, $y) {\n      $y: map-get($-zf-flex-align, $y);\n    }\n    @else {\n      @warn 'flex-grid-column-align(): #{$y} is not a valid value for alignment. Use top, bottom, middle, or stretch.';\n    }\n  }\n\n  align-self: $y;\n}\n\n/// Changes the source order of a flex child. Children with lower numbers appear first in the layout.\n/// @param {Number} $order [0] - Order number to apply.\n@mixin flex-order($order: 0) {\n  order: $order;\n}\n\n/// Change flex-direction\n/// @param {Keyword} $direction [row] - Flex direction to use. Can be\n///   - row (default): same as text direction\n///   - row-reverse: opposite to text direction\n///   - column: same as row but top to bottom\n///   - column-reverse: same as row-reverse top to bottom\n@mixin flex-direction($direction: row) {\n  flex-direction: $direction;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/util/_flex.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n/// Hide an element by default, only displaying it above a certain screen size.\n/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**\n@mixin show-for($size) {\n  $size: map-get($breakpoints, $size);\n  // Max value is 0.2px under the next breakpoint (0.02 / 16 = 0.00125).\n  // Use a precision under 1px to support browser zoom, but not to low to avoid rounding.\n  // See https://github.com/zurb/foundation-sites/issues/11313\n  $size: -zf-bp-to-em($size) - .00125;\n\n  @include breakpoint($size down) {\n    display: none !important;\n  }\n}\n\n/// Hide an element by default, only displaying it within a certain breakpoint.\n/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**\n@mixin show-for-only($size) {\n  $lower-bound-size: map-get($breakpoints, $size);\n  $upper-bound-size: -zf-map-next($breakpoints, $size);\n\n  // more often than not this will be correct, just one time round the loop it won't so set in scope here\n  $lower-bound: -zf-bp-to-em($lower-bound-size) - .00125;\n  // test actual lower-bound-size, if 0 set it to 0em\n  @if strip-unit($lower-bound-size) == 0 {\n    $lower-bound: -zf-bp-to-em($lower-bound-size);\n  }\n\n  @if $upper-bound-size == null {\n    @media screen and (max-width: $lower-bound) {\n      display: none !important;\n    }\n  }\n  @else {\n    $upper-bound: -zf-bp-to-em($upper-bound-size);\n\n    @media screen and (max-width: $lower-bound), screen and (min-width: $upper-bound) {\n      display: none !important;\n    }\n  }\n}\n\n\n/// Show an element by default, and hide it above a certain screen size.\n/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**\n@mixin hide-for($size) {\n  @include breakpoint($size) {\n    display: none !important;\n  }\n}\n\n/// Show an element by default, and hide it above a certain screen size.\n/// @param {Keyword} $size - Breakpoint to use. **Must be a breakpoint defined in `$breakpoints`.**\n@mixin hide-for-only($size) {\n  @include breakpoint($size only) {\n    display: none !important;\n  }\n}\n\n@mixin foundation-visibility-classes {\n  // Basic hiding classes\n  .hide {\n    display: none !important;\n  }\n\n  .invisible {\n    visibility: hidden;\n  }\n\n  // Responsive visibility classes\n  @each $size in $breakpoint-classes {\n    @if $size != $-zf-zero-breakpoint {\n      .hide-for-#{$size} {\n        @include hide-for($size);\n      }\n\n      .show-for-#{$size} {\n        @include show-for($size);\n      }\n    }\n\n    .hide-for-#{$size}-only {\n      @include hide-for-only($size);\n    }\n\n    .show-for-#{$size}-only {\n      @include show-for-only($size);\n    }\n  }\n\n  // Screen reader visibility classes\n  // Need a \"hide-for-sr\" class? Add aria-hidden='true' to the element\n  .show-for-sr,\n  .show-on-focus {\n    @include element-invisible;\n  }\n\n  // Only display the element when it's focused\n  .show-on-focus {\n    &:active,\n    &:focus {\n      @include element-invisible-off;\n    }\n  }\n\n  // Landscape and portrait visibility\n  .show-for-landscape,\n  .hide-for-portrait {\n    display: block !important;\n\n    @include breakpoint(landscape) {\n      display: block !important;\n    }\n\n    @include breakpoint(portrait) {\n      display: none !important;\n    }\n  }\n\n  .hide-for-landscape,\n  .show-for-portrait {\n    display: none !important;\n\n    @include breakpoint(landscape) {\n      display: none !important;\n    }\n\n    @include breakpoint(portrait) {\n      display: block !important;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/components/_visibility.scss","/**\n * Rc Base Foundation by RedCastor\n * Version 1.5.11\n *\n * Licensed under MIT Open Source\n */\n\n// --- Settings ---\n// import your own `settings` here or\n// import and modify the default settings through\n// @import 'settings/settings';\n\n/** Import Debug */\n@import \"debug/debug\";\n\n/** Import components */\n@import \"components/styles\";\n@import \"components/visibility\";\n@import \"components/classes\";\n@import \"components/icons\";\n@import \"components/buttons\";\n@import \"components/form\";\n@import \"components/ng-form\";\n@import \"components/comments\";\n@import \"components/dropdown-menu\";\n@import \"components/grid\";\n@import \"components/social\";\n@import \"components/badge\";\n@import \"components/table\";\n@import \"components/hr\";\n@import \"components/underline\";\n@import \"components/webicon\";\n@import \"components/fix\";\n@import \"components/vars\";\n\n/** Import wordpress components */\n@import \"components/wp/global\";\n@import \"components/wp/blocks/table\";\n@import \"components/wp/blocks/separator\";\n@import \"components/wp/blocks/button\";\n\n/** Import elementor components */\n@import \"components/elementor/buttons\";\n\n@mixin rc-base-elementor-everything {\n  @include rc-base-elementor-button;\n}\n\n@mixin rc-base-style($classes: true, $keys: null) {\n\n  @if $classes == true {\n    @include base-style-classes(true);\n  }\n\n  @if type-of($keys) == \"list\" {\n    @each $key in $keys {\n      @include style-classes($selector: $key, $select-class: true);\n    }\n  }\n}\n\n@mixin rc-base-style-font() {\n\n  @include base-style-font-class();\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/rc-base-zf.scss","//\n// Debug map\n// --------------------------------------------------\n\n/*\n# Print Map\n\nUsage:\n\n  // option 1\n  .debug {\n    @include print-map($map);\n  }\n\n  // option 2\n  @include print-map($map, \"body\");\n\n*/\n@function print-map ( $map, $str: \"\" ) {\n  @each $k, $v in $map {\n    @if type-of($v) == map {\n      $str: \"#{$str} \\000D\\000A #{$k}: ( #{print-map($v)} \\000D\\000A ), \";\n    }\n    @else {\n      $str: \"#{$str} \\000D\\000A \\0009 #{$k}: #{$v}, \";\n    }\n  } // each\n  @return $str;\n} // @function print-map\n\n@mixin print-map ( $map, $tag: \"&\" ) {\n  #{$tag} {\n    margin: 0.25em;\n    padding: 0.25em;\n    border: 1px solid #333;\n  } // tag\n  #{$tag}::before {\n    display: block;\n    font-family: monospace;\n    content: $tag;\n    color: #333;\n    background: #efefef;\n    font-weight: bold;\n  } // before\n  #{$tag}::after {\n    display: block;\n    font-family: monospace;\n    content: print-map($map);\n    white-space: pre;\n    color: #444;\n    background: #efefef;\n  } // after\n} // @mixin print-map\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/debug/_debug-map.scss","//\n// Title\n// --------------------------------------------------\n\n$base-styles: () !default;\n\n// Get Styles merged with header styles\n@function build_base-styles_with_header-styles($base-styles, $header-styles) {\n\n  @each $size, $headers in $header-styles {\n\n    $-base-styles: ();\n\n    @if map-has-key($base-styles, $size) {\n      $-base-styles: map-get($base-styles, $size);\n    }\n\n    @each $header, $header_style in $headers {\n      $base-style: map-get($-base-styles, $header);\n\n      @if type-of($base-style) == \"map\" {\n        $-style: null;\n        @if map-has-key($base-style, \"style\") {\n          $-style: map-get($base-style, \"style\");\n        }\n\n        @if type-of($-style) != \"map\" {\n          $-style: ();\n        }\n\n        $-style: map-merge($-style, $header_style);\n\n        $base-style: map-merge($base-style, (\"style\": $-style));\n      }\n      @else {\n        $base-style: (\"selectors\": (\"#{$header}\", \".#{$header}\"), \"style\": $header_style, \"proto\": false);\n      }\n\n      $-base-styles: map-merge($-base-styles, ($header: $base-style));\n    }\n\n    $base-styles: map-merge($base-styles, ($size: $-base-styles));\n  }\n  @return $base-styles;\n}\n\n$base-styles: build_base-styles_with_header-styles($base-styles, $header-styles);\n\n// Get base style by key and property\n@function get-style-prop($key: \"p\", $prop: \"font-size\", $default: false, $size: small) {\n\n  $-base-styles: -zf-get-bp-val($base-styles, $size);\n\n  @if map-has-key($-base-styles, $key) {\n    $-base-style: map_get($-base-styles, $key);\n\n    @if map-has-key($-base-style, \"style\") {\n      $-style: map_get($-base-style, \"style\");\n\n      @if map-has-key($-style, $prop) {\n        $-prop-val: map_get($-style, $prop);\n\n        @if $prop == \"font-size\" and type-of($-prop-val) == \"number\" {\n          @if unit($-prop-val) != \"px\" or unit($-prop-val) != \"%\" {\n            $-prop-val: rem-calc($-prop-val);\n          }\n        }\n\n        @return $-prop-val;\n      }\n    }\n  }\n\n  @return $default;\n}\n\n/** Get base style font weight */\n@function get-style-font-weight($type: \"regular\", $family: null) {\n\n  @if $family == null and map-has-key($base-font, family) {\n\n    $family: map-get($base-font, family);\n  }\n\n  @if $family {\n\n    @each $key, $-base-font in $base-font-stack {\n\n      @if type-of($-base-font) == \"map\" and map-has-key($-base-font, family) and map-has-key($-base-font, type) {\n\n        @if $type == map-get($-base-font, type) {\n\n          @return map-get($-base-font, font-weight);\n        }\n      }\n    }\n  }\n\n  @return null;\n}\n\n/** Mixin style property */\n@mixin style-prop($key: \"p\", $prop: \"font-size\", $default: false, $size: null, $auto-insert-breakpoints: true) {\n\n  @if map-has-key($breakpoints, $size) {\n    $-val: get-style-prop($key, $prop, $default, $size);\n\n    @if $-val {\n      @if $auto-insert-breakpoints {\n        @include breakpoint($size) {\n          #{$prop}: $-val;\n        }\n      }\n      @else {\n        #{$prop}: $-val;\n      }\n    }\n  }\n  @else {\n    @include -zf-each-breakpoint(true, $auto-insert-breakpoints) {\n\n      $-val: get-style-prop($key, $prop, $default, $-zf-size);\n\n      @if $-val {\n        #{$prop}: $-val;\n      }\n    }\n  }\n}\n\n/** Mixin style properties */\n@mixin style-props($key: \"p\", $size: null, $auto-insert-breakpoints: true) {\n\n  $sizes: ();\n\n  @if map-has-key($breakpoints, $size) {\n    $sizes: ($size);\n  }\n  @else {\n    $sizes: map-merge($sizes, $breakpoints);\n  }\n\n  @each $-size, $-size-val in $sizes {\n    @if map-has-key($base-styles, $-size) {\n      $-base-styles: map-get($base-styles, $-size);\n      $-base-style: map-get($-base-styles, $key);\n\n      @if type-of($-base-style) == \"map\" {\n        $-style-props: map-get($-base-style, \"style\");\n\n        @if type-of($-style-props) == \"map\" {\n          @each $-prop, $-prop-val in $-style-props {\n            @include style-prop($key, $-prop, false, $-size, $auto-insert-breakpoints);\n          }\n        }\n      }\n    }\n  }\n}\n\n/** Mixin style font weight */\n@mixin style-font-weight($type: \"regular\", $family: null, $important: false) {\n\n  $-weight: get-style-font-weight($type, $family);\n\n  @if $-weight {\n    @if $important == true {\n      font-weight: $-weight !important;\n    }\n    @else {\n      font-weight: $-weight;\n    }\n  }\n}\n\n@mixin style-classes($selector: \"h3\", $prefix-selector: \".text\", $style-keys: null, $select-class: false) {\n\n  @if type-of($style-keys) != \"list\" {\n    $style-keys: (\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\");\n  }\n\n  @include -zf-each-breakpoint() {\n    $-base-styles: -zf-get-bp-val($base-styles, $-zf-size);\n\n    @include breakpoint($-zf-size) {\n      @each $key, $-base-style in $-base-styles {\n\n        @if index($style-keys, $key)!= null {\n          $-style-props: map-get($-base-style, \"style\");\n\n          @if type-of($-style-props) == \"map\" {\n            $-master-selector: \"&#{$prefix-selector}-#{$key}\";\n\n            @if $select-class == true {\n              $-master-selector: #{$prefix-selector}-#{$key}--#{$selector};\n            }\n\n            #{$-master-selector} {\n              #{$selector} {\n                @each $-prop, $-prop-val in $-style-props {\n                  @include style-prop($key, $-prop, false, $-zf-size, false);\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\n/** Mixin style classes */\n@mixin base-style-classes($select-class: false) {\n\n  @include -zf-each-breakpoint() {\n    $-base-styles: -zf-get-bp-val($base-styles, $-zf-size);\n\n    @include breakpoint($-zf-size) {\n      @each $key, $-base-style in $-base-styles {\n\n        @if map-has-key($-base-style, \"proto\") {\n          $-proto: map-get($-base-style, \"proto\");\n\n          $-selectors: null;\n\n          @if map-has-key($-base-style, \"selectors\") {\n            $-selectors: map-get($-base-style, \"selectors\");\n          }\n\n          @if type-of($-selectors) != \"map\" and type-of($-selectors) != \"string\" {\n            $-selectors: (\"#{$key}\", \".#{$key}\");\n          }\n\n          @if $-proto == true and $select-class == true {\n            #{$-selectors} {\n              &.text-body {\n                font-family: $body-font-family !important;\n              }\n\n              &.text-header {\n                font-family: $header-font-family !important;\n              }\n\n              &.text-title {\n                font-family: $title-font-family !important;\n              }\n\n              @each $prop_val in (uppercase, inherit, none, capitalize, lowercase) {\n                &.text-#{$prop_val} {\n                  text-transform: #{$prop_val} !important;\n                }\n              }\n            }\n          }\n\n          @if $-proto == true {\n\n            $-body-selector: \"&.text-body\";\n\n            @if $select-class == true {\n              $-body-selector: \".text-body--#{$key}\";\n            }\n\n            #{$-body-selector} {\n              #{$-selectors} {\n                @if $select-class == true {\n                  font-family: $body-font-family !important;\n                }\n                @else {\n                  font-family: $body-font-family;\n                }\n              }\n            }\n\n            $-title-selector: \"&.text-title\";\n\n            @if $select-class == true {\n              $-title-selector: \".text-title--#{$key}\";\n            }\n\n            #{$-title-selector} {\n              #{$-selectors} {\n                @if $select-class == true {\n                  font-family: $title-font-family !important;\n                }\n                @else {\n                  font-family: $title-font-family;\n                }\n              }\n            }\n\n            $-underline-selector: \"&.text-underline\";\n            $-underline-center-selector: \"&.text-underline-center\";\n\n            @if $select-class == true {\n              $-underline-selector: \".text-underline--#{$key}\";\n              $-underline-center-selector: \"&.text-underline-center--#{$key}\";\n            }\n\n            #{$-underline-selector} {\n              #{$-selectors} {\n                @include style-underline;\n              }\n\n              #{$-underline-center-selector} {\n                #{$-selectors} {\n                  @include style-underline-center;\n                }\n              }\n\n              @each $-color-name, $-color in $foundation-palette {\n                $-color-selector: \"&.text-underline-#{$-color-name}\";\n\n                @if $select-class == true {\n                  $-color-selector: \"&.text-underline-#{$-color-name}--#{$key}\";\n                }\n\n                #{$-color-selector} {\n                  #{$-selectors} {\n                    @include style-underline-color($-color);\n                  }\n                }\n              }\n\n              @each $-size-name, $-size-value in map-remove($underline-sizes, default) {\n                $-size-selector: \"&.text-underline-#{$-size-name}\";\n\n                @if $select-class == true {\n                  $-size-selector: \"&.text-underline-#{$-size-name}--#{$key}\";\n                }\n\n                #{$-size-selector} {\n                  #{$-selectors} {\n                    @include style-underline-size($-size-value);\n                  }\n                }\n              }\n            }\n\n            $-fit-center-selector: \"&.text-fit-center\";\n\n            @if $select-class == true {\n              $-fit-center-selector: \".text-fit-center--#{$key}\";\n            }\n\n            #{$-fit-center-selector} {\n              #{$-selectors} {\n                @include style-fit-center;\n              }\n            }\n\n            $-hr-selector: \"&.text-hr\";\n\n            @if $select-class == true {\n              $-hr-selector: \".text-hr--#{$key}\";\n            }\n\n            #{$-hr-selector} {\n              #{$-selectors} {\n                @include style-hr;\n              }\n            }\n\n            $-hr-margin-selector: \"&.text-hr-margin\";\n\n            @if $select-class == true {\n              $-hr-margin-selector: \".text-hr-margin--#{$key}\";\n            }\n\n            #{$-hr-margin-selector} {\n              #{$-selectors} {\n                @include style-hr-margin;\n              }\n\n              @for $i from 2 through 4 {\n                &.text-hr-margin-#{$i}x--#{$key} {\n                  #{$-selectors} {\n                    @include style-hr-margin($i);\n                  }\n                }\n              }\n            }\n\n            $-hr-padding-selector: \"&.text-hr-padding\";\n\n            @if $select-class == true {\n              $-hr-padding-selector: \".text-hr-padding--#{$key}\";\n            }\n\n            #{$-hr-padding-selector} {\n              #{$-selectors} {\n                @include style-hr-padding;\n              }\n\n              @for $i from 2 through 4 {\n                &.text-hr-padding-#{$i}x--#{$key} {\n                  #{$-selectors} {\n                    @include style-hr-padding($i);\n                  }\n                }\n              }\n            }\n\n            @each $prop_val in (uppercase, inherit, none, capitalize, lowercase) {\n              $-master-selector: \"&.text-#{$prop_val}\";\n\n              @if $select-class == true {\n                $-master-selector: \".text-#{$prop_val}--#{$key}\";\n              }\n\n              #{$-master-selector} {\n                #{$-selectors} {\n                  @if $select-class == true {\n                    text-transform: #{$prop_val} !important;\n                  }\n                  @else {\n                    text-transform: #{$prop_val};\n                  }\n                }\n              }\n            }\n\n            $-fonts: ();\n\n            @if map-has-key($base-font, type) and map-has-key($base-font, family) {\n              $-fonts: map-merge($-fonts, (\"body\": $base-font));\n            }\n\n            @if map-has-key($base-font-title, type) and map-has-key($base-font-title, family) {\n              $-fonts: map-merge($-fonts, (\"title\": $base-font-title));\n            }\n\n            @each $key-base-font, $-base-font in $base-font-stack {\n\n              @if map-has-key($-base-font, type) and map-has-key($-base-font, family) {\n                $-family: map-get($-base-font, family);\n                $-type: map-get($-base-font, type);\n\n                @each $-key-font, $-font in $-fonts {\n                  @if $-family == map-get($-font, family) {\n                    $-for: map-get($-font, for);\n\n                    $-master-selector: \"&.text-#{$-key-font}-#{$-type}\";\n\n                    @if $select-class == true {\n                      $-master-selector: \".text-#{$-key-font}-#{$-type}--#{$key}\";\n                    }\n\n                    #{$-master-selector} {\n                      #{$-selectors} {\n                        @if $select-class == true {\n                          font-family: map-get($-font, font-family) !important;\n                          @include style-font-weight($-type, $-family, true);\n                        }\n                        @else {\n                          font-family: map-get($-font, font-family);\n                          @include style-font-weight($-type, $-family);\n                        }\n                      }\n                    }\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}\n\n@mixin base-style-font-class() {\n  @each $key-base-font, $-base-font in $base-font-stack {\n\n    @if map-has-key($-base-font, type) and map-has-key($-base-font, family) {\n      $-family: map-get($-base-font, family);\n      $-type: map-get($-base-font, type);\n\n      $-fonts: ();\n\n      @if map-has-key($base-font, type) and map-has-key($base-font, family) {\n        $-fonts: map-merge($-fonts, (\"body\": $base-font));\n      }\n\n      @if map-has-key($base-font-title, type) and map-has-key($base-font-title, family) {\n        $-fonts: map-merge($-fonts, (\"title\": $base-font-title));\n      }\n\n      @each $-key-font, $-font in $-fonts {\n        @if $-family == map-get($-font, family) {\n          $-for: map-get($-font, for);\n\n          .text-#{$-key-font}-#{$-type} {\n            font-family: map-get($-font, font-family);\n            @include style-font-weight($-type, $-family, false);\n          }\n        }\n      }\n    }\n  }\n\n  @if (map-has-key($base-font, family)) {\n    $-base-font-familly: map-get($base-font, family);\n\n    @each $key-base-font, $-base-font in $base-font-stack {\n\n      @if map-has-key($-base-font, type) and map-has-key($-base-font, family) {\n        $-family: map-get($-base-font, family);\n        $-type: map-get($-base-font, type);\n\n        @if ($-family == $-base-font-familly) {\n          .text-weight-#{$-type} {\n            @include style-font-weight($-type, $-family, true);\n          }\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_styles.scss","//\n// Visibility\n// --------------------------------------------------\n\n/* Responsive no javascript */\n.no-js {\n  @each $size in $breakpoint-classes {\n    .nojs-for-#{$size} {\n      @include hide-for($size);\n    }\n\n    .nojs-for-#{$size}-only {\n      @include hide-for-only($size);\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_visibility.scss","//\n// Classes\n// --------------------------------------------------\n\n//-- Clearfix\n.cf {\n  @include clearfix;\n}\n\n//-- Absolute Center\n.absolute-center {\n  @include absolute-center;\n}\n\n//-- Absolute Bottom\n.absolute-bottom {\n  position: absolute;\n  bottom: 0;\n}\n\n//-- Absolute Top\n.absolute-top {\n  position: absolute;\n  top: 0;\n}\n\n//-- Absolute Bottom\n.absolute-left {\n  position: absolute;\n  left: 0;\n}\n\n//-- Absolute Top\n.absolute-right {\n  position: absolute;\n  right: 0;\n}\n\n//-- Relative Container\n.relative-container {\n  position: relative;\n}\n\n//-- Horizontal Center\n.horizontal-center {\n  @include horizontal-center;\n}\n\n@include breakpoint(small only) {\n  &.vertical-center-small-only {\n    @include vertical-center;\n  }\n\n  &.horizontal-center-small-only {\n    @include horizontal-center;\n  }\n}\n\n//-- Vertical Center\n.vertical-center {\n  @include vertical-center;\n}\n\n@include breakpoint(medium) {\n  &.vertical-center-medium {\n    @include vertical-center;\n  }\n\n  &.horizontal-center-medium {\n    @include horizontal-center;\n  }\n}\n\n@include breakpoint(large) {\n  &.vertical-center-large {\n    @include vertical-center;\n  }\n\n  &.horizontal-center-large {\n    @include horizontal-center;\n  }\n}\n\n//-- Fixed\n.fixed-top {\n  @include position(fixed, 0, null, null, null);\n  z-index: $prototype-position-z-index;\n}\n\n.fixed-bottom {\n  @include position(fixed, null, null, 0, null);\n  z-index: $prototype-position-z-index;\n}\n\n@include breakpoint(medium) {\n  .fixed-top-medium {\n    @include position(fixed, 0, null, null, null);\n    z-index: $prototype-position-z-index;\n  }\n\n  .fixed-bottom-medium {\n    @include position(fixed, null, null, 0, null);\n    z-index: $prototype-position-z-index;\n  }\n}\n\n//-- Min height 50, 65, 75, 85, 100 viewport.\n@include -zf-each-breakpoint {\n\n  @each $-height in (25, 50, 65, 75, 85, 100) {\n    .#{$-zf-size}-min-height-#{$-height} {\n      min-height: #{$-height}vh;\n    }\n  }\n}\n\n//Fit Align\n.fit-center {\n  @include style-fit-center;\n}\n\n//No Margin bottom\n.no-margin {\n  margin-bottom: 0 !important;\n}\n\n//No Padding Bottom\n.no-padding {\n  padding-bottom: 0 !important;\n}\n\n//List\nul,\nol {\n  &.list-circle {\n    list-style-type: circle;\n  }\n\n  &.list-disc {\n    list-style-type: disc;\n  }\n\n  &.list-square {\n    list-style-type: square;\n  }\n\n  &.list-decimal {\n    list-style-type: decimal;\n  }\n\n  &.list-roman {\n    list-style-type: upper-roman;\n  }\n\n  &.list-alpha {\n    list-style-type: upper-alpha;\n  }\n\n  //Position\n  &.list-inside {\n    list-style-position: inside;\n  }\n\n  &.list-outside {\n    list-style-position: outside;\n  }\n\n  //Default\n  &.list-default {\n    list-style: initial;\n  }\n\n  //None\n  &.list-none {\n    list-style: none;\n  }\n}\n\n.text-align-middle {\n  vertical-align: middle;\n}\n\n.text-align-bottom {\n  vertical-align: bottom;\n}\n\n.text-align-top {\n  vertical-align: top;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_classes.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group prototype-position\n////\n\n/// Responsive breakpoints for position helpers\n/// @type Boolean\n$prototype-position-breakpoints: $global-prototype-breakpoints !default;\n\n/// Map containing all the `position` classes\n/// @type Map\n$prototype-position: (\n  static,\n  relative,\n  absolute,\n  fixed\n) !default;\n\n/// z-index for fixed positioning\n/// @type Number\n$prototype-position-z-index: 975 !default;\n\n/// Position classes, by default coming through a map `$prototype-position`, whereas all the offset values are multiplied by `$global-position` which by default is equal to `1rem`.\n/// @param {String} $position [] Position classes, Either `static`, `relative`, `absolute` or `fixed`\n/// @param {Number} $top [null] - Top offset\n/// @param {Number} $right [null] - Right offset\n/// @param {Number} $bottom [null] - Bottom offset\n/// @param {Number} $left [null] - Left offset\n@mixin position(\n  $position,\n  $top: null,\n  $right: null,\n  $bottom: null,\n  $left: null\n) {\n  position: $position !important;\n  @if $top != null {\n    top: $top * $global-position !important;\n  }\n  @if $right != null {\n    right: $right * $global-position !important;\n  }\n  @if $bottom != null {\n    bottom: $bottom * $global-position !important;\n  }\n  @if $left != null {\n    left: $left * $global-position !important;\n  }\n}\n\n/// Position Fixed on top corners\n/// @param {Number} $z-index [$prototype-position-z-index] z-index for `position-fixed-top`\n@mixin position-fixed-top(\n  $z-index: $prototype-position-z-index\n) {\n  @include position(fixed, 0, 0, null, 0);\n  z-index: $z-index;\n}\n\n/// Position Fixed on bottom corners\n/// @param {Number} $z-index [$prototype-position-z-index] z-index for `position-fixed-bottom`\n@mixin position-fixed-bottom(\n  $z-index: $prototype-position-z-index\n) {\n  @include position(fixed, null, 0, 0, 0);\n  z-index: $z-index;\n}\n\n@mixin foundation-prototype-position {\n  // Position: Static, Relative, Fixed, Absolute\n  @each $position in $prototype-position {\n    .position-#{$position} {\n      @include position($position);\n    }\n  }\n\n  // Position: Fixed Top, Fixed Bottom\n  .position-fixed-top {\n    @include position-fixed-top;\n  }\n  .position-fixed-bottom {\n    @include position-fixed-bottom;\n  }\n\n  @if ($prototype-position-breakpoints) {\n    // Loop through Responsive Breakpoints\n    @each $size in $breakpoint-classes {\n      @include breakpoint($size) {\n        // Position: Static, Relative, Fixed, Absolute\n        @each $position in $prototype-position {\n          @if $size != $-zf-zero-breakpoint {\n            .#{$size}-position-#{$position} {\n              @include position($position);\n            }\n          }\n        }\n\n        // Position: Fixed Top, Fixed Bottom\n        @if $size != $-zf-zero-breakpoint {\n          .#{$size}-position-fixed-top {\n            @include position-fixed-top;\n          }\n\n          .#{$size}-position-fixed-bottom {\n            @include position-fixed-bottom;\n          }\n        }\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/prototype/_position.scss","//\n// Fit style mixin\n// --------------------------------------------------\n@mixin style-fit-center() {\n  width: fit-content !important;\n  margin-left: auto !important;\n  margin-right: auto !important;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/util/mixins/_fit.scss","@font-face {\n\n  font-family: \"#{$fi-font-family}\";\n  src:\n    url(\"#{$fi-font-path}/#{$fi-font-family}.woff\") format(\"woff\"),\n    url(\"#{$fi-font-path}/#{$fi-font-family}.ttf\") format(\"truetype\"),\n    url(\"#{$fi-font-path}/#{$fi-font-family}.svg##{$fi-font-family}\") format(\"svg\");\n  font-weight: normal;\n  font-style: normal;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/icons/_path.scss","$icon-palette: $foundation-palette !default;\n\n[class^=\"#{$fi-font-prefix}-\"],\n[class*=\" #{$fi-font-prefix}-\"] {\n\n  display: inline-block;\n  font-family: $fi-font-family;\n  speak: none;\n  font-style: normal;\n  font-weight: normal;\n  font-variant: normal;\n  text-transform: none;\n  line-height: 1;\n\n  /* Better Font Rendering =========== */\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n\n  /* Support webicon size =========== */\n  width: $fi-font-size-base;\n  height: auto;\n  vertical-align: inherit;\n\n  // Colors\n  @each $name, $color in $icon-palette {\n    &.#{$name} {\n      color: $color;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/icons/_core.scss","\n/* HELPER CLASS\n * -------------------------- */\n\n/* FI based classes */\n\n/*! Modified from font-awesome helper CSS classes - PIXEDEN\n * ! Modified from PIXEDEN helper CSS classes - RC-BASE-ICON\n *  Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome\n *  License - http://fontawesome.io/license (CSS: MIT License)\n */\n\n/* makes the font 33% larger relative to the icon container */\n.fi-lg {\n\n  font-size: $fi-font-size-base * 1.33;\n  line-height: 0.75em;\n  vertical-align: -15%;\n}\n\n.fi-2x {\n\n  font-size: 2 * $fi-font-size-base;\n}\n\n.fi-3x {\n\n  font-size: 3 * $fi-font-size-base;\n}\n\n.fi-4x {\n\n  font-size: 4 * $fi-font-size-base;\n}\n\n.fi-5x {\n\n  font-size: 5 * $fi-font-size-base;\n}\n\n.fi-fw {\n\n  width: 1.2857142857142858em;\n  text-align: center;\n}\n\n.fi-ul {\n\n  padding-left: 0;\n  margin-left: 2.142857142857143em;\n  list-style-type: none;\n\n  & > li {\n\n    position: relative;\n  }\n}\n\n.fi-li {\n\n  position: absolute;\n  left: -2.142857142857143em;\n  width: 2.142857142857143em;\n  top: 0.14285714285714285em;\n  text-align: center;\n\n  &.fi-lg {\n\n    left: -1.8571428571428572em;\n  }\n}\n\n.fi-border {\n\n  padding: 0.2em 0.25em 0.15em;\n  border: solid 0.08em #eaeaea;\n  border-radius: 0.1em;\n}\n\n.pull-right {\n\n  float: right;\n}\n\n.fi {\n  &.pull-left {\n\n    float: left;\n    margin-right: 0.3em;\n    margin-left: 0.3em;\n  }\n\n  &.webicon {\n    width: 1em;\n  }\n}\n\n.fi-spin {\n\n  animation: spin 2s infinite linear;\n}\n\n.fi-strong {\n  font-weight: bold;\n}\n\n@keyframes spin {\n  0% {\n\n    transform: rotate(0deg);\n  }\n\n  100% {\n\n    transform: rotate(359deg);\n  }\n}\n\n.fi-rotate-90 {\n  /* stylelint-disable-next-line */\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);\n  transform: rotate(90deg);\n}\n\n.fi-rotate-180 {\n  /* stylelint-disable-next-line */\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);\n  transform: rotate(180deg);\n}\n\n.fi-rotate-270 {\n  /* stylelint-disable-next-line */\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);\n  transform: rotate(270deg);\n}\n\n.fi-flip-horizontal {\n  /* stylelint-disable-next-line */\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);\n  transform: scale(-1, 1);\n}\n\n.fi-flip-vertical {\n  /* stylelint-disable-next-line */\n  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);\n  transform: scale(1, -1);\n}\n\n.fi-stack {\n\n  position: relative;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  line-height: 2em;\n  vertical-align: middle;\n}\n\n.fi-stack-1x,\n.fi-stack-2x {\n\n  position: absolute;\n  left: 0;\n  width: 100%;\n  text-align: center;\n}\n\n.fi-stack-1x {\n\n  line-height: inherit;\n}\n\n.fi-stack-2x {\n\n  font-size: 2em;\n}\n\n.fi-inverse {\n\n  color: #fff;\n}\n\n/* Custom classes / mods - PIXEDEN */\n.fi-va {\n\n  vertical-align: middle;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/icons/_helper.scss","/* stylelint-disable */\n.fi-add-user {\n  &:before {\n    content: $fi-var-add-user;\n  }\n}\n.fi-airplay {\n  &:before {\n    content: $fi-var-airplay;\n  }\n}\n.fi-alarm {\n  &:before {\n    content: $fi-var-alarm;\n  }\n}\n.fi-album {\n  &:before {\n    content: $fi-var-album;\n  }\n}\n.fi-albums {\n  &:before {\n    content: $fi-var-albums;\n  }\n}\n.fi-amazon {\n  &:before {\n    content: $fi-var-amazon;\n  }\n}\n.fi-anchor {\n  &:before {\n    content: $fi-var-anchor;\n  }\n}\n.fi-angle-down {\n  &:before {\n    content: $fi-var-angle-down;\n  }\n}\n.fi-angle-down-circle {\n  &:before {\n    content: $fi-var-angle-down-circle;\n  }\n}\n.fi-angle-left {\n  &:before {\n    content: $fi-var-angle-left;\n  }\n}\n.fi-angle-left-circle {\n  &:before {\n    content: $fi-var-angle-left-circle;\n  }\n}\n.fi-angle-right {\n  &:before {\n    content: $fi-var-angle-right;\n  }\n}\n.fi-angle-right-circle {\n  &:before {\n    content: $fi-var-angle-right-circle;\n  }\n}\n.fi-angle-up {\n  &:before {\n    content: $fi-var-angle-up;\n  }\n}\n.fi-angle-up-circle {\n  &:before {\n    content: $fi-var-angle-up-circle;\n  }\n}\n.fi-arc {\n  &:before {\n    content: $fi-var-arc;\n  }\n}\n.fi-attention {\n  &:before {\n    content: $fi-var-attention;\n  }\n}\n.fi-back {\n  &:before {\n    content: $fi-var-back;\n  }\n}\n.fi-back-2 {\n  &:before {\n    content: $fi-var-back-2;\n  }\n}\n.fi-ball {\n  &:before {\n    content: $fi-var-ball;\n  }\n}\n.fi-ban {\n  &:before {\n    content: $fi-var-ban;\n  }\n}\n.fi-bandaid {\n  &:before {\n    content: $fi-var-bandaid;\n  }\n}\n.fi-battery {\n  &:before {\n    content: $fi-var-battery;\n  }\n}\n.fi-bell {\n  &:before {\n    content: $fi-var-bell;\n  }\n}\n.fi-bicycle {\n  &:before {\n    content: $fi-var-bicycle;\n  }\n}\n.fi-bluetooth {\n  &:before {\n    content: $fi-var-bluetooth;\n  }\n}\n.fi-bookmarks {\n  &:before {\n    content: $fi-var-bookmarks;\n  }\n}\n.fi-bottom-arrow {\n  &:before {\n    content: $fi-var-bottom-arrow;\n  }\n}\n.fi-box1 {\n  &:before {\n    content: $fi-var-box1;\n  }\n}\n.fi-box2 {\n  &:before {\n    content: $fi-var-box2;\n  }\n}\n.fi-browser {\n  &:before {\n    content: $fi-var-browser;\n  }\n}\n.fi-calculator {\n  &:before {\n    content: $fi-var-calculator;\n  }\n}\n.fi-call {\n  &:before {\n    content: $fi-var-call;\n  }\n}\n.fi-camera {\n  &:before {\n    content: $fi-var-camera;\n  }\n}\n.fi-car {\n  &:before {\n    content: $fi-var-car;\n  }\n}\n.fi-cart {\n  &:before {\n    content: $fi-var-cart;\n  }\n}\n.fi-cart-add {\n  &:before {\n    content: $fi-var-cart-add;\n  }\n}\n.fi-cart-empty {\n  &:before {\n    content: $fi-var-cart-empty;\n  }\n}\n.fi-cart-fast {\n  &:before {\n    content: $fi-var-cart-fast;\n  }\n}\n.fi-cart-hand {\n  &:before {\n    content: $fi-var-cart-hand;\n  }\n}\n.fi-cart-move {\n  &:before {\n    content: $fi-var-cart-move;\n  }\n}\n.fi-cart-new {\n  &:before {\n    content: $fi-var-cart-new;\n  }\n}\n.fi-cash {\n  &:before {\n    content: $fi-var-cash;\n  }\n}\n.fi-chat {\n  &:before {\n    content: $fi-var-chat;\n  }\n}\n.fi-check {\n  &:before {\n    content: $fi-var-check;\n  }\n}\n.fi-check-2 {\n  &:before {\n    content: $fi-var-check-2;\n  }\n}\n.fi-checkout {\n  &:before {\n    content: $fi-var-checkout;\n  }\n}\n.fi-check-strong {\n  &:before {\n    content: $fi-var-check-strong;\n  }\n}\n.fi-clock {\n  &:before {\n    content: $fi-var-clock;\n  }\n}\n.fi-close {\n  &:before {\n    content: $fi-var-close;\n  }\n}\n.fi-close-circle {\n  &:before {\n    content: $fi-var-close-circle;\n  }\n}\n.fi-cloud {\n  &:before {\n    content: $fi-var-cloud;\n  }\n}\n.fi-cloud-download {\n  &:before {\n    content: $fi-var-cloud-download;\n  }\n}\n.fi-cloud-upload {\n  &:before {\n    content: $fi-var-cloud-upload;\n  }\n}\n.fi-coffee {\n  &:before {\n    content: $fi-var-coffee;\n  }\n}\n.fi-comment {\n  &:before {\n    content: $fi-var-comment;\n  }\n}\n.fi-compass {\n  &:before {\n    content: $fi-var-compass;\n  }\n}\n.fi-config {\n  &:before {\n    content: $fi-var-config;\n  }\n}\n.fi-copy-file {\n  &:before {\n    content: $fi-var-copy-file;\n  }\n}\n.fi-credit {\n  &:before {\n    content: $fi-var-credit;\n  }\n}\n.fi-crop {\n  &:before {\n    content: $fi-var-crop;\n  }\n}\n.fi-culture {\n  &:before {\n    content: $fi-var-culture;\n  }\n}\n.fi-cup {\n  &:before {\n    content: $fi-var-cup;\n  }\n}\n.fi-custom-product {\n  &:before {\n    content: $fi-var-custom-product;\n  }\n}\n.fi-date {\n  &:before {\n    content: $fi-var-date;\n  }\n}\n.fi-delete-user {\n  &:before {\n    content: $fi-var-delete-user;\n  }\n}\n.fi-diamond {\n  &:before {\n    content: $fi-var-diamond;\n  }\n}\n.fi-disk {\n  &:before {\n    content: $fi-var-disk;\n  }\n}\n.fi-diskette {\n  &:before {\n    content: $fi-var-diskette;\n  }\n}\n.fi-display1 {\n  &:before {\n    content: $fi-var-display1;\n  }\n}\n.fi-display2 {\n  &:before {\n    content: $fi-var-display2;\n  }\n}\n.fi-door-lock {\n  &:before {\n    content: $fi-var-door-lock;\n  }\n}\n.fi-down-arrow-2 {\n  &:before {\n    content: $fi-var-down-arrow-2;\n  }\n}\n.fi-down-arrow-3 {\n  &:before {\n    content: $fi-var-down-arrow-3;\n  }\n}\n.fi-download {\n  &:before {\n    content: $fi-var-download;\n  }\n}\n.fi-drawer {\n  &:before {\n    content: $fi-var-drawer;\n  }\n}\n.fi-drop {\n  &:before {\n    content: $fi-var-drop;\n  }\n}\n.fi-edit {\n  &:before {\n    content: $fi-var-edit;\n  }\n}\n.fi-email {\n  &:before {\n    content: $fi-var-email;\n  }\n}\n.fi-envelope {\n  &:before {\n    content: $fi-var-envelope;\n  }\n}\n.fi-etsy {\n  &:before {\n    content: $fi-var-etsy;\n  }\n}\n.fi-exapnd2 {\n  &:before {\n    content: $fi-var-exapnd2;\n  }\n}\n.fi-expand1 {\n  &:before {\n    content: $fi-var-expand1;\n  }\n}\n.fi-eyedropper {\n  &:before {\n    content: $fi-var-eyedropper;\n  }\n}\n.fi-facebook {\n  &:before {\n    content: $fi-var-facebook;\n  }\n}\n.fi-facebook-2 {\n  &:before {\n    content: $fi-var-facebook-2;\n  }\n}\n.fi-favorites {\n  &:before {\n    content: $fi-var-favorites;\n  }\n}\n.fi-favorites-added {\n  &:before {\n    content: $fi-var-favorites-added;\n  }\n}\n.fi-favorites-list {\n  &:before {\n    content: $fi-var-favorites-list;\n  }\n}\n.fi-female {\n  &:before {\n    content: $fi-var-female;\n  }\n}\n.fi-file {\n  &:before {\n    content: $fi-var-file;\n  }\n}\n.fi-film {\n  &:before {\n    content: $fi-var-film;\n  }\n}\n.fi-filter {\n  &:before {\n    content: $fi-var-filter;\n  }\n}\n.fi-flag {\n  &:before {\n    content: $fi-var-flag;\n  }\n}\n.fi-folder {\n  &:before {\n    content: $fi-var-folder;\n  }\n}\n.fi-gift {\n  &:before {\n    content: $fi-var-gift;\n  }\n}\n.fi-glasses {\n  &:before {\n    content: $fi-var-glasses;\n  }\n}\n.fi-gleam {\n  &:before {\n    content: $fi-var-gleam;\n  }\n}\n.fi-global {\n  &:before {\n    content: $fi-var-global;\n  }\n}\n.fi-graph {\n  &:before {\n    content: $fi-var-graph;\n  }\n}\n.fi-graph1 {\n  &:before {\n    content: $fi-var-graph1;\n  }\n}\n.fi-graph2 {\n  &:before {\n    content: $fi-var-graph2;\n  }\n}\n.fi-graph3 {\n  &:before {\n    content: $fi-var-graph3;\n  }\n}\n.fi-gym {\n  &:before {\n    content: $fi-var-gym;\n  }\n}\n.fi-hammer {\n  &:before {\n    content: $fi-var-hammer;\n  }\n}\n.fi-headphones {\n  &:before {\n    content: $fi-var-headphones;\n  }\n}\n.fi-helm {\n  &:before {\n    content: $fi-var-helm;\n  }\n}\n.fi-help1 {\n  &:before {\n    content: $fi-var-help1;\n  }\n}\n.fi-help2 {\n  &:before {\n    content: $fi-var-help2;\n  }\n}\n.fi-home {\n  &:before {\n    content: $fi-var-home;\n  }\n}\n.fi-home-new {\n  &:before {\n    content: $fi-var-home-new;\n  }\n}\n.fi-hourglass {\n  &:before {\n    content: $fi-var-hourglass;\n  }\n}\n.fi-id {\n  &:before {\n    content: $fi-var-id;\n  }\n}\n.fi-idea {\n  &:before {\n    content: $fi-var-idea;\n  }\n}\n.fi-idea-diy {\n  &:before {\n    content: $fi-var-idea-diy;\n  }\n}\n.fi-info {\n  &:before {\n    content: $fi-var-info;\n  }\n}\n.fi-instagram {\n  &:before {\n    content: $fi-var-instagram;\n  }\n}\n.fi-joy {\n  &:before {\n    content: $fi-var-joy;\n  }\n}\n.fi-junk {\n  &:before {\n    content: $fi-var-junk;\n  }\n}\n.fi-key {\n  &:before {\n    content: $fi-var-key;\n  }\n}\n.fi-keypad {\n  &:before {\n    content: $fi-var-keypad;\n  }\n}\n.fi-leaf {\n  &:before {\n    content: $fi-var-leaf;\n  }\n}\n.fi-left-arrow {\n  &:before {\n    content: $fi-var-left-arrow;\n  }\n}\n.fi-left-arrow-2 {\n  &:before {\n    content: $fi-var-left-arrow-2;\n  }\n}\n.fi-left-arrow-3 {\n  &:before {\n    content: $fi-var-left-arrow-3;\n  }\n}\n.fi-less {\n  &:before {\n    content: $fi-var-less;\n  }\n}\n.fi-less-2 {\n  &:before {\n    content: $fi-var-less-2;\n  }\n}\n.fi-light {\n  &:before {\n    content: $fi-var-light;\n  }\n}\n.fi-like {\n  &:before {\n    content: $fi-var-like;\n  }\n}\n.fi-like2 {\n  &:before {\n    content: $fi-var-like2;\n  }\n}\n.fi-like-solid {\n  &:before {\n    content: $fi-var-like-solid;\n  }\n}\n.fi-link {\n  &:before {\n    content: $fi-var-link;\n  }\n}\n.fi-linkedin {\n  &:before {\n    content: $fi-var-linkedin;\n  }\n}\n.fi-linkedin-2 {\n  &:before {\n    content: $fi-var-linkedin-2;\n  }\n}\n.fi-lintern {\n  &:before {\n    content: $fi-var-lintern;\n  }\n}\n.fi-loading {\n  &:before {\n    content: $fi-var-loading;\n  }\n}\n.fi-loading2 {\n  &:before {\n    content: $fi-var-loading2;\n  }\n}\n.fi-loading3 {\n  &:before {\n    content: $fi-var-loading3;\n  }\n}\n.fi-loading4 {\n  &:before {\n    content: $fi-var-loading4;\n  }\n}\n.fi-lock {\n  &:before {\n    content: $fi-var-lock;\n  }\n}\n.fi-log-out {\n  &:before {\n    content: $fi-var-log-out;\n  }\n}\n.fi-look {\n  &:before {\n    content: $fi-var-look;\n  }\n}\n.fi-loop {\n  &:before {\n    content: $fi-var-loop;\n  }\n}\n.fi-magic-wand {\n  &:before {\n    content: $fi-var-magic-wand;\n  }\n}\n.fi-magnet {\n  &:before {\n    content: $fi-var-magnet;\n  }\n}\n.fi-mail {\n  &:before {\n    content: $fi-var-mail;\n  }\n}\n.fi-mail-open {\n  &:before {\n    content: $fi-var-mail-open;\n  }\n}\n.fi-mail-open-file {\n  &:before {\n    content: $fi-var-mail-open-file;\n  }\n}\n.fi-male {\n  &:before {\n    content: $fi-var-male;\n  }\n}\n.fi-map {\n  &:before {\n    content: $fi-var-map;\n  }\n}\n.fi-map-2 {\n  &:before {\n    content: $fi-var-map-2;\n  }\n}\n.fi-map-marker {\n  &:before {\n    content: $fi-var-map-marker;\n  }\n}\n.fi-map-marker-2 {\n  &:before {\n    content: $fi-var-map-marker-2;\n  }\n}\n.fi-medal {\n  &:before {\n    content: $fi-var-medal;\n  }\n}\n.fi-menu {\n  &:before {\n    content: $fi-var-menu;\n  }\n}\n.fi-micro {\n  &:before {\n    content: $fi-var-micro;\n  }\n}\n.fi-monitor {\n  &:before {\n    content: $fi-var-monitor;\n  }\n}\n.fi-moon {\n  &:before {\n    content: $fi-var-moon;\n  }\n}\n.fi-more {\n  &:before {\n    content: $fi-var-more;\n  }\n}\n.fi-mouse {\n  &:before {\n    content: $fi-var-mouse;\n  }\n}\n.fi-music {\n  &:before {\n    content: $fi-var-music;\n  }\n}\n.fi-musiclist {\n  &:before {\n    content: $fi-var-musiclist;\n  }\n}\n.fi-mute {\n  &:before {\n    content: $fi-var-mute;\n  }\n}\n.fi-network {\n  &:before {\n    content: $fi-var-network;\n  }\n}\n.fi-news-paper {\n  &:before {\n    content: $fi-var-news-paper;\n  }\n}\n.fi-next {\n  &:before {\n    content: $fi-var-next;\n  }\n}\n.fi-next-2 {\n  &:before {\n    content: $fi-var-next-2;\n  }\n}\n.fi-note {\n  &:before {\n    content: $fi-var-note;\n  }\n}\n.fi-note2 {\n  &:before {\n    content: $fi-var-note2;\n  }\n}\n.fi-notebook {\n  &:before {\n    content: $fi-var-notebook;\n  }\n}\n.fi-paint {\n  &:before {\n    content: $fi-var-paint;\n  }\n}\n.fi-paint-bucket {\n  &:before {\n    content: $fi-var-paint-bucket;\n  }\n}\n.fi-paperclip {\n  &:before {\n    content: $fi-var-paperclip;\n  }\n}\n.fi-paper-plane {\n  &:before {\n    content: $fi-var-paper-plane;\n  }\n}\n.fi-pen {\n  &:before {\n    content: $fi-var-pen;\n  }\n}\n.fi-pendrive {\n  &:before {\n    content: $fi-var-pendrive;\n  }\n}\n.fi-phone {\n  &:before {\n    content: $fi-var-phone;\n  }\n}\n.fi-phone-new {\n  &:before {\n    content: $fi-var-phone-new;\n  }\n}\n.fi-photo {\n  &:before {\n    content: $fi-var-photo;\n  }\n}\n.fi-photo-gallery {\n  &:before {\n    content: $fi-var-photo-gallery;\n  }\n}\n.fi-piggy {\n  &:before {\n    content: $fi-var-piggy;\n  }\n}\n.fi-pin {\n  &:before {\n    content: $fi-var-pin;\n  }\n}\n.fi-pinterest {\n  &:before {\n    content: $fi-var-pinterest;\n  }\n}\n.fi-pinterest-2 {\n  &:before {\n    content: $fi-var-pinterest-2;\n  }\n}\n.fi-plane {\n  &:before {\n    content: $fi-var-plane;\n  }\n}\n.fi-play {\n  &:before {\n    content: $fi-var-play;\n  }\n}\n.fi-play-2 {\n  &:before {\n    content: $fi-var-play-2;\n  }\n}\n.fi-plug {\n  &:before {\n    content: $fi-var-plug;\n  }\n}\n.fi-plugin {\n  &:before {\n    content: $fi-var-plugin;\n  }\n}\n.fi-plus {\n  &:before {\n    content: $fi-var-plus;\n  }\n}\n.fi-plus-2 {\n  &:before {\n    content: $fi-var-plus-2;\n  }\n}\n.fi-portfolio {\n  &:before {\n    content: $fi-var-portfolio;\n  }\n}\n.fi-post {\n  &:before {\n    content: $fi-var-post;\n  }\n}\n.fi-power {\n  &:before {\n    content: $fi-var-power;\n  }\n}\n.fi-prev {\n  &:before {\n    content: $fi-var-prev;\n  }\n}\n.fi-print {\n  &:before {\n    content: $fi-var-print;\n  }\n}\n.fi-product-empty {\n  &:before {\n    content: $fi-var-product-empty;\n  }\n}\n.fi-radio {\n  &:before {\n    content: $fi-var-radio;\n  }\n}\n.fi-refresh {\n  &:before {\n    content: $fi-var-refresh;\n  }\n}\n.fi-refresh-2 {\n  &:before {\n    content: $fi-var-refresh-2;\n  }\n}\n.fi-refresh-cloud {\n  &:before {\n    content: $fi-var-refresh-cloud;\n  }\n}\n.fi-repeat {\n  &:before {\n    content: $fi-var-repeat;\n  }\n}\n.fi-ribbon {\n  &:before {\n    content: $fi-var-ribbon;\n  }\n}\n.fi-right-arrow {\n  &:before {\n    content: $fi-var-right-arrow;\n  }\n}\n.fi-right-arrow-2 {\n  &:before {\n    content: $fi-var-right-arrow-2;\n  }\n}\n.fi-right-arrow-3 {\n  &:before {\n    content: $fi-var-right-arrow-3;\n  }\n}\n.fi-rocket {\n  &:before {\n    content: $fi-var-rocket;\n  }\n}\n.fi-safe {\n  &:before {\n    content: $fi-var-safe;\n  }\n}\n.fi-science {\n  &:before {\n    content: $fi-var-science;\n  }\n}\n.fi-scissors {\n  &:before {\n    content: $fi-var-scissors;\n  }\n}\n.fi-search {\n  &:before {\n    content: $fi-var-search;\n  }\n}\n.fi-search-new {\n  &:before {\n    content: $fi-var-search-new;\n  }\n}\n.fi-send {\n  &:before {\n    content: $fi-var-send;\n  }\n}\n.fi-server {\n  &:before {\n    content: $fi-var-server;\n  }\n}\n.fi-settings {\n  &:before {\n    content: $fi-var-settings;\n  }\n}\n.fi-share {\n  &:before {\n    content: $fi-var-share;\n  }\n}\n.fi-shield {\n  &:before {\n    content: $fi-var-shield;\n  }\n}\n.fi-shipping {\n  &:before {\n    content: $fi-var-shipping;\n  }\n}\n.fi-shipping-free {\n  &:before {\n    content: $fi-var-shipping-free;\n  }\n}\n.fi-shopbag {\n  &:before {\n    content: $fi-var-shopbag;\n  }\n}\n.fi-shuffle {\n  &:before {\n    content: $fi-var-shuffle;\n  }\n}\n.fi-signal {\n  &:before {\n    content: $fi-var-signal;\n  }\n}\n.fi-signout {\n  &:before {\n    content: $fi-var-signout;\n  }\n}\n.fi-smile {\n  &:before {\n    content: $fi-var-smile;\n  }\n}\n.fi-speaker {\n  &:before {\n    content: $fi-var-speaker;\n  }\n}\n.fi-star {\n  &:before {\n    content: $fi-var-star;\n  }\n}\n.fi-stopwatch {\n  &:before {\n    content: $fi-var-stopwatch;\n  }\n}\n.fi-study {\n  &:before {\n    content: $fi-var-study;\n  }\n}\n.fi-sun {\n  &:before {\n    content: $fi-var-sun;\n  }\n}\n.fi-switch {\n  &:before {\n    content: $fi-var-switch;\n  }\n}\n.fi-tag {\n  &:before {\n    content: $fi-var-tag;\n  }\n}\n.fi-tags {\n  &:before {\n    content: $fi-var-tags;\n  }\n}\n.fi-target {\n  &:before {\n    content: $fi-var-target;\n  }\n}\n.fi-ticket {\n  &:before {\n    content: $fi-var-ticket;\n  }\n}\n.fi-timer {\n  &:before {\n    content: $fi-var-timer;\n  }\n}\n.fi-tools {\n  &:before {\n    content: $fi-var-tools;\n  }\n}\n.fi-track-order {\n  &:before {\n    content: $fi-var-track-order;\n  }\n}\n.fi-trash {\n  &:before {\n    content: $fi-var-trash;\n  }\n}\n.fi-trolley {\n  &:before {\n    content: $fi-var-trolley;\n  }\n}\n.fi-twitter {\n  &:before {\n    content: $fi-var-twitter;\n  }\n}\n.fi-umbrella {\n  &:before {\n    content: $fi-var-umbrella;\n  }\n}\n.fi-unlock {\n  &:before {\n    content: $fi-var-unlock;\n  }\n}\n.fi-up-arrow {\n  &:before {\n    content: $fi-var-up-arrow;\n  }\n}\n.fi-up-arrow-2 {\n  &:before {\n    content: $fi-var-up-arrow-2;\n  }\n}\n.fi-up-arrow-3 {\n  &:before {\n    content: $fi-var-up-arrow-3;\n  }\n}\n.fi-upload {\n  &:before {\n    content: $fi-var-upload;\n  }\n}\n.fi-usb {\n  &:before {\n    content: $fi-var-usb;\n  }\n}\n.fi-user {\n  &:before {\n    content: $fi-var-user;\n  }\n}\n.fi-user-edit-new {\n  &:before {\n    content: $fi-var-user-edit-new;\n  }\n}\n.fi-user-female {\n  &:before {\n    content: $fi-var-user-female;\n  }\n}\n.fi-user-new {\n  &:before {\n    content: $fi-var-user-new;\n  }\n}\n.fi-users {\n  &:before {\n    content: $fi-var-users;\n  }\n}\n.fi-vector {\n  &:before {\n    content: $fi-var-vector;\n  }\n}\n.fi-video {\n  &:before {\n    content: $fi-var-video;\n  }\n}\n.fi-voicemail {\n  &:before {\n    content: $fi-var-voicemail;\n  }\n}\n.fi-volume {\n  &:before {\n    content: $fi-var-volume;\n  }\n}\n.fi-volume1 {\n  &:before {\n    content: $fi-var-volume1;\n  }\n}\n.fi-volume2 {\n  &:before {\n    content: $fi-var-volume2;\n  }\n}\n.fi-wallet {\n  &:before {\n    content: $fi-var-wallet;\n  }\n}\n.fi-way {\n  &:before {\n    content: $fi-var-way;\n  }\n}\n.fi-wine {\n  &:before {\n    content: $fi-var-wine;\n  }\n}\n.fi-world {\n  &:before {\n    content: $fi-var-world;\n  }\n}\n.fi-wristwatch {\n  &:before {\n    content: $fi-var-wristwatch;\n  }\n}\n.fi-youtube {\n  &:before {\n    content: $fi-var-youtube;\n  }\n}\n\n//-- Additionnal class\n.fi-credit-card {\n  &:before {\n    content: $fi-var-credit;\n  }\n}\n.fi-eye {\n  &:before {\n    content: $fi-var-look;\n  }\n}\n/* stylelint-enable */\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/icons/_icons.scss","//\n// Buttons\n// --------------------------------------------------\n\n//-- Button link\n.button-link {\n  @include button($style: hollow);\n\n  // Sizes\n  @each $size, $value in map-remove($button-sizes, default) {\n    &.#{$size} {\n      font-size: $value;\n    }\n  }\n\n  // Colors\n  @each $name, $color in $button-palette {\n    &.#{$name} {\n      @include button-hollow-style($color);\n    }\n  }\n\n  margin: 0;\n  padding: 0;\n\n  &,\n  &:hover,\n  &:focus {\n    border-color: transparent;\n    outline: none;\n\n    &.disabled,\n    &[disabled] {\n      border-color: transparent;\n      outline: none;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_buttons.scss","//\n// Forms\n// --------------------------------------------------\n\n/** Search form */\n.search-form {\n  @extend .input-group;\n}\n\n.search-form label {\n  font-weight: normal;\n}\n\n.search-form .search-field {\n  @extend .input-group-field;\n}\n\n.search-form .search-submit {\n  @include button(false, $secondary-color, auto, $button-color, $button-fill);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_form.scss","//\n// Forms Validation\n// --------------------------------------------------\n\n$ng-form-validation-error   : get-color(alert) !default;\n$ng-form-validation-success : get-color(success) !default;\n\n.radio,\n.checkbox {\n  label {\n    line-height: 1.2;\n\n    &::after {\n      line-height: 1.8;\n    }\n  }\n}\n\n/* stylelint-disable */\nform,\nng-form,\n.form,\n.ng-form {\n  select.ng-touched.ng-invalid,\n  textarea.ng-touched.ng-invalid,\n  input.ng-touched.ng-invalid:not(.input-qty) {\n    border-color: $ng-form-validation-error;\n    background-color: lighten($ng-form-validation-error, 46%);\n  }\n\n  //== UI-Select module\n  .ui-select-container.ng-touched.ng-invalid {\n    .ui-select-toggle {\n      border-color: $ng-form-validation-error;\n      background-color: lighten($ng-form-validation-error, 46%);\n    }\n  }\n\n  select.ng-touched.ng-valid,\n  textarea.ng-touched.ng-valid,\n  input.ng-touched.ng-valid:not(.input-qty) {\n    border-color: $ng-form-validation-success;\n\n    &.ng-empty {\n      border-color: inherit;\n    }\n  }\n\n  //== UI-Select module\n  .ui-select-container.ng-touched.ng-valid {\n    .ui-select-toggle {\n      border-color: $ng-form-validation-success;\n    }\n\n    &.ng-empty {\n      .ui-select-toggle {\n        border-color: inherit;\n      }\n    }\n  }\n\n  .radio,\n  .checkbox {\n    input.ng-touched.ng-invalid-required ~ label {\n      &::before {\n        border-color: $ng-form-validation-error;\n      }\n    }\n\n    input.ng-touched.ng-valid-required ~ label {\n      &::before {\n        border-color: $ng-form-validation-success;\n      }\n    }\n  }\n\n  //Input-group\n  .input-group-field.ng-touched.ng-valid ~ .input-group-button {\n    .button {\n      border-color: $ng-form-validation-success;\n    }\n  }\n\n  .input-group-field.ng-touched.ng-invalid ~ .input-group-button {\n    .button {\n      border-color: $ng-form-validation-error;\n    }\n  }\n\n  .input-group-field.ng-touched.ng-empty ~ .input-group-button {\n    .button {\n      border-color: transparent;\n    }\n  }\n}\n/* stylelint-enable */\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_ng-form.scss","//\n// Comments\n// --------------------------------------------------\n.comment-list {\n  @extend .no-bullet;\n}\n\n.comment-list ol {\n  list-style: none;\n}\n\n.comment-form input[type=\"submit\"] {\n  @include button(false, $secondary-color, auto, $button-color, $button-fill);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_comments.scss","//\n// Dropdown\n// --------------------------------------------------\n.dropdown {\n  &.menu {\n    > li {\n      &.is-dropdown-submenu-parent {\n        > a {\n          &::after {\n            content: $fi-var-angle-down;\n            font-family: $fi-font-family;\n            font-size: 1.5rem;\n            border: none;\n            right: 24px;\n            top: 0.5rem;\n            margin-top: 0;\n          }\n        }\n      }\n    }\n\n    li {\n      &.is-active,\n      &:hover {\n        background-color: get-color(primary);\n\n        @include animation-all;\n\n        > a {\n          color: $white-base;\n        }\n      }\n    }\n\n    .is-dropdown-submenu {\n      border: none;\n      box-shadow: 0 0 15px rgba(0, 0, 0, 0.25);\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_dropdown-menu.scss","//\n// Animation Mixin\n// --------------------------------------------------\n@mixin animation-all {\n  transition: all linear 0.3s;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/util/mixins/_animation.scss","//\n// Grid\n// --------------------------------------------------\n\n@mixin xy-collapse-grid-container-classes() {\n  @include -zf-each-breakpoint {\n    &.#{$-zf-size}-collapse {\n      @include grid-column-gutter(0);\n    }\n\n    &.#{$-zf-size}-uncollapse {\n      @include grid-column-gutter($-zf-size);\n    }\n  }\n}\n\n// Foundation Grid system\n@if $xy-grid {\n\n  $base-size-main: 100% !default;\n\n  //Grid\n  .main-header {\n    //Container\n    @if $base-container-main-header == full {\n      @include xy-grid-container(100%, 0);\n    }\n    @else if $base-container-main-header == fluid {\n      @include xy-grid-container(100%);\n    }\n    @else if $base-container-main-header == gutter {\n      @include xy-grid-container($grid-container, $grid-container-padding);\n    }\n    @else {\n      @include xy-grid-container($grid-container, 0);\n    }\n  }\n\n  .main-container {\n    //Container\n    @if $base-container-main == full {\n      @include xy-grid-container(100%, 0);\n    }\n    @else if $base-container-main == fluid {\n      @include xy-grid-container(100%);\n    }\n    @else if $base-container-main == gutter {\n      @include xy-grid-container($grid-container, $grid-container-padding);\n    }\n    @else {\n      @include xy-grid-container($grid-container, 0);\n    }\n  }\n\n  .main-grid {\n    @include xy-grid;\n    @include xy-grid-collapse(\"main.collapse\", $gutter-type: padding);\n    @include xy-grid-collapse(\".sidebar.collapse\", $gutter-type: padding);\n  }\n\n  main,\n  .sidebar {\n    @include xy-cell($grid-columns, true, $gutter-type: padding);\n  }\n\n  .sidebar-primary {\n    main {\n      @include -zf-each-breakpoint() {\n\n        $-zf-bp-value: -zf-get-bp-val($base-size-sidebar, $-zf-size);\n\n        @if type-of($-zf-bp-value) == \"number\" {\n          @if unit($-zf-bp-value) == \"%\" {\n            @if $-zf-bp-value == \"100%\" {\n              @include xy-cell(100%, true, $gutter-type: padding);\n            }\n            @else {\n              @include xy-cell((100% - $-zf-bp-value), true, $gutter-type: padding);\n            }\n          }\n          @else if unit($-zf-bp-value) == \"px\" {\n            width: calc(#{$base-size-main} - #{$-zf-bp-value});\n            @include xy-gutters($gutter-type: padding, $gutter-position: right left);\n          }\n          @else if $-zf-bp-value == $grid-columns {\n            @include xy-cell($-zf-bp-value of $grid-columns , true, $gutter-type: padding);\n          }\n          @else {\n            @include xy-cell(($grid-columns - $-zf-bp-value) of $grid-columns , true, $gutter-type: padding);\n          }\n        }\n        @else if $-zf-bp-value == \"auto\" {\n          @include xy-cell(shrink, true, $gutter-type: padding);\n        }\n        @else {\n          @include xy-cell(auto, true, $gutter-type: padding);\n        }\n      }\n    }\n\n    .sidebar {\n      @include -zf-each-breakpoint() {\n\n        $-zf-bp-value: -zf-get-bp-val($base-size-sidebar, $-zf-size);\n\n        @if type-of($-zf-bp-value) == \"number\" {\n\n          @if unit($-zf-bp-value) == \"%\" {\n            @include xy-cell($-zf-bp-value, true, $gutter-type: padding);\n          }\n          @else if unit($-zf-bp-value) == \"px\" {\n            width: $-zf-bp-value;\n            @include xy-gutters($gutter-type: padding, $gutter-position: right left);\n          }\n          @else {\n            @include xy-cell($-zf-bp-value of $grid-columns, true, $gutter-type: padding);\n          }\n        }\n        @else {\n          @include xy-cell(#{$-zf-bp-value}, true, $gutter-type: padding);\n        }\n      }\n    }\n  }\n\n  //Classes for collapse grid-container\n  .grid-container {\n\n    @include xy-collapse-grid-container-classes();\n  }\n\n  //Class for full height\n  .grid-full-height {\n    height: 100%;\n  }\n}\n\n.main-grid-single,\n.main-grid-archive {\n\n  margin-top: get-side($hr-margin, top);\n}\n\n//Cell Collapse Self\n.grid-margin-y,\n.grid-margin-x {\n  > .cell {\n    &.collapse-self-margin {\n      margin-left: 0;\n      margin-right: 0;\n    }\n\n    @include -zf-each-breakpoint {\n      &.#{$-zf-size}-collapse-self-margin {\n        margin-left: 0;\n        margin-right: 0;\n      }\n    }\n  }\n}\n\n.grid-padding-y,\n.grid-padding-x {\n  > .cell {\n    &.collapse-self-padding {\n      padding-left: 0;\n      padding-right: 0;\n    }\n\n    @include -zf-each-breakpoint {\n      &.#{$-zf-size}-collapse-self-padding {\n        padding-left: 0;\n        padding-right: 0;\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_grid.scss","// Foundation for Sites by ZURB\n// foundation.zurb.com\n// Licensed under MIT Open Source\n\n////\n/// @group grid\n////\n\n/// Set the gutters on a column\n/// @param {Number|Keyword} $gutter [auto]\n///   Spacing between columns, accepts multiple values:\n///   - A single value will make the gutter that exact size.\n///   - A breakpoint name will make the gutter the corresponding size in the $gutters map.\n///   - \"auto\" will make the gutter responsive, using the $gutters map values.\n/// @param {Number|Map} $gutters [$grid-column-gutter] - Gutter map or single value to use. Responsive gutter settings by default.\n@mixin grid-column-gutter(\n  $gutter: auto,\n  $gutters: $grid-column-gutter\n) {\n  @include -zf-breakpoint-value($gutter, $gutters) {\n    $padding: rem-calc($-zf-bp-value) / 2;\n\n    padding-right: $padding;\n    padding-left: $padding;\n  }\n}\n\n/// Collapse the gutters on a column by removing the padding. **Note:** only use this mixin within a breakpoint. To collapse a column's gutters on all screen sizes, use the `$gutter` parameter of the `grid-column()` mixin instead.\n@mixin grid-column-collapse {\n  @include grid-column-gutter(0);\n}\n\n/// Shorthand for `grid-column-gutter()`.\n/// @alias grid-column-gutter\n@mixin grid-col-gutter(\n  $gutter: auto,\n  $gutters: $grid-column-gutter\n) {\n  @include grid-column-gutter($gutter, $gutters);\n}\n\n/// Shorthand for `grid-column-collapse()`.\n/// @alias grid-column-collapse\n@mixin grid-col-collapse {\n  @include grid-column-collapse;\n}\n\n/// Sets bottom margin on grid columns to match gutters\n/// @param {Number|Keyword} $margin [auto]\n///   The bottom margin on grid columns, accepts multiple values:\n///   - A single value will make the margin that exact size.\n///   - A breakpoint name will make the margin the corresponding size in the $margins map.\n///   - \"auto\" will make the margin responsive, using the $margins map values.\n/// @param {Number|Map} $margins [$grid-column-gutter] - Map or single value to use. Responsive gutter settings by default.\n@mixin grid-column-margin (\n  $margin: auto,\n  $margins: $grid-column-gutter\n) {\n  @include -zf-breakpoint-value($margin, $margins) {\n    $margin-bottom: rem-calc($-zf-bp-value);\n    margin-bottom: $margin-bottom;\n\n    > :last-child {\n      margin-bottom: 0;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/node_modules/foundation-sites/scss/grid/_gutter.scss","//\n// Social\n// --------------------------------------------------\n.social-group {\n  @include menu-base;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_social.scss","//\r\n// Badge\r\n// --------------------------------------------------\r\n/// opacity for a disabled button.\r\n/// @type List\r\n$badge-opacity-disable: 0.35 !default;\r\n\r\n.badge {\r\n  &.square {\r\n    border-radius: 0;\r\n  }\r\n\r\n  &.hollow {\r\n    background: transparent;\r\n    border: solid 1px $primary-color;\r\n    color: $primary-color;\r\n\r\n    @each $name, $color in $badge-palette {\r\n      &.#{$name} {\r\n        border-color: $color;\r\n        color: $color;\r\n      }\r\n    }\r\n  }\r\n\r\n  &.disable {\r\n    opacity: $badge-opacity-disable;\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_badge.scss","//\n// Table\n// --------------------------------------------------\n\n$table-head-padding: ($global-padding / 2) 0 !default;\n$table-head-margin-bottom: ($global-padding / 2) !default;\n\n.table {\n  .table-header {\n    background-color: $table-head-background;\n    color: $table-head-font-color;\n    padding: $table-head-padding;\n    margin-bottom: $table-head-margin-bottom;\n  }\n\n  .table-header,\n  .table-row {\n    @include xy-grid;\n    @include xy-gutters($negative: true);\n\n    & > .table-cell {\n      @include xy-gutters($grid-padding-gutters, padding);\n    }\n\n    .table-cell {\n      @include xy-cell(auto, false, $gutter-type: padding);\n\n      &.shrink {\n        @include xy-cell-base(shrink);\n      }\n    }\n\n    &.shrink {\n      & > .table-cell {\n        @include xy-cell-base(shrink);\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_table.scss","//\n// hr\n// -------------------------------------------\n$hr-border-class:             $hr-border !default;\n$hr-margin-class:             get-side($hr-margin, bottom) !default;\n$hr-padding-class:            $hr-margin-class;\n$hr-vertical-height:          auto !default;\n$hr-vertical-margin-top:      get-side($hr-margin, top) !default;\n$hr-vertical-margin-bottom:   get-side($hr-margin, bottom) !default;\n$hr-vertical-border:          $hr-border !default;\n\n@mixin style-hr($position: bottom) {\n  clear: both;\n  border-left: 0;\n  border-right: 0;\n\n  @if ($position == bottom) {\n    margin-bottom: $hr-margin-class;\n    border-bottom: $hr-border-class;\n  }\n\n  @if ($position == top) {\n    padding-top: $hr-padding-class;\n    border-top: $hr-border-class;\n  }\n\n  .cell & {\n    margin-left: 0;\n    margin-right: 0;\n  }\n}\n\n@mixin style-hr-vertical() {\n  width: 1px;\n  height: $hr-vertical-height;\n  margin: auto;\n  margin-top: $hr-vertical-margin-top;\n  margin-bottom: $hr-vertical-margin-bottom;\n  border: 0;\n  border-left: $hr-vertical-border;\n\n  .cell & {\n    height: calc(100% - #{($hr-vertical-margin-top + $hr-vertical-margin-bottom) / 2});\n  }\n}\n\n@mixin style-hr-margin($factor: 1, $important: false) {\n\n  @if ($important == true) {\n    margin-bottom: ($factor * $hr-margin-class) !important;\n  }\n  @else {\n    margin-bottom: ($factor * $hr-margin-class);\n  }\n}\n\n@mixin style-hr-padding($factor: 1, $important: false) {\n\n  @if ($important == true) {\n    padding-top: ($factor * $hr-padding-class) !important;\n  }\n  @else {\n    padding-top: ($factor * $hr-padding-class);\n  }\n}\n\n.hr,\n.hr-bottom {\n  @include style-hr(bottom);\n}\n\n.hr-top {\n  @include style-hr(top);\n}\n\n.no-hr {\n  border-top: 0 !important;\n  border-bottom: 0 !important;\n}\n\n.hr-vertical {\n  @include style-hr-vertical;\n}\n\n.hr-vertical-left {\n  border: 0;\n  border-left: $hr-vertical-border;\n\n  &:not(.cell) {\n    padding-left: $hr-padding-class / 2;\n  }\n}\n\n.hr-vertical-right {\n  border: 0;\n  border-right: $hr-vertical-border;\n\n  &:not(.cell) {\n    padding-right: $hr-padding-class / 2;\n  }\n}\n\n.hr-margin {\n  @include style-hr-margin(1, true);\n\n  @for $i from 2 through 4 {\n    &.hr-#{$i}x {\n      @include style-hr-margin($i, true);\n    }\n  }\n\n  @for $i from 2 through 4 {\n    &.hr-margin-#{$i}x {\n      @include style-hr-margin($i, true);\n    }\n  }\n}\n\n.hr-padding {\n  @include style-hr-padding(1, true);\n\n  @for $i from 2 through 4 {\n    &.hr-#{$i}x {\n      @include style-hr-padding($i, true);\n    }\n  }\n\n  @for $i from 2 through 4 {\n    &.hr-padding-#{$i}x {\n      @include style-hr-padding($i, true);\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_hr.scss","//\n// Underline\n// -------------------------------------------\n$underline-width:   5rem !default;\n$underline-size:    3px !default;\n$underline-bottom:  -2px !default;\n$underline-left:    0 !default;\n$underline-color:   $primary-color !default;\n$underline-sizes: (\n  tiny: 1px,\n  small: 2px,\n  default: $underline-size,\n) !default;\n\n$underline-palette: $foundation-palette !default;\n\n@mixin style-underline($color: $underline-color) {\n  position: relative;\n\n  &::after {\n    content: \"\";\n    position: absolute;\n    width: $underline-width;\n    height: $underline-size;\n    background-color: $color;\n    bottom: $underline-bottom;\n    left: $underline-left;\n  }\n}\n\n@mixin style-underline-color($color: $underline-color) {\n  &::after {\n    background-color: $color;\n  }\n}\n\n@mixin style-underline-center() {\n  &::after {\n    left: 50%;\n    transform: translateX(-50%);\n  }\n}\n\n@mixin style-underline-size($size: $underline-size) {\n  &::after {\n    height: $size;\n  }\n}\n\n.underline {\n  @include style-underline;\n\n  // Colors\n  @each $name, $color in $underline-palette {\n    &.underline-#{$name} {\n      @include style-underline-color($color);\n    }\n  }\n\n  // Sizes\n  @each $size, $value in map-remove($underline-sizes, default) {\n    &.underline-#{$size} {\n      @include style-underline-size($value);\n    }\n  }\n\n  &.underline-center {\n    @include style-underline-center;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_underline.scss","//\n// Webicon\n// --------------------------------------------------\n$webicon-sizes: (\n  tiny: 0.8rem,\n  small: 0.9rem,\n  default: 1rem,\n  large: 1.25rem,\n) !default;\n\n$webicon-palette: $foundation-palette !default;\n\n.webicon {\n  // Sizes\n  @each $size, $value in map-remove($webicon-sizes, default) {\n    &.#{$size} {\n      height: $value;\n      width: $value;\n    }\n  }\n\n  // Colors\n  @each $name, $color in $webicon-palette {\n    &.#{$name} {\n      color: $color;\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_webicon.scss","//\n// Fix Workaround\n// --------------------------------------------------\n\n//== image lazyload src empty or src not present apply opacity 0 to not display border.\nimg[src=\"\"],\nimg:not([src]) {\n  opacity: 0 !important;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_fix.scss","//\n// CSS Variables\n// --------------------------------------------------\n:root {\n  //Colors\n  @each $name, $color in $base-palette {\n    --#{$name}-color: #{$color};\n  }\n\n  --white-color: #{$white-base};\n  --black-color: #{$black-base};\n  --medium-gray-color: #{$medium-gray-base};\n  --light-gray-color: #{$light-gray-base};\n  --gray-color: #{$gray-base};\n  --dark-gray-color: #{$dark-gray-base};\n\n  //Font\n  --body-font: #{$base-font-family};\n  --title-font: #{$title-font-family};\n\n  //HR\n  --hr-margin: #{$hr-margin};\n  --hr-padding: #{$hr-padding-class};\n\n  //Breakpoint size\n  @each $-size, $-val in $breakpoints {\n    --breakpoint-#{$-size}: #{$-val};\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/_vars.scss","//\r\n// WordPress Global\r\n// --------------------------------------------------\r\n\r\n/**\r\n * WordPress Generated Classes\r\n * @see http://codex.wordpress.org/CSS#WordPress_Generated_Classes\r\n */\r\n\r\n//-- Page Title\r\n.page-title {\r\n  text-align: center;\r\n}\r\n\r\n//-- Password form\r\n.post-password-form input[type=\"submit\"] {\r\n  @include button(false, $secondary-color, auto, $button-color, $button-fill);\r\n}\r\n\r\n/** Captions */\r\n// TODO: .wp-caption {}\r\n// TODO: .wp-caption img {}\r\n// TODO: .wp-caption-text {}\r\n\r\n/** Text meant only for screen readers */\r\n.screen-reader-text {\r\n  @extend .show-for-sr;\r\n  @extend .show-on-focus;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/wp/_global.scss","//\r\n// WordPress Table Block\r\n// --------------------------------------------------\r\n\r\n//Unstriped default style\r\n.wp-block-table {\r\n  table {\r\n    thead,\r\n    tbody,\r\n    tfoot {\r\n      @include -zf-table-unstripe();\r\n    }\r\n\r\n    thead {\r\n      th:not(.has-text-align-left):not(.has-text-align-right) {\r\n        text-align: center;\r\n      }\r\n    }\r\n\r\n    tfoot {\r\n      td {\r\n        font-weight: normal;\r\n      }\r\n    }\r\n\r\n    &.has-background {\r\n      thead,\r\n      tbody,\r\n      tfoot {\r\n        background-color: transparent;\r\n\r\n        tr {\r\n          background-color: transparent;\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/wp/blocks/_table.scss","//\r\n// WordPress Separator Block\r\n// --------------------------------------------------\r\n\r\nhr.wp-block-separator:not(.is-style-dots) {\r\n  border: none;\r\n  height: 1px;\r\n  overflow: visible;\r\n  position: relative;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/wp/blocks/_separator.scss","//\n// Buttons\n// --------------------------------------------------\n\n@mixin rc-base-elementor-button {\n  .elementor-button {\n    @include button;\n\n    &.elementor-size-xs,\n    &.elementor-size-sm,\n    &.elementor-size-md,\n    &.elementor-size-lg,\n    &.elementor-size-xl {\n      border-radius: $global-radius;\n    }\n  }\n\n  .elementor-button-hollow {\n    .elementor-button {\n      @include button-hollow;\n      @include button-hollow-style;\n    }\n  }\n\n  .elementor-element {\n    &.elementor-button-info {\n      .elementor-button {\n        @include button-style($secondary-color, auto, $button-color);\n      }\n    }\n\n    &.elementor-button-success {\n      .elementor-button {\n        @include button-style($success-color, auto, $button-color);\n      }\n    }\n\n    &.elementor-button-warning {\n      .elementor-button {\n        @include button-style($warning-color, auto, $button-color);\n      }\n    }\n\n    &.elementor-button-danger {\n      .elementor-button {\n        @include button-style($alert-color, auto, $button-color);\n      }\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/C:/Data/Development/Software/Web/RedCastor/lib-github/rc-base-zf/src/styles/src/styles/components/elementor/_buttons.scss"],"sourceRoot":""}