/* Active Admin Print Stylesheet */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  line-height: 1;
  color: black;
  background: white;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: separate;
  border-spacing: 0;
  vertical-align: middle;
}

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: "" "";
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
}

a img {
  border: none;
}

html {
  font-size: 100.01%;
}

body {
  font-size: 75%;
  font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  color: black;
}

h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {
  margin: 0;
}

h1 {
  font-size: 3em;
  line-height: 1;
  margin-bottom: 0.5em;
}

h2 {
  font-size: 2em;
  margin-bottom: 0.75em;
}

h3 {
  font-size: 1.5em;
  line-height: 1;
  margin-bottom: 1em;
}

h4 {
  font-size: 1.2em;
  line-height: 1.25;
  margin-bottom: 1.25em;
}

h5 {
  font-size: 1em;
  font-weight: bold;
  margin-bottom: 1.5em;
}

h6 {
  font-size: 1em;
  font-weight: bold;
}

p {
  margin: 0 0 1.5em;
}

p .left {
  margin: 1.5em 1.5em 1.5em 0;
  padding: 0;
}

p .right {
  margin: 1.5em 0 1.5em 1.5em;
  padding: 0;
}

.left {
  float: left !important;
}

.right {
  float: right !important;
}

blockquote {
  margin: 1.5em;
  color: #666;
  font-style: italic;
}

strong, dfn {
  font-weight: bold;
}

em, dfn {
  font-style: italic;
}

sup, sub {
  line-height: 0;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
}

address {
  margin: 0 0 1.5em;
  font-style: italic;
}

del {
  color: #666;
}

pre {
  margin: 1.5em 0;
  white-space: pre;
}

pre, code, tt {
  font: 1em 'andale mono', 'lucida console', monospace;
  line-height: 1.5;
}

li ul,
li ol {
  margin: 0;
}

ul, ol {
  margin: 0 1.5em 1.5em 0;
  padding-left: 1.5em;
}

ul {
  list-style-type: disc;
}

ol {
  list-style-type: decimal;
}

dl {
  margin: 0 0 1.5em 0;
}

dl dt {
  font-weight: bold;
}

dd {
  margin-left: 1.5em;
}

table {
  margin-bottom: 1.4em;
  width: 100%;
}

th {
  font-weight: bold;
}

thead th {
  background: #c3d9ff;
}

th, td, caption {
  padding: 4px 10px 4px 5px;
}

.small {
  font-size: .8em;
  margin-bottom: 1.875em;
  line-height: 1.875em;
}

.large {
  font-size: 1.2em;
  line-height: 2.5em;
  margin-bottom: 1.25em;
}

.hide {
  display: none;
}

.quiet {
  color: #666;
}

.loud {
  color: #000;
}

.highlight {
  background: #ff0;
}

.added {
  background: #060;
  color: #fff;
}

.removed {
  background: #900;
  color: #fff;
}

.first {
  margin-left: 0;
  padding-left: 0;
}

.last {
  margin-right: 0;
  padding-right: 0;
}

.top {
  margin-top: 0;
  padding-top: 0;
}

.bottom {
  margin-bottom: 0;
  padding-bottom: 0;
}

body {
  font-family: Helvetica, Arial, sans-serif;
  line-height: 150%;
  font-size: 72%;
  background: #fff;
  width: 99%;
  margin: 0;
  padding: .5%;
  color: black;
}

a {
  color: black;
  text-decoration: none;
}

h3 {
  font-weight: bold;
  margin-bottom: .5em;
}

#header {
  float: left;
}

#header #tabs, #header .tabs, #header #utility_nav {
  display: none;
}

#header h1 {
  font-weight: bold;
}

.flashes {
  display: none;
}

#title_bar {
  float: right;
}

#title_bar h2 {
  line-height: 2em;
  margin: 0;
}

#title_bar .breadcrumb, #title_bar #titlebar_right {
  display: none;
}

#active_admin_content {
  border-top: thick solid black;
  clear: both;
  margin-top: 2em;
  padding-top: 3em;
}

#footer {
  display: none;
}

.table_tools ul {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

.table_tools ul li {
  display: none;
  padding: 0;
  margin-bottom: 1em;
}

.table_tools ul li.scope.selected, .table_tools ul li.index.selected {
  display: block;
}

.table_tools ul li.scope.selected:before, .table_tools ul li.index.selected:before {
  content: "Showing ";
}

.table_tools ul li.scope.selected a, .table_tools ul li.index.selected a {
  font-weight: bold;
}

.table_tools ul li.scope.selected span, .table_tools ul li.index.selected span {
  display: inline-block;
  font-weight: normal;
  font-size: .9em;
}

table {
  margin-bottom: 1.5em;
  text-align: left;
  width: 100%;
}

table thead {
  display: table-header-group;
}

table thead th {
  background: none;
  border-bottom: medium solid black;
  font-weight: bold;
}

table thead th a {
  text-decoration: none;
}

table th, table td {
  padding: .5em 1em;
}

table th .member_link, table td .member_link {
  display: none;
}

table td {
  border-bottom: thin solid black;
}

table tr {
  page-break-inside: avoid;
}

#index_footer, .pagination_information {
  display: none;
}

.index_grid td {
  border: none;
  text-align: center;
  vertical-align: middle;
}

.index_grid td img {
  max-width: 1in;
}

.panel {
  border-bottom: thick solid #ccc;
  margin-bottom: 3em;
  padding-bottom: 2em;
  page-break-inside: avoid;
}

.panel:last-child {
  border-bottom: none;
}

.comments form {
  display: none;
}

.comments .active_admin_comment {
  border-top: thin solid black;
  padding-top: 1em;
}

.comments .active_admin_comment .active_admin_comment_meta h4 {
  font-size: 1em;
  font-weight: bold;
  float: left;
  margin-right: .5em;
  margin-bottom: 0;
}

.comments .active_admin_comment .active_admin_comment_meta span {
  font-size: .9em;
  font-style: italic;
  vertical-align: top;
}

.comments .active_admin_comment .active_admin_comment_body {
  clear: both;
  margin-bottom: 1em;
}

.attributes_table {
  border-top: medium solid black;
}

.attributes_table th {
  border-bottom: thin solid black;
  vertical-align: top;
}

.attributes_table th:after {
  content: ':';
}

.attributes_table td img {
  max-height: 4in;
  max-width: 6in;
}

#filters_sidebar_section {
  display: none;
}

form fieldset {
  border-top: thick solid #ccc;
  padding-top: 2em;
  margin-bottom: 2em;
}

form fieldset:last-child {
  border-bottom: none;
}

form .buttons, form abbr {
  display: none;
}

form ol {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

form ol li {
  border-top: thin solid black;
  margin: 0;
  padding: 1em 0;
  overflow: hidden;
}

form ol li.password, form ol li.hidden {
  display: none;
}

form ol li label {
  font-weight: bold;
  float: left;
  width: 20%;
}

form ol li input, form ol li textarea, form ol li select {
  background: none;
  border: 0;
  font: Arial, Helvetica, sans-serif;
}

form ol li input[type=file] {
  display: none;
}

.unsupported_browser {
  display: none;
}

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiLi4vLi4vLi4vLi4vLi4vYnVuZGxlL3J1YnkvMi4zLjAvYnVuZGxlci9nZW1zL2FjdGl2ZV9hZG1pbi1iMzYyNzc1YWE4NWQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hY3RpdmVfYWRtaW4vcHJpbnQuY3NzIiwKCSJzb3VyY2VzIjogWwoJCSIuLi8uLi8uLi8uLi8uLi9idW5kbGUvcnVieS8yLjMuMC9idW5kbGVyL2dlbXMvYWN0aXZlX2FkbWluLWIzNjI3NzVhYTg1ZC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FjdGl2ZV9hZG1pbi9wcmludC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vLi4vYnVuZGxlL3J1YnkvMi4zLjAvYnVuZGxlci9nZW1zL2FjdGl2ZV9hZG1pbi1iMzYyNzc1YWE4NWQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hY3RpdmVfYWRtaW4vbWl4aW5zL19yZXNldC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vLi4vYnVuZGxlL3J1YnkvMi4zLjAvYnVuZGxlci9nZW1zL2FjdGl2ZV9hZG1pbi1iMzYyNzc1YWE4NWQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hY3RpdmVfYWRtaW4vX3R5cG9ncmFwaHkuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIi8qIEFjdGl2ZSBBZG1pbiBQcmludCBTdHlsZXNoZWV0ICovXG5cbi8vIFNldCBjb2xvcnMgdXNlZCBlbHNld2hlcmVcbiRwcmltYXJ5LWNvbG9yOiBibGFjaztcbiR0ZXh0LWNvbG9yOiBibGFjaztcblxuLy8gUmVzZXRcbkBpbXBvcnQgXCJhY3RpdmVfYWRtaW4vbWl4aW5zL3Jlc2V0XCI7XG5AaW5jbHVkZSBnbG9iYWwtcmVzZXQ7XG5cbi8vIFBhcnRpYWxzXG5AaW1wb3J0IFwiYWN0aXZlX2FkbWluL3R5cG9ncmFwaHlcIjtcblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMTUwJTtcbiAgZm9udC1zaXplOiA3MiU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHdpZHRoOiA5OSU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogLjUlO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG59XG5cbmEge1xuICBjb2xvcjogJHRleHQtY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuaDMge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbn1cblxuLy8gSGVhZGVyXG4jaGVhZGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG5cbiAgI3RhYnMsIC50YWJzLCAjdXRpbGl0eV9uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBoMXtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxufVxuXG4uZmxhc2hlcyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiN0aXRsZV9iYXIge1xuICBmbG9hdDogcmlnaHQ7XG5cbiAgaDIge1xuICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmJyZWFkY3J1bWIsICN0aXRsZWJhcl9yaWdodCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBDb250ZW50XG4jYWN0aXZlX2FkbWluX2NvbnRlbnQge1xuICBib3JkZXItdG9wOiB0aGljayBzb2xpZCBibGFjaztcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbi10b3A6IDJlbTtcbiAgcGFkZGluZy10b3A6IDNlbTtcbn1cblxuLy8gRm9vdGVyXG4jZm9vdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gVGFibGVzXG4udGFibGVfdG9vbHMge1xuICB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG5cbiAgICAgICYuc2NvcGUuc2VsZWN0ZWQsICYuaW5kZXguc2VsZWN0ZWQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJTaG93aW5nIFwiO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG50YWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcblxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuXG4gICAgdGgge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IG1lZGl1bSBzb2xpZCBibGFjaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICBhe1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGgsIHRkIHtcbiAgICBwYWRkaW5nOiAuNWVtIDFlbTtcblxuICAgIC5tZW1iZXJfbGluayB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiB0aGluIHNvbGlkIGJsYWNrO1xuICB9XG5cbiAgdHJ7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG59XG5cbi8vIEluZGV4XG4jaW5kZXhfZm9vdGVyLCAucGFnaW5hdGlvbl9pbmZvcm1hdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pbmRleF9ncmlkIHtcbiAgdGQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDFpbjtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2hvd1xuLnBhbmVsIHtcbiAgYm9yZGVyLWJvdHRvbTogdGhpY2sgc29saWQgI2NjYztcbiAgbWFyZ2luLWJvdHRvbTogM2VtO1xuICBwYWRkaW5nLWJvdHRvbTogMmVtO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG59XG5cbi5jb21tZW50cyB7XG4gIGZvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuYWN0aXZlX2FkbWluX2NvbW1lbnQge1xuICAgIGJvcmRlci10b3A6IHRoaW4gc29saWQgYmxhY2s7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcblxuICAgIC5hY3RpdmVfYWRtaW5fY29tbWVudF9tZXRhIHtcbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAuOWVtO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGl2ZV9hZG1pbl9jb21tZW50X2JvZHkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxuICB9XG59XG5cblxuLy8gQXR0cmlidXRlIFRhYmxlc1xuLmF0dHJpYnV0ZXNfdGFibGUge1xuICBib3JkZXItdG9wOiBtZWRpdW0gc29saWQgYmxhY2s7XG5cbiAgdGgge1xuICAgIGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgYmxhY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJzonO1xuICAgIH1cbiAgfVxuXG4gIHRkIHtcbiAgICBpbWcge1xuICAgICAgbWF4LWhlaWdodDogNGluO1xuICAgICAgbWF4LXdpZHRoOiA2aW47XG4gICAgfVxuICB9XG59XG5cbi8vIFNpZGViYXJzXG4jZmlsdGVyc19zaWRlYmFyX3NlY3Rpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBGb3Jtc1xuZm9ybSB7XG4gIGZpZWxkc2V0IHtcbiAgICBib3JkZXItdG9wOiB0aGljayBzb2xpZCAjY2NjO1xuICAgIHBhZGRpbmctdG9wOiAyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbnMsIGFiYnIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgb2wge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIGxpe1xuICAgICAgYm9yZGVyLXRvcDogdGhpbiBzb2xpZCBibGFjaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgJi5wYXNzd29yZCwgJi5oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIH1cblxuICAgICAgaW5wdXQsIHRleHRhcmVhLCBzZWxlY3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGZvbnQ6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9ZmlsZV0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG5cbi51bnN1cHBvcnRlZF9icm93c2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsCgkJIi8vIEZST00gVGhlIENvbXBhc3MgRnJhbWV3b3JrIChjb21wYXNzLXN0eWxlLm9yZylcbi8vXG4vLyBDb3B5cmlnaHQgKGMpIDIwMDkgQ2hyaXN0b3BoZXIgTS4gRXBwc3RlaW5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mXG4vLyB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluXG4vLyB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvXG4vLyB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZlxuLy8gdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLFxuLy8gc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4vLyBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLiBObyBhdHRyaWJ1dGlvbiBpcyByZXF1aXJlZCBieVxuLy8gcHJvZHVjdHMgdGhhdCBtYWtlIHVzZSBvZiB0aGlzIHNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTXG4vLyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1Jcbi8vIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUlxuLy8gSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU5cbi8vIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG4vL1xuLy8gRXhjZXB0IGFzIGNvbnRhaW5lZCBpbiB0aGlzIG5vdGljZSwgdGhlIG5hbWUocykgb2YgdGhlIGFib3ZlIGNvcHlyaWdodCBob2xkZXJzXG4vLyBzaGFsbCBub3QgYmUgdXNlZCBpbiBhZHZlcnRpc2luZyBvciBvdGhlcndpc2UgdG8gcHJvbW90ZSB0aGUgc2FsZSwgdXNlIG9yIG90aGVyXG4vLyBkZWFsaW5ncyBpbiB0aGlzIFNvZnR3YXJlIHdpdGhvdXQgcHJpb3Igd3JpdHRlbiBhdXRob3JpemF0aW9uLlxuLy9cbi8vIENvbnRyaWJ1dG9ycyB0byB0aGlzIHByb2plY3QgYWdyZWUgdG8gZ3JhbnQgYWxsIHJpZ2h0cyB0byB0aGUgY29weXJpZ2h0IGhvbGRlclxuLy8gb2YgdGhlIHByaW1hcnkgcHJvZHVjdC4gQXR0cmlidXRpb24gaXMgbWFpbnRhaW5lZCBpbiB0aGUgc291cmNlIGNvbnRyb2wgaGlzdG9yeVxuLy8gb2YgdGhlIHByb2R1Y3QuXG4vL1xuLy8gQmFzZWQgb24gW0VyaWMgTWV5ZXIncyByZXNldF0oaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rob3VnaHRzLzIwMDcvMDUvMDEvcmVzZXQtcmVsb2FkZWQvKVxuLy8gR2xvYmFsIHJlc2V0IHJ1bGVzLlxuLy8gRm9yIG1vcmUgc3BlY2lmaWMgcmVzZXRzLCB1c2UgdGhlIHJlc2V0IG1peGlucyBwcm92aWRlZCBiZWxvd1xuLy9cbi8vICpQbGVhc2UgTm90ZSo6IHRhYmxlcyBzdGlsbCBuZWVkIGBjZWxsc3BhY2luZz1cIjBcImAgaW4gdGhlIG1hcmt1cC5cbkBtaXhpbiBnbG9iYWwtcmVzZXQge1xuICBodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbiAgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLFxuICBkZWwsIGRmbiwgZW0sIGZvbnQsIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG4gIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG4gIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksXG4gIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxuICB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsO1xuICAgIEBpbmNsdWRlIHJlc2V0LWZvbnQ7IH1cbiAgYm9keSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtYm9keTsgfVxuICBvbCwgdWwge1xuICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Qtc3R5bGU7IH1cbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHJlc2V0LXRhYmxlOyB9XG4gIGNhcHRpb24sIHRoLCB0ZCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtdGFibGUtY2VsbDsgfVxuICBxLCBibG9ja3F1b3RlIHtcbiAgICBAaW5jbHVkZSByZXNldC1xdW90YXRpb247IH1cbiAgYSBpbWcge1xuICAgIEBpbmNsdWRlIHJlc2V0LWltYWdlLWFuY2hvci1ib3JkZXI7IH0gfVxuXG4vLyBSZXNldCBhbGwgZWxlbWVudHMgd2l0aGluIHNvbWUgc2VsZWN0b3Igc2NvcGUuIFRvIHJlc2V0IHRoZSBzZWxlY3RvciBpdHNlbGYsXG4vLyBtaXhpbiB0aGUgYXBwcm9wcmlhdGUgcmVzZXQgbWl4aW4gZm9yIHRoYXQgZWxlbWVudCB0eXBlIGFzIHdlbGwuIFRoaXMgY291bGQgYmVcbi8vIHVzZWZ1bCBpZiB5b3Ugd2FudCB0byBzdHlsZSBhIHBhcnQgb2YgeW91ciBwYWdlIGluIGEgZHJhbWF0aWNhbGx5IGRpZmZlcmVudCB3YXkuXG4vL1xuLy8gKlBsZWFzZSBOb3RlKjogdGFibGVzIHN0aWxsIG5lZWQgYGNlbGxzcGFjaW5nPVwiMFwiYCBpbiB0aGUgbWFya3VwLlxuQG1peGluIG5lc3RlZC1yZXNldCB7XG4gIGRpdiwgc3Bhbiwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsXG4gIHByZSwgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgY29kZSwgZGVsLCBkZm4sIGVtLCBpbWcsXG4gIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLCBjYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciB7XG4gICAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsO1xuICAgIEBpbmNsdWRlIHJlc2V0LWZvbnQ7IH1cbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHJlc2V0LXRhYmxlOyB9XG4gIGNhcHRpb24sIHRoLCB0ZCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtdGFibGUtY2VsbDsgfVxuICBxLCBibG9ja3F1b3RlIHtcbiAgICBAaW5jbHVkZSByZXNldC1xdW90YXRpb247IH1cbiAgYSBpbWcge1xuICAgIEBpbmNsdWRlIHJlc2V0LWltYWdlLWFuY2hvci1ib3JkZXI7IH0gfVxuXG4vLyBSZXNldCB0aGUgYm94IG1vZGVsIG1lYXN1cmVtZW50cy5cbkBtaXhpbiByZXNldC1ib3gtbW9kZWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDsgfVxuXG4vLyBSZXNldCB0aGUgZm9udCBhbmQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIHJlc2V0LWZvbnQge1xuICBmb250OiB7XG4gICAgd2VpZ2h0OiBpbmhlcml0O1xuICAgIHN0eWxlOiBpbmhlcml0O1xuICAgIHNpemU6IDEwMCU7XG4gICAgZmFtaWx5OiBpbmhlcml0OyB9O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLy8gUmVzZXRzIHRoZSBvdXRsaW5lIHdoZW4gZm9jdXMuXG4vLyBGb3IgYWNjZXNzaWJpbGl0eSB5b3UgbmVlZCB0byBhcHBseSBzb21lIHN0eWxpbmcgaW4gaXRzIHBsYWNlLlxuQG1peGluIHJlc2V0LWZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vLyBSZXNldCBhIGJvZHkgZWxlbWVudC5cbkBtaXhpbiByZXNldC1ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBibGFjaztcbiAgYmFja2dyb3VuZDogd2hpdGU7IH1cblxuLy8gUmVzZXQgdGhlIGxpc3Qgc3R5bGUgb2YgYW4gZWxlbWVudC5cbkBtaXhpbiByZXNldC1saXN0LXN0eWxlIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vLyBSZXNldCBhIHRhYmxlXG5AbWl4aW4gcmVzZXQtdGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vLyBSZXNldCBhIHRhYmxlIGNlbGwgKGB0aGAsIGB0ZGApXG5AbWl4aW4gcmVzZXQtdGFibGUtY2VsbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLy8gUmVzZXQgYSBxdW90YXRpb24gKGBxYCwgYGJsb2NrcXVvdGVgKVxuQG1peGluIHJlc2V0LXF1b3RhdGlvbiB7XG4gIHF1b3RlczogXCJcIiBcIlwiO1xuICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjsgfSB9XG5cbi8vIFJlc2V0cyB0aGUgYm9yZGVyLlxuQG1peGluIHJlc2V0LWltYWdlLWFuY2hvci1ib3JkZXIge1xuICBib3JkZXI6IG5vbmU7IH1cblxuLy8gVW5yZWNvZ25pemVkIGVsZW1lbnRzIGFyZSBkaXNwbGF5ZWQgaW5saW5lLlxuLy8gVGhpcyByZXNldCBwcm92aWRlcyBhIGJhc2ljIHJlc2V0IGZvciBodG1sNSBlbGVtZW50c1xuLy8gc28gdGhleSBhcmUgcmVuZGVyZWQgY29ycmVjdGx5IGluIGJyb3dzZXJzIHRoYXQgZG9uJ3QgcmVjb2duaXplIHRoZW1cbi8vIGFuZCByZXNldCBpbiBicm93c2VycyB0aGF0IGhhdmUgZGVmYXVsdCBzdHlsZXMgZm9yIHRoZW0uXG5AbWl4aW4gcmVzZXQtaHRtbDUge1xuICBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtYm94LW1vZGVsO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLy8gUmVzZXRzIHRoZSBkaXNwbGF5IG9mIGlubGluZSBhbmQgYmxvY2sgZWxlbWVudHMgdG8gdGhlaXIgZGVmYXVsdCBkaXNwbGF5XG4vLyBhY2NvcmRpbmcgdG8gdGhlaXIgdGFnIHR5cGUuIEVsZW1lbnRzIHRoYXQgaGF2ZSBhIGRlZmF1bHQgZGlzcGxheSB0aGF0IHZhcmllcyBhY3Jvc3Ncbi8vIHZlcnNpb25zIG9mIGh0bWwgb3IgYnJvd3NlciBhcmUgbm90IGhhbmRsZWQgaGVyZSwgYnV0IHRoaXMgY292ZXJzIHRoZSA5MCUgdXNlIGNhc2UuXG4vLyBVc2FnZSBFeGFtcGxlOlxuLy9cbi8vICAgICAvLyBUdXJuIG9mZiB0aGUgZGlzcGxheSBmb3IgYm90aCBvZiB0aGVzZSBjbGFzc2VzXG4vLyAgICAgLnVucmVnaXN0ZXJlZC1vbmx5LCAucmVnaXN0ZXJlZC1vbmx5XG4vLyAgICAgICBkaXNwbGF5OiBub25lXG4vLyAgICAgLy8gTm93IHR1cm4gb25seSBvbmUgb2YgdGhlbSBiYWNrIG9uIGRlcGVuZGluZyBvbiBzb21lIG90aGVyIGNvbnRleHQuXG4vLyAgICAgYm9keS5yZWdpc3RlcmVkXG4vLyAgICAgICArcmVzZXQtZGlzcGxheShcIi5yZWdpc3RlcmVkLW9ubHlcIilcbi8vICAgICBib2R5LnVucmVnaXN0ZXJlZFxuLy8gICAgICAgK3Jlc2V0LWRpc3BsYXkoXCIudW5yZWdpc3RlcmVkLW9ubHlcIilcbkBtaXhpbiByZXNldC1kaXNwbGF5KCRzZWxlY3RvcjogXCJcIiwgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgI3thcHBlbmQtc2VsZWN0b3IoZWxlbWVudHMtb2YtdHlwZShcImlubGluZVwiKSwgJHNlbGVjdG9yKX0ge1xuICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cbiAgI3thcHBlbmQtc2VsZWN0b3IoZWxlbWVudHMtb2YtdHlwZShcImJsb2NrXCIpLCAkc2VsZWN0b3IpfSB7XG4gICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH0gfVxuIiwKCQkiLy8gQWRhcHRlZCBmcm9tIEJsdWVwcmludCBDU1MgRnJhbWV3b3JrXG4vL1xuLy8gQ29weXJpZ2h0IChjKSAyMDA3IC0gMjAxMCBibHVlcHJpbnRjc3Mub3JnXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb25cbi8vIG9idGFpbmluZyBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uXG4vLyBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXRcbi8vIHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLFxuLy8gY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZVxuLy8gU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmdcbi8vIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmVcbi8vIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsXG4vLyBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVNcbi8vIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EXG4vLyBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVFxuLy8gSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksXG4vLyBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkdcbi8vIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1Jcbi8vIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuLy8gRGVmYXVsdCBmb250IHNldHRpbmdzLiAgVGhlIGZvbnQtc2l6ZSBwZXJjZW50YWdlIGlzIG9mIDE2cHguICgwLjc1ICogMTZweCA9IDEycHgpICovXG5odG1sIHsgZm9udC1zaXplOjEwMC4wMSU7IH1cbmJvZHkgeyBmb250LXNpemU6IDc1JTsgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuXG4vLyBIZWFkaW5nc1xuaDEsaDIsaDMsaDQsaDUsaDYge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIGltZyB7IG1hcmdpbjogMDsgfVxufVxuXG5oMSB7IGZvbnQtc2l6ZTogM2VtOyBsaW5lLWhlaWdodDogMTsgbWFyZ2luLWJvdHRvbTogMC41ZW07IH1cbmgyIHsgZm9udC1zaXplOiAyZW07IG1hcmdpbi1ib3R0b206IDAuNzVlbTsgfVxuaDMgeyBmb250LXNpemU6IDEuNWVtOyBsaW5lLWhlaWdodDogMTsgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5oNCB7IGZvbnQtc2l6ZTogMS4yZW07IGxpbmUtaGVpZ2h0OiAxLjI1OyBtYXJnaW4tYm90dG9tOiAxLjI1ZW07IH1cbmg1IHsgZm9udC1zaXplOiAxZW07IGZvbnQtd2VpZ2h0OiBib2xkOyBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuaDYgeyBmb250LXNpemU6IDFlbTsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgMS41ZW07XG5cbiAgLmxlZnQgICAgIHsgbWFyZ2luOiAxLjVlbSAxLjVlbSAxLjVlbSAwOyBwYWRkaW5nOiAwOyB9XG4gIC5yaWdodCB7IG1hcmdpbjogMS41ZW0gMCAxLjVlbSAxLjVlbTsgcGFkZGluZzogMDsgfVxufVxuXG4ubGVmdCAgICAgICAgICAgICAgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4ucmlnaHQgICAgICAgICAgICAgeyBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG5ibG9ja3F1b3RlICB7IG1hcmdpbjogMS41ZW07IGNvbG9yOiAjNjY2OyBmb250LXN0eWxlOiBpdGFsaWM7IH1cbnN0cm9uZyxkZm4gICAgeyBmb250LXdlaWdodDogYm9sZDsgfVxuZW0sZGZuICAgICAgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cbnN1cCwgc3ViICAgIHsgbGluZS1oZWlnaHQ6IDA7IH1cblxuYWJicixcbmFjcm9ueW0gICAgIHsgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjNjY2OyB9XG5hZGRyZXNzICAgICB7IG1hcmdpbjogMCAwIDEuNWVtOyBmb250LXN0eWxlOiBpdGFsaWM7IH1cbmRlbCAgICAgICAgIHsgY29sb3I6IzY2NjsgfVxuXG5wcmUgICAgICAgICB7IG1hcmdpbjogMS41ZW0gMDsgd2hpdGUtc3BhY2U6IHByZTsgfVxucHJlLGNvZGUsdHQgeyBmb250OiAxZW0gJ2FuZGFsZSBtb25vJywgJ2x1Y2lkYSBjb25zb2xlJywgbW9ub3NwYWNlOyBsaW5lLWhlaWdodDogMS41OyB9XG5cbi8vIExpc3RzXG5saSB1bCxcbmxpIG9sICAgICAgIHsgbWFyZ2luOiAwOyB9XG51bCwgb2wgICAgICB7IG1hcmdpbjogMCAxLjVlbSAxLjVlbSAwOyBwYWRkaW5nLWxlZnQ6IDEuNWVtOyB9XG5cbnVsICAgICAgICAgIHsgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5vbCAgICAgICAgICB7IGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDsgfVxuXG5kbCAgICAgICAgICB7IG1hcmdpbjogMCAwIDEuNWVtIDA7IH1cbmRsIGR0ICAgICAgIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbmRkICAgICAgICAgIHsgbWFyZ2luLWxlZnQ6IDEuNWVtO31cblxuLy8gVGFibGVzXG50YWJsZSAgICAgICB7IG1hcmdpbi1ib3R0b206IDEuNGVtOyB3aWR0aDoxMDAlOyB9XG50aCAgICAgICAgICB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG50aGVhZCB0aCAgICB7IGJhY2tncm91bmQ6ICNjM2Q5ZmY7IH1cbnRoLHRkLGNhcHRpb24geyBwYWRkaW5nOiA0cHggMTBweCA0cHggNXB4OyB9XG5cbi8vIEhlbHBlciBDbGFzc2VzXG4uc21hbGwgICAgICB7IGZvbnQtc2l6ZTogLjhlbTsgbWFyZ2luLWJvdHRvbTogMS44NzVlbTsgbGluZS1oZWlnaHQ6IDEuODc1ZW07IH1cbi5sYXJnZSAgICAgIHsgZm9udC1zaXplOiAxLjJlbTsgbGluZS1oZWlnaHQ6IDIuNWVtOyBtYXJnaW4tYm90dG9tOiAxLjI1ZW07IH1cbi5oaWRlICAgICAgIHsgZGlzcGxheTogbm9uZTsgfVxuXG4ucXVpZXQgICAgICB7IGNvbG9yOiAjNjY2OyB9XG4ubG91ZCAgICAgICB7IGNvbG9yOiAjMDAwOyB9XG4uaGlnaGxpZ2h0ICB7IGJhY2tncm91bmQ6I2ZmMDsgfVxuLmFkZGVkICAgICAgeyBiYWNrZ3JvdW5kOiMwNjA7IGNvbG9yOiAjZmZmOyB9XG4ucmVtb3ZlZCAgICB7IGJhY2tncm91bmQ6IzkwMDsgY29sb3I6ICNmZmY7IH1cblxuLmZpcnN0ICAgICAgeyBtYXJnaW4tbGVmdDowOyBwYWRkaW5nLWxlZnQ6MDsgfVxuLmxhc3QgICAgICAgeyBtYXJnaW4tcmlnaHQ6MDsgcGFkZGluZy1yaWdodDowOyB9XG4udG9wICAgICAgICB7IG1hcmdpbi10b3A6MDsgcGFkZGluZy10b3A6MDsgfVxuLmJvdHRvbSAgICAgeyBtYXJnaW4tYm90dG9tOjA7IHBhZGRpbmctYm90dG9tOjA7IH1cbiIKCV0sCgkibmFtZXMiOiBbXSwKCSJtYXBwaW5ncyI6ICJBQUFBLG1DQUFtQztBQ29DakMsQUFBQSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNO0FBQzdDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsR0FBRztBQUMxQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJO0FBQzFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUk7QUFDN0MsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRztBQUN4QyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUU7QUFDdEIsUUFBUSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTTtBQUM3QixLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO0VBc0NoRCxNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQztFQUtSLFdBQU0sRUFBRSxPQUFPO0VB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 */