@rivet-health/design-system 4.2.0 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/icon/icons.mjs +3 -1
- package/esm2020/lib/input/single-select/single-select.component.mjs +3 -3
- package/fesm2015/rivet-health-design-system.mjs +4 -2
- package/fesm2015/rivet-health-design-system.mjs.map +1 -1
- package/fesm2020/rivet-health-design-system.mjs +4 -2
- package/fesm2020/rivet-health-design-system.mjs.map +1 -1
- package/lib/icon/icons.d.ts +1 -0
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ const ArrowRight = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
|
|
|
13
13
|
const ArrowUp = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="feather feather-arrow-up">\n <line x1="12" y1="19" x2="12" y2="5"></line><polyline points="5 12 12 5 19 12"></polyline>\n</svg>`;
|
|
14
14
|
const ArrowUpRight = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="feather feather-arrow-up-right">\n <line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline>\n</svg>`;
|
|
15
15
|
const AtSign = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="feather feather-at-sign">\n <circle cx="12" cy="12" r="4"></circle><path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94"></path>\n</svg>`;
|
|
16
|
+
const Award = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" class="feather feather-award" viewBox="0 0 24 24"><circle cx="12" cy="8" r="7"/><path d="M8.21 13.89 7 23l5-3 5 3-1.21-9.12"/></svg>`;
|
|
16
17
|
const BarChart2 = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="feather feather-bar-chart-2">\n <line x1="18" y1="20" x2="18" y2="10"></line><line x1="12" y1="20" x2="12" y2="4"></line><line x1="6" y1="20" x2="6" y2="14"></line>\n</svg>`;
|
|
17
18
|
const Bell = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="feather feather-bell">\n <path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"></path><path d="M13.73 21a2 2 0 0 1-3.46 0"></path>\n</svg>`;
|
|
18
19
|
const Book = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="feather feather-book">\n <path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"></path><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"></path>\n</svg>`;
|
|
@@ -136,6 +137,7 @@ export const icons = {
|
|
|
136
137
|
ArrowUp,
|
|
137
138
|
ArrowUpRight,
|
|
138
139
|
AtSign,
|
|
140
|
+
Award,
|
|
139
141
|
BarChart2,
|
|
140
142
|
Bell,
|
|
141
143
|
Book,
|
|
@@ -248,4 +250,4 @@ export const iconsMap = {};
|
|
|
248
250
|
for (const key in icons) {
|
|
249
251
|
iconsMap[key] = icons[key];
|
|
250
252
|
}
|
|
251
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pY29uL2ljb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sUUFBUSxHQUFHLDJLQUEySyxDQUFDO0FBQzdMLE1BQU0sV0FBVyxHQUFHLHFQQUFxUCxDQUFDO0FBQzFRLE1BQU0sWUFBWSxHQUFHLGlUQUFpVCxDQUFDO0FBQ3ZVLE1BQU0sYUFBYSxHQUFHLHlUQUF5VCxDQUFDO0FBQ2hWLE1BQU0sU0FBUyxHQUFHLDZSQUE2UixDQUFDO0FBQ2hULE1BQU0sTUFBTSxHQUFHLDBPQUEwTyxDQUFDO0FBQzFQLE1BQU0sT0FBTyxHQUFHLDBQQUEwUCxDQUFDO0FBQzNRLE1BQU0sU0FBUyxHQUFHLDBNQUEwTSxDQUFDO0FBQzdOLE1BQU0sYUFBYSxHQUFHLDRNQUE0TSxDQUFDO0FBQ25PLE1BQU0sU0FBUyxHQUFHLHlNQUF5TSxDQUFDO0FBQzVOLE1BQU0sZUFBZSxHQUFHLHdQQUF3UCxDQUFDO0FBQ2pSLE1BQU0sVUFBVSxHQUFHLDJNQUEyTSxDQUFDO0FBQy9OLE1BQU0sT0FBTyxHQUFHLHVNQUF1TSxDQUFDO0FBQ3hOLE1BQU0sWUFBWSxHQUFHLDJNQUEyTSxDQUFDO0FBQ2pPLE1BQU0sTUFBTSxHQUFHLG1OQUFtTixDQUFDO0FBQ25PLE1BQU0sU0FBUyxHQUFHLG9QQUFvUCxDQUFDO0FBQ3ZRLE1BQU0sSUFBSSxHQUFHLGtOQUFrTixDQUFDO0FBQ2hPLE1BQU0sSUFBSSxHQUFHLDBPQUEwTyxDQUFDO0FBQ3hQLE1BQU0sUUFBUSxHQUFHLG9PQUFvTyxDQUFDO0FBQ3RQLE1BQU0sU0FBUyxHQUFHLHdPQUF3TyxDQUFDO0FBQzNQLE1BQU0sUUFBUSxHQUFHLDJTQUEyUyxDQUFDO0FBQzdULE1BQU0sS0FBSyxHQUFHLHVKQUF1SixDQUFDO0FBQ3RLLE1BQU0sV0FBVyxHQUFHLHlOQUF5TixDQUFDO0FBQzlPLE1B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QU87SUFDUCxNQUFNO0lBQ04sT0FBTztDQUNSLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQThCLEVBQUUsQ0FBQztBQUN0RCxLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBRTtJQUN2QixRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFxQixHQUFHLENBQUMsQ0FBQztDQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IEFjdGl2aXR5ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hY3Rpdml0eVwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMjIgMTIgMTggMTIgMTUgMjEgOSAzIDYgMTIgMiAxMlwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEFsZXJ0Q2lyY2xlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hbGVydC1jaXJjbGVcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjhcIiB4Mj1cIjEyXCIgeTI9XCIxMlwiPjwvbGluZT48bGluZSB4MT1cIjEyXCIgeTE9XCIxNlwiIHgyPVwiMTIuMDFcIiB5Mj1cIjE2XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBbGVydE9jdGFnb24gPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFsZXJ0LW9jdGFnb25cIj5cXG4gICAgPHBvbHlnb24gcG9pbnRzPVwiNy44NiAyIDE2LjE0IDIgMjIgNy44NiAyMiAxNi4xNCAxNi4xNCAyMiA3Ljg2IDIyIDIgMTYuMTQgMiA3Ljg2IDcuODYgMlwiPjwvcG9seWdvbj48bGluZSB4MT1cIjEyXCIgeTE9XCI4XCIgeDI9XCIxMlwiIHkyPVwiMTJcIj48L2xpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMTZcIiB4Mj1cIjEyLjAxXCIgeTI9XCIxNlwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQWxlcnRUcmlhbmdsZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYWxlcnQtdHJpYW5nbGVcIj5cXG4gICAgPHBhdGggZD1cIk0xMC4yOSAzLjg2TDEuODIgMThhMiAyIDAgMCAwIDEuNzEgM2gxNi45NGEyIDIgMCAwIDAgMS43MS0zTDEzLjcxIDMuODZhMiAyIDAgMCAwLTMuNDIgMHpcIj48L3BhdGg+PGxpbmUgeDE9XCIxMlwiIHkxPVwiOVwiIHgyPVwiMTJcIiB5Mj1cIjEzXCI+PC9saW5lPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjE3XCIgeDI9XCIxMi4wMVwiIHkyPVwiMTdcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEFsaWduTGVmdCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYWxpZ24tbGVmdFwiPlxcbiAgICA8bGluZSB4MT1cIjE3XCIgeTE9XCIxMFwiIHgyPVwiM1wiIHkyPVwiMTBcIj48L2xpbmU+PGxpbmUgeDE9XCIyMVwiIHkxPVwiNlwiIHgyPVwiM1wiIHkyPVwiNlwiPjwvbGluZT48bGluZSB4MT1cIjIxXCIgeTE9XCIxNFwiIHgyPVwiM1wiIHkyPVwiMTRcIj48L2xpbmU+PGxpbmUgeDE9XCIxN1wiIHkxPVwiMThcIiB4Mj1cIjNcIiB5Mj1cIjE4XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBbmNob3IgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFuY2hvclwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjVcIiByPVwiM1wiPjwvY2lyY2xlPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjIyXCIgeDI9XCIxMlwiIHkyPVwiOFwiPjwvbGluZT48cGF0aCBkPVwiTTUgMTJIMmExMCAxMCAwIDAgMCAyMCAwaC0zXCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBBcmNoaXZlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hcmNoaXZlXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIyMSA4IDIxIDIxIDMgMjEgMyA4XCI+PC9wb2x5bGluZT48cmVjdCB4PVwiMVwiIHk9XCIzXCIgd2lkdGg9XCIyMlwiIGhlaWdodD1cIjVcIj48L3JlY3Q+PGxpbmUgeDE9XCIxMFwiIHkxPVwiMTJcIiB4Mj1cIjE0XCIgeTI9XCIxMlwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQXJyb3dEb3duID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hcnJvdy1kb3duXCI+XFxuICAgIDxsaW5lIHgxPVwiMTJcIiB5MT1cIjVcIiB4Mj1cIjEyXCIgeTI9XCIxOVwiPjwvbGluZT48cG9seWxpbmUgcG9pbnRzPVwiMTkgMTIgMTIgMTkgNSAxMlwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEFycm93RG93bkxlZnQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFycm93LWRvd24tbGVmdFwiPlxcbiAgICA8bGluZSB4MT1cIjE3XCIgeTE9XCI3XCIgeDI9XCI3XCIgeTI9XCIxN1wiPjwvbGluZT48cG9seWxpbmUgcG9pbnRzPVwiMTcgMTcgNyAxNyA3IDdcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBcnJvd0xlZnQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFycm93LWxlZnRcIj5cXG4gICAgPGxpbmUgeDE9XCIxOVwiIHkxPVwiMTJcIiB4Mj1cIjVcIiB5Mj1cIjEyXCI+PC9saW5lPjxwb2x5bGluZSBwb2ludHM9XCIxMiAxOSA1IDEyIDEyIDVcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBcnJvd0xlZnRDaXJjbGUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFycm93LWxlZnQtY2lyY2xlXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIj48L2NpcmNsZT48cG9seWxpbmUgcG9pbnRzPVwiMTIgOCA4IDEyIDEyIDE2XCI+PC9wb2x5bGluZT48bGluZSB4MT1cIjE2XCIgeTE9XCIxMlwiIHgyPVwiOFwiIHkyPVwiMTJcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEFycm93UmlnaHQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFycm93LXJpZ2h0XCI+XFxuICAgIDxsaW5lIHgxPVwiNVwiIHkxPVwiMTJcIiB4Mj1cIjE5XCIgeTI9XCIxMlwiPjwvbGluZT48cG9seWxpbmUgcG9pbnRzPVwiMTIgNSAxOSAxMiAxMiAxOVwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEFycm93VXAgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFycm93LXVwXCI+XFxuICAgIDxsaW5lIHgxPVwiMTJcIiB5MT1cIjE5XCIgeDI9XCIxMlwiIHkyPVwiNVwiPjwvbGluZT48cG9seWxpbmUgcG9pbnRzPVwiNSAxMiAxMiA1IDE5IDEyXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQXJyb3dVcFJpZ2h0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hcnJvdy11cC1yaWdodFwiPlxcbiAgICA8bGluZSB4MT1cIjdcIiB5MT1cIjE3XCIgeDI9XCIxN1wiIHkyPVwiN1wiPjwvbGluZT48cG9seWxpbmUgcG9pbnRzPVwiNyA3IDE3IDcgMTcgMTdcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBdFNpZ24gPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWF0LXNpZ25cIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCI0XCI+PC9jaXJjbGU+PHBhdGggZD1cIk0xNiA4djVhMyAzIDAgMCAwIDYgMHYtMWExMCAxMCAwIDEgMC0zLjkyIDcuOTRcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IEJhckNoYXJ0MiA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYmFyLWNoYXJ0LTJcIj5cXG4gICAgPGxpbmUgeDE9XCIxOFwiIHkxPVwiMjBcIiB4Mj1cIjE4XCIgeTI9XCIxMFwiPjwvbGluZT48bGluZSB4MT1cIjEyXCIgeTE9XCIyMFwiIHgyPVwiMTJcIiB5Mj1cIjRcIj48L2xpbmU+PGxpbmUgeDE9XCI2XCIgeTE9XCIyMFwiIHgyPVwiNlwiIHkyPVwiMTRcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEJlbGwgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWJlbGxcIj5cXG4gICAgPHBhdGggZD1cIk0xOCA4QTYgNiAwIDAgMCA2IDhjMCA3LTMgOS0zIDloMThzLTMtMi0zLTlcIj48L3BhdGg+PHBhdGggZD1cIk0xMy43MyAyMWEyIDIgMCAwIDEtMy40NiAwXCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBCb29rID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1ib29rXCI+XFxuICAgIDxwYXRoIGQ9XCJNNCAxOS41QTIuNSAyLjUgMCAwIDEgNi41IDE3SDIwXCI+PC9wYXRoPjxwYXRoIGQ9XCJNNi41IDJIMjB2MjBINi41QTIuNSAyLjUgMCAwIDEgNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAyelwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgQm9va09wZW4gPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWJvb2stb3BlblwiPlxcbiAgICA8cGF0aCBkPVwiTTIgM2g2YTQgNCAwIDAgMSA0IDR2MTRhMyAzIDAgMCAwLTMtM0gyelwiPjwvcGF0aD48cGF0aCBkPVwiTTIyIDNoLTZhNCA0IDAgMCAwLTQgNHYxNGEzIDMgMCAwIDEgMy0zaDd6XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBCcmllZmNhc2UgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWJyaWVmY2FzZVwiPlxcbiAgICA8cmVjdCB4PVwiMlwiIHk9XCI3XCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjE0XCIgcng9XCIyXCIgcnk9XCIyXCI+PC9yZWN0PjxwYXRoIGQ9XCJNMTYgMjFWNWEyIDIgMCAwIDAtMi0yaC00YTIgMiAwIDAgMC0yIDJ2MTZcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IENhbGVuZGFyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1jYWxlbmRhclwiPlxcbiAgICA8cmVjdCB4PVwiM1wiIHk9XCI0XCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgcng9XCIyXCIgcnk9XCIyXCI+PC9yZWN0PjxsaW5lIHgxPVwiMTZcIiB5MT1cIjJcIiB4Mj1cIjE2XCIgeTI9XCI2XCI+PC9saW5lPjxsaW5lIHgxPVwiOFwiIHkxPVwiMlwiIHgyPVwiOFwiIHkyPVwiNlwiPjwvbGluZT48bGluZSB4MT1cIjNcIiB5MT1cIjEwXCIgeDI9XCIyMVwiIHkyPVwiMTBcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IENoZWNrID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1jaGVja1wiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMjAgNiA5IDE3IDQgMTJcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBDaGVja0NpcmNsZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY2hlY2stY2lyY2xlXCI+XFxuICAgIDxwYXRoIGQ9XCJNMjIgMTEuMDhWMTJhMTAgMTAgMCAxIDEtNS45My05LjE0XCI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9XCIyMiA0IDEyIDE0LjAxIDkgMTEuMDFcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBDaGVja1NxdWFyZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY2hlY2stc3F1YXJlXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCI5IDExIDEyIDE0IDIyIDRcIj48L3BvbHlsaW5lPjxwYXRoIGQ9XCJNMjEgMTJ2N2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTFcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IENoZXZyb25Eb3duID0gYDxzdmcgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB2aWV3Qm94PVxcXCIwIDAgMjQgMjRcXFwiIGNsYXNzPVxcXCJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1kb3duXFxcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cXFwiNiA5IDEyIDE1IDE4IDlcXFwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IENoZXZyb25MZWZ0ID0gYDxzdmcgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB2aWV3Qm94PVxcXCIwIDAgMjQgMjRcXFwiIGNsYXNzPVxcXCJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1sZWZ0XFxcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cXFwiMTUgMTggOSAxMiAxNSA2XFxcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBDaGV2cm9uUmlnaHQgPSBgPHN2ZyB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHZpZXdCb3g9XFxcIjAgMCAyNCAyNFxcXCIgY2xhc3M9XFxcImZlYXRoZXIgZmVhdGhlci1jaGV2cm9uLXJpZ2h0XFxcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cXFwiOSAxOCAxNSAxMiA5IDZcXFwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IENoZXZyb25zTGVmdCA9IGA8c3ZnIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDI0IDI0XFxcIiBjbGFzcz1cXFwiZmVhdGhlciBmZWF0aGVyLWNoZXZyb25zLWxlZnRcXFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVxcXCIxMSAxNyA2IDEyIDExIDdcXFwiPjwvcG9seWxpbmU+PHBvbHlsaW5lIHBvaW50cz1cXFwiMTggMTcgMTMgMTIgMTggN1xcXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ2hldnJvbnNSaWdodCA9IGA8c3ZnIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDI0IDI0XFxcIiBjbGFzcz1cXFwiZmVhdGhlciBmZWF0aGVyLWNoZXZyb25zLXJpZ2h0XFxcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cXFwiMTMgMTcgMTggMTIgMTMgN1xcXCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVxcXCI2IDE3IDExIDEyIDYgN1xcXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ2hldnJvblVwID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1jaGV2cm9uLXVwXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIxOCAxNSAxMiA5IDYgMTVcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBDbGlwYm9hcmQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWNsaXBib2FyZFwiPlxcbiAgICA8cGF0aCBkPVwiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyXCI+PC9wYXRoPjxyZWN0IHg9XCI4XCIgeT1cIjJcIiB3aWR0aD1cIjhcIiBoZWlnaHQ9XCI0XCIgcng9XCIxXCIgcnk9XCIxXCI+PC9yZWN0Plxcbjwvc3ZnPmA7XG5jb25zdCBDbG9jayA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY2xvY2tcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxwb2x5bGluZSBwb2ludHM9XCIxMiA2IDEyIDEyIDE2IDE0XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ29mZmVlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1jb2ZmZWVcIj5cXG4gICAgPHBhdGggZD1cIk0xOCA4aDFhNCA0IDAgMCAxIDAgOGgtMVwiPjwvcGF0aD48cGF0aCBkPVwiTTIgOGgxNnY5YTQgNCAwIDAgMS00IDRINmE0IDQgMCAwIDEtNC00Vjh6XCI+PC9wYXRoPjxsaW5lIHgxPVwiNlwiIHkxPVwiMVwiIHgyPVwiNlwiIHkyPVwiNFwiPjwvbGluZT48bGluZSB4MT1cIjEwXCIgeTE9XCIxXCIgeDI9XCIxMFwiIHkyPVwiNFwiPjwvbGluZT48bGluZSB4MT1cIjE0XCIgeTE9XCIxXCIgeDI9XCIxNFwiIHkyPVwiNFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ29weSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY29weVwiPlxcbiAgICA8cmVjdCB4PVwiOVwiIHk9XCI5XCIgd2lkdGg9XCIxM1wiIGhlaWdodD1cIjEzXCIgcng9XCIyXCIgcnk9XCIyXCI+PC9yZWN0PjxwYXRoIGQ9XCJNNSAxNUg0YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDlhMiAyIDAgMCAxIDIgMnYxXCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBDb3JuZXJMZWZ0VXAgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWNvcm5lci1sZWZ0LXVwXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIxNCA5IDkgNCA0IDlcIj48L3BvbHlsaW5lPjxwYXRoIGQ9XCJNMjAgMjBoLTdhNCA0IDAgMCAxLTQtNFY0XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBDcmVkaXRDYXJkID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1jcmVkaXQtY2FyZFwiPlxcbiAgICA8cmVjdCB4PVwiMVwiIHk9XCI0XCIgd2lkdGg9XCIyMlwiIGhlaWdodD1cIjE2XCIgcng9XCIyXCIgcnk9XCIyXCI+PC9yZWN0PjxsaW5lIHgxPVwiMVwiIHkxPVwiMTBcIiB4Mj1cIjIzXCIgeTI9XCIxMFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgRG9jdW1lbnRzID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiID48cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTguNzUgNmMtLjQ2NCAwLS45MS4xNjktMS4yMzcuNDY5QzcuMTg0IDYuNzY5IDcgNy4xNzYgNyA3LjZ2MTIuOGMwIC40MjQuMTg0LjgzMS41MTMgMS4xMzEuMzI4LjMuNzczLjQ2OSAxLjIzNy40NjloMTAuNWMuNDY0IDAgLjkxLS4xNjkgMS4yMzctLjQ2OS4zMjktLjMuNTEzLS43MDcuNTEzLTEuMTMxVjhhMiAyIDAgMCAwLTItMkg4Ljc1elwiIC8+IDxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNNyAxOEg0Ljc1Yy0uNDY0IDAtLjkxLS4xNjktMS4yMzctLjQ2OUExLjUzNCAxLjUzNCAwIDAgMSAzIDE2LjRWMy42YzAtLjQyNC4xODQtLjgzMS41MTMtMS4xMzFDMy44NCAyLjE2OSA0LjI4NiAyIDQuNzUgMkgxNWEyIDIgMCAwIDEgMiAydjJNMTcgMTRoLTZNMTcgMThoLTZNMTMgMTBoLTJcIi8+PC9zdmc+YDtcbmNvbnN0IERvbGxhclNpZ24gPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWRvbGxhci1zaWduXCI+XFxuICAgIDxsaW5lIHgxPVwiMTJcIiB5MT1cIjFcIiB4Mj1cIjEyXCIgeTI9XCIyM1wiPjwvbGluZT48cGF0aCBkPVwiTTE3IDVIOS41YTMuNSAzLjUgMCAwIDAgMCA3aDVhMy41IDMuNSAwIDAgMSAwIDdINlwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgRG93bmxvYWQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWRvd25sb2FkXCI+XFxuICAgIDxwYXRoIGQ9XCJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNFwiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiNyAxMCAxMiAxNSAxNyAxMFwiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMTVcIiB4Mj1cIjEyXCIgeTI9XCIzXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBEb3dubG9hZENsb3VkID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1kb3dubG9hZC1jbG91ZFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiOCAxNyAxMiAyMSAxNiAxN1wiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMTJcIiB4Mj1cIjEyXCIgeTI9XCIyMVwiPjwvbGluZT48cGF0aCBkPVwiTTIwLjg4IDE4LjA5QTUgNSAwIDAgMCAxOCA5aC0xLjI2QTggOCAwIDEgMCAzIDE2LjI5XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBFZGl0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1lZGl0XCI+XFxuICAgIDxwYXRoIGQ9XCJNMTEgNEg0YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi03XCI+PC9wYXRoPjxwYXRoIGQ9XCJNMTguNSAyLjVhMi4xMjEgMi4xMjEgMCAwIDEgMyAzTDEyIDE1bC00IDEgMS00IDkuNS05LjV6XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBFZGl0MiA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZWRpdC0yXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTcgM2EyLjgyOCAyLjgyOCAwIDEgMSA0IDRMNy41IDIwLjUgMiAyMmwxLjUtNS41TDE3IDN6XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBFeGNoYW5nZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTE0LjUgNGw0IDQtNCA0TTkgMjBsLTQtNCA0LTRNMyA4aDE1TTYgMTZoMTVcIi8+PC9zdmc+YDtcbmNvbnN0IEV4dGVybmFsTGluayA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZXh0ZXJuYWwtbGlua1wiPlxcbiAgICA8cGF0aCBkPVwiTTE4IDEzdjZhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDZcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjE1IDMgMjEgMyAyMSA5XCI+PC9wb2x5bGluZT48bGluZSB4MT1cIjEwXCIgeTE9XCIxNFwiIHgyPVwiMjFcIiB5Mj1cIjNcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEV5ZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZXllXCI+XFxuICAgIDxwYXRoIGQ9XCJNMSAxMnM0LTggMTEtOCAxMSA4IDExIDgtNCA4LTExIDgtMTEtOC0xMS04elwiPjwvcGF0aD48Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjNcIj48L2NpcmNsZT5cXG48L3N2Zz5gO1xuY29uc3QgRXllT2ZmID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1leWUtb2ZmXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTcuOTQgMTcuOTRBMTAuMDcgMTAuMDcgMCAwIDEgMTIgMjBjLTcgMC0xMS04LTExLThhMTguNDUgMTguNDUgMCAwIDEgNS4wNi01Ljk0TTkuOSA0LjI0QTkuMTIgOS4xMiAwIDAgMSAxMiA0YzcgMCAxMSA4IDExIDhhMTguNSAxOC41IDAgMCAxLTIuMTYgMy4xOW0tNi43Mi0xLjA3YTMgMyAwIDEgMS00LjI0LTQuMjRcIj48L3BhdGg+PGxpbmUgeDE9XCIxXCIgeTE9XCIxXCIgeDI9XCIyM1wiIHkyPVwiMjNcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEZpbGUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWZpbGVcIj5cXG4gICAgPHBhdGggZD1cIk0xMyAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOXpcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjEzIDIgMTMgOSAyMCA5XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgRmlsZVBsdXMgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWZpbGUtcGx1c1wiPlxcbiAgICA8cGF0aCBkPVwiTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4elwiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiMTQgMiAxNCA4IDIwIDhcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjE4XCIgeDI9XCIxMlwiIHkyPVwiMTJcIj48L2xpbmU+PGxpbmUgeDE9XCI5XCIgeTE9XCIxNVwiIHgyPVwiMTVcIiB5Mj1cIjE1XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBGaWxlVGV4dCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZmlsZS10ZXh0XCI+XFxuICAgIDxwYXRoIGQ9XCJNMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjh6XCI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9XCIxNCAyIDE0IDggMjAgOFwiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxNlwiIHkxPVwiMTNcIiB4Mj1cIjhcIiB5Mj1cIjEzXCI+PC9saW5lPjxsaW5lIHgxPVwiMTZcIiB5MT1cIjE3XCIgeDI9XCI4XCIgeTI9XCIxN1wiPjwvbGluZT48cG9seWxpbmUgcG9pbnRzPVwiMTAgOSA5IDkgOCA5XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgRmlsdGVyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1maWx0ZXJcIj5cXG4gICAgPHBvbHlnb24gcG9pbnRzPVwiMjIgMyAyIDMgMTAgMTIuNDYgMTAgMTkgMTQgMjEgMTQgMTIuNDYgMjIgM1wiPjwvcG9seWdvbj5cXG48L3N2Zz5gO1xuY29uc3QgRmxhZyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZmxhZ1wiPlxcbiAgICA8cGF0aCBkPVwiTTQgMTVzMS0xIDQtMSA1IDIgOCAyIDQtMSA0LTFWM3MtMSAxLTQgMS01LTItOC0yLTQgMS00IDF6XCI+PC9wYXRoPjxsaW5lIHgxPVwiNFwiIHkxPVwiMjJcIiB4Mj1cIjRcIiB5Mj1cIjE1XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBGb2xkZXIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWZvbGRlclwiPlxcbiAgICA8cGF0aCBkPVwiTTIyIDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg1bDIgM2g5YTIgMiAwIDAgMSAyIDJ6XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBIYXNoID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1oYXNoXCI+XFxuICAgIDxsaW5lIHgxPVwiNFwiIHkxPVwiOVwiIHgyPVwiMjBcIiB5Mj1cIjlcIj48L2xpbmU+PGxpbmUgeDE9XCI0XCIgeTE9XCIxNVwiIHgyPVwiMjBcIiB5Mj1cIjE1XCI+PC9saW5lPjxsaW5lIHgxPVwiMTBcIiB5MT1cIjNcIiB4Mj1cIjhcIiB5Mj1cIjIxXCI+PC9saW5lPjxsaW5lIHgxPVwiMTZcIiB5MT1cIjNcIiB4Mj1cIjE0XCIgeTI9XCIyMVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgSGVhcnQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItaGVhcnRcIj48cGF0aCBkPVwiTTIwLjg0IDQuNjFhNS41IDUuNSAwIDAgMC03Ljc4IDBMMTIgNS42N2wtMS4wNi0xLjA2YTUuNSA1LjUgMCAwIDAtNy43OCA3Ljc4bDEuMDYgMS4wNkwxMiAyMS4yM2w3Ljc4LTcuNzggMS4wNi0xLjA2YTUuNSA1LjUgMCAwIDAgMC03Ljc4elwiPjwvcGF0aD48L3N2Zz5gO1xuY29uc3QgSGVhcnRBY3RpdmUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItaGVhcnRcIj48cGF0aCBmaWxsPVwiY3VycmVudENvbG9yXCIgZD1cIk0yMC44NCA0LjYxYTUuNSA1LjUgMCAwIDAtNy43OCAwTDEyIDUuNjdsLTEuMDYtMS4wNmE1LjUgNS41IDAgMCAwLTcuNzggNy43OGwxLjA2IDEuMDZMMTIgMjEuMjNsNy43OC03Ljc4IDEuMDYtMS4wNmE1LjUgNS41IDAgMCAwIDAtNy43OHpcIj48L3BhdGg+PC9zdmc+YDtcbmNvbnN0IEhlbHBDaXJjbGUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWhlbHAtY2lyY2xlXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIj48L2NpcmNsZT48cGF0aCBkPVwiTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzXCI+PC9wYXRoPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjE3XCIgeDI9XCIxMi4wMVwiIHkyPVwiMTdcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEhvbWUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWhvbWVcIj5cXG4gICAgPHBhdGggZD1cIk0zIDlsOS03IDkgN3YxMWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnpcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjkgMjIgOSAxMiAxNSAxMiAxNSAyMlwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEluYm94ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1pbmJveFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMjIgMTIgMTYgMTIgMTQgMTUgMTAgMTUgOCAxMiAyIDEyXCI+PC9wb2x5bGluZT48cGF0aCBkPVwiTTUuNDUgNS4xMUwyIDEydjZhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi02bC0zLjQ1LTYuODlBMiAyIDAgMCAwIDE2Ljc2IDRINy4yNGEyIDIgMCAwIDAtMS43OSAxLjExelwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgSW5mbyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItaW5mb1wiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMTZcIiB4Mj1cIjEyXCIgeTI9XCIxMlwiPjwvbGluZT48bGluZSB4MT1cIjEyXCIgeTE9XCI4XCIgeDI9XCIxMi4wMVwiIHkyPVwiOFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgS2V5ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1rZXlcIj5cXG4gICAgPHBhdGggZD1cIk0yMSAybC0yIDJtLTcuNjEgNy42MWE1LjUgNS41IDAgMSAxLTcuNzc4IDcuNzc4IDUuNSA1LjUgMCAwIDEgNy43NzctNy43Nzd6bTAgMEwxNS41IDcuNW0wIDBsMyAzTDIyIDdsLTMtM20tMy41IDMuNUwxOSA0XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBMYXllcnMgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWxheWVyc1wiPlxcbiAgICA8cG9seWdvbiBwb2ludHM9XCIxMiAyIDIgNyAxMiAxMiAyMiA3IDEyIDJcIj48L3BvbHlnb24+PHBvbHlsaW5lIHBvaW50cz1cIjIgMTcgMTIgMjIgMjIgMTdcIj48L3BvbHlsaW5lPjxwb2x5bGluZSBwb2ludHM9XCIyIDEyIDEyIDE3IDIyIDEyXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTGluazIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWxpbmstMlwiPlxcbiAgICA8cGF0aCBkPVwiTTE1IDdoM2E1IDUgMCAwIDEgNSA1IDUgNSAwIDAgMS01IDVoLTNtLTYgMEg2YTUgNSAwIDAgMS01LTUgNSA1IDAgMCAxIDUtNWgzXCI+PC9wYXRoPjxsaW5lIHgxPVwiOFwiIHkxPVwiMTJcIiB4Mj1cIjE2XCIgeTI9XCIxMlwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTGlzdCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItbGlzdFwiPlxcbiAgICA8bGluZSB4MT1cIjhcIiB5MT1cIjZcIiB4Mj1cIjIxXCIgeTI9XCI2XCI+PC9saW5lPjxsaW5lIHgxPVwiOFwiIHkxPVwiMTJcIiB4Mj1cIjIxXCIgeTI9XCIxMlwiPjwvbGluZT48bGluZSB4MT1cIjhcIiB5MT1cIjE4XCIgeDI9XCIyMVwiIHkyPVwiMThcIj48L2xpbmU+PGxpbmUgeDE9XCIzXCIgeTE9XCI2XCIgeDI9XCIzLjAxXCIgeTI9XCI2XCI+PC9saW5lPjxsaW5lIHgxPVwiM1wiIHkxPVwiMTJcIiB4Mj1cIjMuMDFcIiB5Mj1cIjEyXCI+PC9saW5lPjxsaW5lIHgxPVwiM1wiIHkxPVwiMThcIiB4Mj1cIjMuMDFcIiB5Mj1cIjE4XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBMb2NrID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1sb2NrXCI+XFxuICAgIDxyZWN0IHg9XCIzXCIgeT1cIjExXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjExXCIgcng9XCIyXCIgcnk9XCIyXCI+PC9yZWN0PjxwYXRoIGQ9XCJNNyAxMVY3YTUgNSAwIDAgMSAxMCAwdjRcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IE1haWwgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1haWxcIj5cXG4gICAgPHBhdGggZD1cIk00IDRoMTZjMS4xIDAgMiAuOSAyIDJ2MTJjMCAxLjEtLjkgMi0yIDJINGMtMS4xIDAtMi0uOS0yLTJWNmMwLTEuMS45LTIgMi0yelwiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiMjIsNiAxMiwxMyAyLDZcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBNYXBQaW4gPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1hcC1waW5cIj5cXG4gICAgPHBhdGggZD1cIk0yMSAxMGMwIDctOSAxMy05IDEzcy05LTYtOS0xM2E5IDkgMCAwIDEgMTggMHpcIj48L3BhdGg+PGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMFwiIHI9XCIzXCI+PC9jaXJjbGU+XFxuPC9zdmc+YDtcbmNvbnN0IE1heGltaXplID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1tYXhpbWl6ZVwiPlxcbiAgICA8cGF0aCBkPVwiTTggM0g1YTIgMiAwIDAgMC0yIDJ2M20xOCAwVjVhMiAyIDAgMCAwLTItMmgtM20wIDE4aDNhMiAyIDAgMCAwIDItMnYtM00zIDE2djNhMiAyIDAgMCAwIDIgMmgzXCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBNYXhpbWl6ZTIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1heGltaXplLTJcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjE1IDMgMjEgMyAyMSA5XCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVwiOSAyMSAzIDIxIDMgMTVcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMjFcIiB5MT1cIjNcIiB4Mj1cIjE0XCIgeTI9XCIxMFwiPjwvbGluZT48bGluZSB4MT1cIjNcIiB5MT1cIjIxXCIgeDI9XCIxMFwiIHkyPVwiMTRcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IE1lbnUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1lbnVcIj5cXG4gICAgPGxpbmUgeDE9XCIzXCIgeTE9XCIxMlwiIHgyPVwiMjFcIiB5Mj1cIjEyXCI+PC9saW5lPjxsaW5lIHgxPVwiM1wiIHkxPVwiNlwiIHgyPVwiMjFcIiB5Mj1cIjZcIj48L2xpbmU+PGxpbmUgeDE9XCIzXCIgeTE9XCIxOFwiIHgyPVwiMjFcIiB5Mj1cIjE4XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBNZXNzYWdlQ2lyY2xlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1tZXNzYWdlLWNpcmNsZVwiPlxcbiAgICA8cGF0aCBkPVwiTTIxIDExLjVhOC4zOCA4LjM4IDAgMCAxLS45IDMuOCA4LjUgOC41IDAgMCAxLTcuNiA0LjcgOC4zOCA4LjM4IDAgMCAxLTMuOC0uOUwzIDIxbDEuOS01LjdhOC4zOCA4LjM4IDAgMCAxLS45LTMuOCA4LjUgOC41IDAgMCAxIDQuNy03LjYgOC4zOCA4LjM4IDAgMCAxIDMuOC0uOWguNWE4LjQ4IDguNDggMCAwIDEgOCA4di41elwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgTWluaW1pemUyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1taW5pbWl6ZS0yXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCI0IDE0IDEwIDE0IDEwIDIwXCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVwiMjAgMTAgMTQgMTAgMTQgNFwiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxNFwiIHkxPVwiMTBcIiB4Mj1cIjIxXCIgeTI9XCIzXCI+PC9saW5lPjxsaW5lIHgxPVwiM1wiIHkxPVwiMjFcIiB4Mj1cIjEwXCIgeTI9XCIxNFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTWludXMgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1pbnVzXCI+XFxuICAgIDxsaW5lIHgxPVwiNVwiIHkxPVwiMTJcIiB4Mj1cIjE5XCIgeTI9XCIxMlwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTWludXNDaXJjbGUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1pbnVzLWNpcmNsZVwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PGxpbmUgeDE9XCI4XCIgeTE9XCIxMlwiIHgyPVwiMTZcIiB5Mj1cIjEyXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBNb3JlSG9yaXpvbnRhbCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItbW9yZS1ob3Jpem9udGFsXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMVwiPjwvY2lyY2xlPjxjaXJjbGUgY3g9XCIxOVwiIGN5PVwiMTJcIiByPVwiMVwiPjwvY2lyY2xlPjxjaXJjbGUgY3g9XCI1XCIgY3k9XCIxMlwiIHI9XCIxXCI+PC9jaXJjbGU+XFxuPC9zdmc+YDtcbmNvbnN0IE1vcmVWZXJ0aWNhbCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItbW9yZS12ZXJ0aWNhbFwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjFcIj48L2NpcmNsZT48Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjVcIiByPVwiMVwiPjwvY2lyY2xlPjxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTlcIiByPVwiMVwiPjwvY2lyY2xlPlxcbjwvc3ZnPmA7XG5jb25zdCBQYXBlcmNsaXAgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXBhcGVyY2xpcFwiPlxcbiAgICA8cGF0aCBkPVwiTTIxLjQ0IDExLjA1bC05LjE5IDkuMTlhNiA2IDAgMCAxLTguNDktOC40OWw5LjE5LTkuMTlhNCA0IDAgMCAxIDUuNjYgNS42NmwtOS4yIDkuMTlhMiAyIDAgMCAxLTIuODMtMi44M2w4LjQ5LTguNDhcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IFBlcmNlbnQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXBlcmNlbnRcIj5cXG4gICAgPGxpbmUgeDE9XCIxOVwiIHkxPVwiNVwiIHgyPVwiNVwiIHkyPVwiMTlcIj48L2xpbmU+PGNpcmNsZSBjeD1cIjYuNVwiIGN5PVwiNi41XCIgcj1cIjIuNVwiPjwvY2lyY2xlPjxjaXJjbGUgY3g9XCIxNy41XCIgY3k9XCIxNy41XCIgcj1cIjIuNVwiPjwvY2lyY2xlPlxcbjwvc3ZnPmA7XG5jb25zdCBQaG9uZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItcGhvbmVcIj5cXG4gICAgPHBhdGggZD1cIk0yMiAxNi45MnYzYTIgMiAwIDAgMS0yLjE4IDIgMTkuNzkgMTkuNzkgMCAwIDEtOC42My0zLjA3IDE5LjUgMTkuNSAwIDAgMS02LTYgMTkuNzkgMTkuNzkgMCAwIDEtMy4wNy04LjY3QTIgMiAwIDAgMSA0LjExIDJoM2EyIDIgMCAwIDEgMiAxLjcyIDEyLjg0IDEyLjg0IDAgMCAwIC43IDIuODEgMiAyIDAgMCAxLS40NSAyLjExTDguMDkgOS45MWExNiAxNiAwIDAgMCA2IDZsMS4yNy0xLjI3YTIgMiAwIDAgMSAyLjExLS40NSAxMi44NCAxMi44NCAwIDAgMCAyLjgxLjdBMiAyIDAgMCAxIDIyIDE2LjkyelwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgUGllQ2hhcnQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXBpZS1jaGFydFwiPlxcbiAgICA8cGF0aCBkPVwiTTIxLjIxIDE1Ljg5QTEwIDEwIDAgMSAxIDggMi44M1wiPjwvcGF0aD48cGF0aCBkPVwiTTIyIDEyQTEwIDEwIDAgMCAwIDEyIDJ2MTB6XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBQaW5BY3RpdmUgPSBgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMiAxNUwxMiAyM1wiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTYgMUgxOEwxNSA0TDE2IDEyLjVMMjAgMTVINEw4IDEyLjVMOSA0TDYgMVpcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPmA7XG5jb25zdCBQaW5JbmFjdGl2ZSA9IGA8c3ZnIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTEyIDE1TDEyIDIzXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNiAxSDE4TDE1IDRMMTYgMTIuNUwyMCAxNUg0TDggMTIuNUw5IDRMNiAxWlwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz5gO1xuY29uc3QgUGxheUNpcmNsZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItcGxheS1jaXJjbGVcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxwb2x5Z29uIHBvaW50cz1cIjEwIDggMTYgMTIgMTAgMTYgMTAgOFwiPjwvcG9seWdvbj5cXG48L3N2Zz5gO1xuY29uc3QgUGx1cyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItcGx1c1wiPlxcbiAgICA8bGluZSB4MT1cIjEyXCIgeTE9XCI1XCIgeDI9XCIxMlwiIHkyPVwiMTlcIj48L2xpbmU+PGxpbmUgeDE9XCI1XCIgeTE9XCIxMlwiIHgyPVwiMTlcIiB5Mj1cIjEyXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBQbHVzQ2lyY2xlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1wbHVzLWNpcmNsZVwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiOFwiIHgyPVwiMTJcIiB5Mj1cIjE2XCI+PC9saW5lPjxsaW5lIHgxPVwiOFwiIHkxPVwiMTJcIiB4Mj1cIjE2XCIgeTI9XCIxMlwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgUG93ZXIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXBvd2VyXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTguMzYgNi42NGE5IDkgMCAxIDEtMTIuNzMgMFwiPjwvcGF0aD48bGluZSB4MT1cIjEyXCIgeTE9XCIyXCIgeDI9XCIxMlwiIHkyPVwiMTJcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFByaW50ZXIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXByaW50ZXJcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjYgOSA2IDIgMTggMiAxOCA5XCI+PC9wb2x5bGluZT48cGF0aCBkPVwiTTYgMThINGEyIDIgMCAwIDEtMi0ydi01YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnY1YTIgMiAwIDAgMS0yIDJoLTJcIj48L3BhdGg+PHJlY3QgeD1cIjZcIiB5PVwiMTRcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiOFwiPjwvcmVjdD5cXG48L3N2Zz5gO1xuY29uc3QgUmVmcmVzaEN3ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1yZWZyZXNoLWN3XCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIyMyA0IDIzIDEwIDE3IDEwXCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVwiMSAyMCAxIDE0IDcgMTRcIj48L3BvbHlsaW5lPjxwYXRoIGQ9XCJNMy41MSA5YTkgOSAwIDAgMSAxNC44NS0zLjM2TDIzIDEwTTEgMTRsNC42NCA0LjM2QTkgOSAwIDAgMCAyMC40OSAxNVwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgUmVtaW5kZXIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xOC4zNzUgMTJWNS4yNWMwLS45NjY1LS43ODM1LTEuNzUtMS43NS0xLjc1SDQuMzc1Yy0uOTY2NSAwLTEuNzUuNzgzNS0xLjc1IDEuNzVWMTcuNWMwIC45NjY1Ljc4MzUgMS43NSAxLjc1IDEuNzVIMTJNMTQgMS43NXYzLjVNNyAxLjc1djMuNU0yLjYyNSA4Ljc1aDE1Ljc1XCIvPjxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTcuNSAyMi45MTkzYzIuOTkxNSAwIDUuNDE2Ni0yLjQyNTIgNS40MTY2LTUuNDE2N3MtMi40MjUxLTUuNDE2Ny01LjQxNjYtNS40MTY3Yy0yLjk5MTYgMC01LjQxNjcgMi40MjUyLTUuNDE2NyA1LjQxNjdzMi40MjUxIDUuNDE2NyA1LjQxNjcgNS40MTY3WlwiLz48cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTE3LjUgMTQuMjV2My4yNWwyLjE2NjcgMS4wODMzXCIvPjwvc3ZnPmA7XG5jb25zdCBSZW9yZGVyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPiA8cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTAsOSBsMjQsMFwiLz48cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTAsMTUgbDI0LDBcIi8+PC9zdmc+YDtcbmNvbnN0IFJlb3JkZXIyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIGZpbGw9XCJub25lXCI+PHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiIGQ9XCJNOCA1aDN2M0g4ek04IDExaDN2M0g4ek04IDE3aDN2M0g4ek0xMyA1aDN2M2gtM3pNMTMgMTFoM3YzaC0zek0xMyAxN2gzdjNoLTN6XCIvPjwvc3ZnPmA7XG5jb25zdCBSZXBseSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj4gPHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk05IDE3bC01LTUgNS01XCIvPjxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMjAgMTd2LTFhNCA0IDAgMCAwLTQtNEg0XCIvPjwvc3ZnPmA7XG5jb25zdCBSZXBseUFsbCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj4gPHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xMSAxN2wtNS01IDUtNVwiLz4gPHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk03IDE3bC01LTUgNS01XCIvPjxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMjIgMTd2LTFhNCA0IDAgMCAwLTQtNEg2XCIvPjwvc3ZnPmA7XG5jb25zdCBSb3RhdGVDdyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItcm90YXRlLWN3XCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIyMyA0IDIzIDEwIDE3IDEwXCI+PC9wb2x5bGluZT48cGF0aCBkPVwiTTIwLjQ5IDE1YTkgOSAwIDEgMS0yLjEyLTkuMzZMMjMgMTBcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IFNhdmUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXNhdmVcIj5cXG4gICAgPHBhdGggZD1cIk0xOSAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDExbDUgNXYxMWEyIDIgMCAwIDEtMiAyelwiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiMTcgMjEgMTcgMTMgNyAxMyA3IDIxXCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVwiNyAzIDcgOCAxNSA4XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgU2VhcmNoID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zZWFyY2hcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjExXCIgY3k9XCIxMVwiIHI9XCI4XCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIyMVwiIHkxPVwiMjFcIiB4Mj1cIjE2LjY1XCIgeTI9XCIxNi42NVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgU2VuZCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItc2VuZFwiPlxcbiAgICA8bGluZSB4MT1cIjIyXCIgeTE9XCIyXCIgeDI9XCIxMVwiIHkyPVwiMTNcIj48L2xpbmU+PHBvbHlnb24gcG9pbnRzPVwiMjIgMiAxNSAyMiAxMSAxMyAyIDkgMjIgMlwiPjwvcG9seWdvbj5cXG48L3N2Zz5gO1xuY29uc3QgU2V0dGluZ3MgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXNldHRpbmdzXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiM1wiPjwvY2lyY2xlPjxwYXRoIGQ9XCJNMTkuNCAxNWExLjY1IDEuNjUgMCAwIDAgLjMzIDEuODJsLjA2LjA2YTIgMiAwIDAgMSAwIDIuODMgMiAyIDAgMCAxLTIuODMgMGwtLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAtMS44Mi0uMzMgMS42NSAxLjY1IDAgMCAwLTEgMS41MVYyMWEyIDIgMCAwIDEtMiAyIDIgMiAwIDAgMS0yLTJ2LS4wOUExLjY1IDEuNjUgMCAwIDAgOSAxOS40YTEuNjUgMS42NSAwIDAgMC0xLjgyLjMzbC0uMDYuMDZhMiAyIDAgMCAxLTIuODMgMCAyIDIgMCAwIDEgMC0yLjgzbC4wNi0uMDZhMS42NSAxLjY1IDAgMCAwIC4zMy0xLjgyIDEuNjUgMS42NSAwIDAgMC0xLjUxLTFIM2EyIDIgMCAwIDEtMi0yIDIgMiAwIDAgMSAyLTJoLjA5QTEuNjUgMS42NSAwIDAgMCA0LjYgOWExLjY1IDEuNjUgMCAwIDAtLjMzLTEuODJsLS4wNi0uMDZhMiAyIDAgMCAxIDAtMi44MyAyIDIgMCAwIDEgMi44MyAwbC4wNi4wNmExLjY1IDEuNjUgMCAwIDAgMS44Mi4zM0g5YTEuNjUgMS42NSAwIDAgMCAxLTEuNTFWM2EyIDIgMCAwIDEgMi0yIDIgMiAwIDAgMSAyIDJ2LjA5YTEuNjUgMS42NSAwIDAgMCAxIDEuNTEgMS42NSAxLjY1IDAgMCAwIDEuODItLjMzbC4wNi0uMDZhMiAyIDAgMCAxIDIuODMgMCAyIDIgMCAwIDEgMCAyLjgzbC0uMDYuMDZhMS42NSAxLjY1IDAgMCAwLS4zMyAxLjgyVjlhMS42NSAxLjY1IDAgMCAwIDEuNTEgMUgyMWEyIDIgMCAwIDEgMiAyIDIgMiAwIDAgMS0yIDJoLS4wOWExLjY1IDEuNjUgMCAwIDAtMS41MSAxelwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgU2hhcmUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXNoYXJlXCI+XFxuICAgIDxwYXRoIGQ9XCJNNCAxMnY4YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtOFwiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiMTYgNiAxMiAyIDggNlwiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMlwiIHgyPVwiMTJcIiB5Mj1cIjE1XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBTaGllbGQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXNoaWVsZFwiPlxcbiAgICA8cGF0aCBkPVwiTTEyIDIyczgtNCA4LTEwVjVsLTgtMy04IDN2N2MwIDYgOCAxMCA4IDEwelwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgU2lkZWJhciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItc2lkZWJhclwiPlxcbiAgICA8cmVjdCB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgcng9XCIyXCIgcnk9XCIyXCI+PC9yZWN0PjxsaW5lIHgxPVwiOVwiIHkxPVwiM1wiIHgyPVwiOVwiIHkyPVwiMjFcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFNsYXNoID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zbGFzaFwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PGxpbmUgeDE9XCI0LjkzXCIgeTE9XCI0LjkzXCIgeDI9XCIxOS4wN1wiIHkyPVwiMTkuMDdcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFNsaWRlcnMgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItc2xpZGVyc1wiPjxwYXRoIGQ9XCJNNCAyMXYtN000IDEwVjNNMTIgMjF2LTlNMTIgOFYzTTIwIDIxdi01TTIwIDEyVjNNMSAxNGg2TTkgOGg2TTE3IDE2aDZcIi8+PC9zdmc+YDtcbmNvbnN0IFNtaWxlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zbWlsZVwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PHBhdGggZD1cIk04IDE0czEuNSAyIDQgMiA0LTIgNC0yXCI+PC9wYXRoPjxsaW5lIHgxPVwiOVwiIHkxPVwiOVwiIHgyPVwiOS4wMVwiIHkyPVwiOVwiPjwvbGluZT48bGluZSB4MT1cIjE1XCIgeTE9XCI5XCIgeDI9XCIxNS4wMVwiIHkyPVwiOVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgU3RhciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItc3RhclwiPlxcbiAgICA8cG9seWdvbiBwb2ludHM9XCIxMiAyIDE1LjA5IDguMjYgMjIgOS4yNyAxNyAxNC4xNCAxOC4xOCAyMS4wMiAxMiAxNy43NyA1LjgyIDIxLjAyIDcgMTQuMTQgMiA5LjI3IDguOTEgOC4yNiAxMiAyXCI+PC9wb2x5Z29uPlxcbjwvc3ZnPmA7XG5jb25zdCBTdW4gPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXN1blwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjVcIj48L2NpcmNsZT48bGluZSB4MT1cIjEyXCIgeTE9XCIxXCIgeDI9XCIxMlwiIHkyPVwiM1wiPjwvbGluZT48bGluZSB4MT1cIjEyXCIgeTE9XCIyMVwiIHgyPVwiMTJcIiB5Mj1cIjIzXCI+PC9saW5lPjxsaW5lIHgxPVwiNC4yMlwiIHkxPVwiNC4yMlwiIHgyPVwiNS42NFwiIHkyPVwiNS42NFwiPjwvbGluZT48bGluZSB4MT1cIjE4LjM2XCIgeTE9XCIxOC4zNlwiIHgyPVwiMTkuNzhcIiB5Mj1cIjE5Ljc4XCI+PC9saW5lPjxsaW5lIHgxPVwiMVwiIHkxPVwiMTJcIiB4Mj1cIjNcIiB5Mj1cIjEyXCI+PC9saW5lPjxsaW5lIHgxPVwiMjFcIiB5MT1cIjEyXCIgeDI9XCIyM1wiIHkyPVwiMTJcIj48L2xpbmU+PGxpbmUgeDE9XCI0LjIyXCIgeTE9XCIxOS43OFwiIHgyPVwiNS42NFwiIHkyPVwiMTguMzZcIj48L2xpbmU+PGxpbmUgeDE9XCIxOC4zNlwiIHkxPVwiNS42NFwiIHgyPVwiMTkuNzhcIiB5Mj1cIjQuMjJcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFN1cHBvcnRDaGF0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNOS4wOSA5YTMgMyAwIDAgMSA1LjgzIDFjMCAyLTMgMy0zIDNcIi8+PHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIGQ9XCJNMTIgMTZ2MVwiLz4gPHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xNC41NjIgMjAuNjNhOSA5IDAgMSAxIDMuNjY2LTIuMTMzIDUuMDE0IDUuMDE0IDAgMCAwIDIuMjcyIDIuODM0QTQuOTc3IDQuOTc3IDAgMCAxIDE4IDIyYTQuOTgzIDQuOTgzIDAgMCAxLTMuNDM4LTEuMzd6XCIvPjwvc3ZnPmA7XG5jb25zdCBUYWcgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXRhZ1wiPlxcbiAgICA8cGF0aCBkPVwiTTIwLjU5IDEzLjQxbC03LjE3IDcuMTdhMiAyIDAgMCAxLTIuODMgMEwyIDEyVjJoMTBsOC41OSA4LjU5YTIgMiAwIDAgMSAwIDIuODJ6XCI+PC9wYXRoPjxsaW5lIHgxPVwiN1wiIHkxPVwiN1wiIHgyPVwiNy4wMVwiIHkyPVwiN1wiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgVGFyZ2V0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci10YXJnZXRcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiNlwiPjwvY2lyY2xlPjxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMlwiPjwvY2lyY2xlPlxcbjwvc3ZnPmA7XG5jb25zdCBUcmFzaDIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXRyYXNoLTJcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjMgNiA1IDYgMjEgNlwiPjwvcG9seWxpbmU+PHBhdGggZD1cIk0xOSA2djE0YTIgMiAwIDAgMS0yIDJIN2EyIDIgMCAwIDEtMi0yVjZtMyAwVjRhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MlwiPjwvcGF0aD48bGluZSB4MT1cIjEwXCIgeTE9XCIxMVwiIHgyPVwiMTBcIiB5Mj1cIjE3XCI+PC9saW5lPjxsaW5lIHgxPVwiMTRcIiB5MT1cIjExXCIgeDI9XCIxNFwiIHkyPVwiMTdcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFRyZW5kaW5nRG93biA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItdHJlbmRpbmctZG93blwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMjMgMTggMTMuNSA4LjUgOC41IDEzLjUgMSA2XCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVwiMTcgMTggMjMgMTggMjMgMTJcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBUcmVuZGluZ1VwID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci10cmVuZGluZy11cFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMjMgNiAxMy41IDE1LjUgOC41IDEwLjUgMSAxOFwiPjwvcG9seWxpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjE3IDYgMjMgNiAyMyAxMlwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFVubG9jayA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItdW5sb2NrXCI+XFxuICAgIDxyZWN0IHg9XCIzXCIgeT1cIjExXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjExXCIgcng9XCIyXCIgcnk9XCIyXCI+PC9yZWN0PjxwYXRoIGQ9XCJNNyAxMVY3YTUgNSAwIDAgMSA5LjktMVwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgVXBsb2FkQ2xvdWQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXVwbG9hZC1jbG91ZFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMTYgMTYgMTIgMTIgOCAxNlwiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMTJcIiB4Mj1cIjEyXCIgeTI9XCIyMVwiPjwvbGluZT48cGF0aCBkPVwiTTIwLjM5IDE4LjM5QTUgNSAwIDAgMCAxOCA5aC0xLjI2QTggOCAwIDEgMCAzIDE2LjNcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjE2IDE2IDEyIDEyIDggMTZcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBVc2VyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci11c2VyXCI+XFxuICAgIDxwYXRoIGQ9XCJNMjAgMjF2LTJhNCA0IDAgMCAwLTQtNEg4YTQgNCAwIDAgMC00IDR2MlwiPjwvcGF0aD48Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjdcIiByPVwiNFwiPjwvY2lyY2xlPlxcbjwvc3ZnPmA7XG5jb25zdCBVc2VyQ2hlY2sgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXVzZXItY2hlY2tcIj5cXG4gICAgPHBhdGggZD1cIk0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDVhNCA0IDAgMCAwLTQgNHYyXCI+PC9wYXRoPjxjaXJjbGUgY3g9XCI4LjVcIiBjeT1cIjdcIiByPVwiNFwiPjwvY2lyY2xlPjxwb2x5bGluZSBwb2ludHM9XCIxNyAxMSAxOSAxMyAyMyA5XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgVXNlclBsdXMgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXVzZXItcGx1c1wiPlxcbiAgICA8cGF0aCBkPVwiTTE2IDIxdi0yYTQgNCAwIDAgMC00LTRINWE0IDQgMCAwIDAtNCA0djJcIj48L3BhdGg+PGNpcmNsZSBjeD1cIjguNVwiIGN5PVwiN1wiIHI9XCI0XCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIyMFwiIHkxPVwiOFwiIHgyPVwiMjBcIiB5Mj1cIjE0XCI+PC9saW5lPjxsaW5lIHgxPVwiMjNcIiB5MT1cIjExXCIgeDI9XCIxN1wiIHkyPVwiMTFcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFVzZXJzID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci11c2Vyc1wiPlxcbiAgICA8cGF0aCBkPVwiTTE3IDIxdi0yYTQgNCAwIDAgMC00LTRINWE0IDQgMCAwIDAtNCA0djJcIj48L3BhdGg+PGNpcmNsZSBjeD1cIjlcIiBjeT1cIjdcIiByPVwiNFwiPjwvY2lyY2xlPjxwYXRoIGQ9XCJNMjMgMjF2LTJhNCA0IDAgMCAwLTMtMy44N1wiPjwvcGF0aD48cGF0aCBkPVwiTTE2IDMuMTNhNCA0IDAgMCAxIDAgNy43NVwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgWCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXIteFwiPlxcbiAgICA8bGluZSB4MT1cIjE4XCIgeTE9XCI2XCIgeDI9XCI2XCIgeTI9XCIxOFwiPjwvbGluZT48bGluZSB4MT1cIjZcIiB5MT1cIjZcIiB4Mj1cIjE4XCIgeTI9XCIxOFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgWENpcmNsZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXIteC1jaXJjbGVcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxsaW5lIHgxPVwiMTVcIiB5MT1cIjlcIiB4Mj1cIjlcIiB5Mj1cIjE1XCI+PC9saW5lPjxsaW5lIHgxPVwiOVwiIHkxPVwiOVwiIHgyPVwiMTVcIiB5Mj1cIjE1XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBYU3F1YXJlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci14LXNxdWFyZVwiPlxcbiAgICA8cmVjdCB4PVwiM1wiIHk9XCIzXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgcng9XCIyXCIgcnk9XCIyXCI+PC9yZWN0PjxsaW5lIHgxPVwiOVwiIHkxPVwiOVwiIHgyPVwiMTVcIiB5Mj1cIjE1XCI+PC9saW5lPjxsaW5lIHgxPVwiMTVcIiB5MT1cIjlcIiB4Mj1cIjlcIiB5Mj1cIjE1XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBab29tSW4gPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXpvb20taW5cIj5cXG4gICAgPGNpcmNsZSBjeD1cIjExXCIgY3k9XCIxMVwiIHI9XCI4XCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIyMVwiIHkxPVwiMjFcIiB4Mj1cIjE2LjY1XCIgeTI9XCIxNi42NVwiPjwvbGluZT48bGluZSB4MT1cIjExXCIgeTE9XCI4XCIgeDI9XCIxMVwiIHkyPVwiMTRcIj48L2xpbmU+PGxpbmUgeDE9XCI4XCIgeTE9XCIxMVwiIHgyPVwiMTRcIiB5Mj1cIjExXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBab29tT3V0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci16b29tLW91dFwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTFcIiBjeT1cIjExXCIgcj1cIjhcIj48L2NpcmNsZT48bGluZSB4MT1cIjIxXCIgeTE9XCIyMVwiIHgyPVwiMTYuNjVcIiB5Mj1cIjE2LjY1XCI+PC9saW5lPjxsaW5lIHgxPVwiOFwiIHkxPVwiMTFcIiB4Mj1cIjE0XCIgeTI9XCIxMVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuXG5leHBvcnQgY29uc3QgaWNvbnMgPSB7XG4gIEFjdGl2aXR5LFxuICBBbGVydENpcmNsZSxcbiAgQWxlcnRPY3RhZ29uLFxuICBBbGVydFRyaWFuZ2xlLFxuICBBbGlnbkxlZnQsXG4gIEFuY2hvcixcbiAgQXJjaGl2ZSxcbiAgQXJyb3dEb3duLFxuICBBcnJvd0Rvd25MZWZ0LFxuICBBcnJvd0xlZnQsXG4gIEFycm93TGVmdENpcmNsZSxcbiAgQXJyb3dSaWdodCxcbiAgQXJyb3dVcCxcbiAgQXJyb3dVcFJpZ2h0LFxuICBBdFNpZ24sXG4gIEJhckNoYXJ0MixcbiAgQmVsbCxcbiAgQm9vayxcbiAgQm9va09wZW4sXG4gIEJyaWVmY2FzZSxcbiAgQ2FsZW5kYXIsXG4gIENoZWNrLFxuICBDaGVja0NpcmNsZSxcbiAgQ2hlY2tTcXVhcmUsXG4gIENoZXZyb25Eb3duLFxuICBDaGV2cm9uTGVmdCxcbiAgQ2hldnJvblJpZ2h0LFxuICBDaGV2cm9uc0xlZnQsXG4gIENoZXZyb25zUmlnaHQsXG4gIENoZXZyb25VcCxcbiAgQ2xpcGJvYXJkLFxuICBDbG9jayxcbiAgQ29mZmVlLFxuICBDb3B5LFxuICBDb3JuZXJMZWZ0VXAsXG4gIENyZWRpdENhcmQsXG4gIERvY3VtZW50cyxcbiAgRG9sbGFyU2lnbixcbiAgRG93bmxvYWQsXG4gIERvd25sb2FkQ2xvdWQsXG4gIEVkaXQsXG4gIEVkaXQyLFxuICBFeGNoYW5nZSxcbiAgRXh0ZXJuYWxMaW5rLFxuICBFeWUsXG4gIEV5ZU9mZixcbiAgRmlsZSxcbiAgRmlsZVBsdXMsXG4gIEZpbGVUZXh0LFxuICBGaWx0ZXIsXG4gIEZsYWcsXG4gIEZvbGRlcixcbiAgSGFzaCxcbiAgSGVhcnQsXG4gIEhlYXJ0QWN0aXZlLFxuICBIZWxwQ2lyY2xlLFxuICBIb21lLFxuICBJbmJveCxcbiAgSW5mbyxcbiAgS2V5LFxuICBMYXllcnMsXG4gIExpbmsyLFxuICBMaXN0LFxuICBMb2NrLFxuICBNYWlsLFxuICBNYXBQaW4sXG4gIE1heGltaXplLFxuICBNYXhpbWl6ZTIsXG4gIE1lbnUsXG4gIE1lc3NhZ2VDaXJjbGUsXG4gIE1pbmltaXplMixcbiAgTWludXMsXG4gIE1pbnVzQ2lyY2xlLFxuICBNb3JlSG9yaXpvbnRhbCxcbiAgTW9yZVZlcnRpY2FsLFxuICBQYXBlcmNsaXAsXG4gIFBlcmNlbnQsXG4gIFBob25lLFxuICBQaWVDaGFydCxcbiAgUGluQWN0aXZlLFxuICBQaW5JbmFjdGl2ZSxcbiAgUGxheUNpcmNsZSxcbiAgUGx1cyxcbiAgUGx1c0NpcmNsZSxcbiAgUG93ZXIsXG4gIFByaW50ZXIsXG4gIFJlZnJlc2hDdyxcbiAgUmVtaW5kZXIsXG4gIFJlb3JkZXIsXG4gIFJlb3JkZXIyLFxuICBSZXBseSxcbiAgUmVwbHlBbGwsXG4gIFJvdGF0ZUN3LFxuICBTYXZlLFxuICBTZWFyY2gsXG4gIFNlbmQsXG4gIFNldHRpbmdzLFxuICBTaGFyZSxcbiAgU2hpZWxkLFxuICBTaWRlYmFyLFxuICBTbGFzaCxcbiAgU2xpZGVycyxcbiAgU21pbGUsXG4gIFN0YXIsXG4gIFN1bixcbiAgU3VwcG9ydENoYXQsXG4gIFRhZyxcbiAgVGFyZ2V0LFxuICBUcmFzaDIsXG4gIFRyZW5kaW5nRG93bixcbiAgVHJlbmRpbmdVcCxcbiAgVW5sb2NrLFxuICBVcGxvYWRDbG91ZCxcbiAgVXNlcixcbiAgVXNlckNoZWNrLFxuICBVc2VyUGx1cyxcbiAgVXNlcnMsXG4gIFgsXG4gIFhDaXJjbGUsXG4gIFhTcXVhcmUsXG4gIFpvb21JbixcbiAgWm9vbU91dCxcbn07XG5cbmV4cG9ydCBjb25zdCBpY29uc01hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuZm9yIChjb25zdCBrZXkgaW4gaWNvbnMpIHtcbiAgaWNvbnNNYXBba2V5XSA9IGljb25zWzxrZXlvZiB0eXBlb2YgaWNvbnM+a2V5XTtcbn1cbiJdfQ==
|
|
253
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pY29uL2ljb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sUUFBUSxHQUFHLDJLQUEySyxDQUFDO0FBQzdMLE1BQU0sV0FBVyxHQUFHLHFQQUFxUCxDQUFDO0FBQzFRLE1BQU0sWUFBWSxHQUFHLGlUQUFpVCxDQUFDO0FBQ3ZVLE1BQU0sYUFBYSxHQUFHLHlUQUF5VCxDQUFDO0FBQ2hWLE1BQU0sU0FBUyxHQUFHLDZSQUE2UixDQUFDO0FBQ2hULE1BQU0sTUFBTSxHQUFHLDBPQUEwTyxDQUFDO0FBQzFQLE1BQU0sT0FBTyxHQUFHLDBQQUEwUCxDQUFDO0FBQzNRLE1BQU0sU0FBUyxHQUFHLDBNQUEwTSxDQUFDO0FBQzdOLE1BQU0sYUFBYSxHQUFHLDRNQUE0TSxDQUFDO0FBQ25PLE1BQU0sU0FBUyxHQUFHLHlNQUF5TSxDQUFDO0FBQzVOLE1BQU0sZUFBZSxHQUFHLHdQQUF3UCxDQUFDO0FBQ2pSLE1BQU0sVUFBVSxHQUFHLDJNQUEyTSxDQUFDO0FBQy9OLE1BQU0sT0FBTyxHQUFHLHVNQUF1TSxDQUFDO0FBQ3hOLE1BQU0sWUFBWSxHQUFHLDJNQUEyTSxDQUFDO0FBQ2pPLE1BQU0sTUFBTSxHQUFHLG1OQUFtTixDQUFDO0FBQ25PLE1BQU0sS0FBSyxHQUFHLCtQQUErUCxDQUFDO0FBQzlRLE1BQU0sU0FBUyxHQUFHLG9QQUFvUCxDQUFDO0FBQ3ZRLE1BQU0sSUFBSSxHQUFHLGtOQUFrTixDQUFDO0FBQ2hPLE1BQU0sSUFBSSxHQUFHLDBPQUEwTyxDQUFDO0FBQ3hQLE1BQU0sUUFBUSxHQUFHLG9PQUFvTyxDQUFDO0FBQ3RQLE1BQU0sU0FBUyxHQUFHLHdPQUF3TyxDQUFDO0FBQzNQLE1BQU0sUUFBUSxHQUFHLDJTQUEyUyxDQUFDO0FBQzdULE1BQU0sS0FBSyxHQUFHLHVKQUF1SixDQUFDO0FBQ3RLLE1B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LFFBQVE7SUFDUixLQUFLO0lBQ0wsQ0FBQztJQUNELE9BQU87SUFDUCxPQUFPO0lBQ1AsTUFBTTtJQUNOLE9BQU87Q0FDUixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUE4QixFQUFFLENBQUM7QUFDdEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLEVBQUU7SUFDdkIsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBcUIsR0FBRyxDQUFDLENBQUM7Q0FDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBBY3Rpdml0eSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYWN0aXZpdHlcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjIyIDEyIDE4IDEyIDE1IDIxIDkgMyA2IDEyIDIgMTJcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBbGVydENpcmNsZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYWxlcnQtY2lyY2xlXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIj48L2NpcmNsZT48bGluZSB4MT1cIjEyXCIgeTE9XCI4XCIgeDI9XCIxMlwiIHkyPVwiMTJcIj48L2xpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMTZcIiB4Mj1cIjEyLjAxXCIgeTI9XCIxNlwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQWxlcnRPY3RhZ29uID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hbGVydC1vY3RhZ29uXCI+XFxuICAgIDxwb2x5Z29uIHBvaW50cz1cIjcuODYgMiAxNi4xNCAyIDIyIDcuODYgMjIgMTYuMTQgMTYuMTQgMjIgNy44NiAyMiAyIDE2LjE0IDIgNy44NiA3Ljg2IDJcIj48L3BvbHlnb24+PGxpbmUgeDE9XCIxMlwiIHkxPVwiOFwiIHgyPVwiMTJcIiB5Mj1cIjEyXCI+PC9saW5lPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjE2XCIgeDI9XCIxMi4wMVwiIHkyPVwiMTZcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEFsZXJ0VHJpYW5nbGUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFsZXJ0LXRyaWFuZ2xlXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTAuMjkgMy44NkwxLjgyIDE4YTIgMiAwIDAgMCAxLjcxIDNoMTYuOTRhMiAyIDAgMCAwIDEuNzEtM0wxMy43MSAzLjg2YTIgMiAwIDAgMC0zLjQyIDB6XCI+PC9wYXRoPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjlcIiB4Mj1cIjEyXCIgeTI9XCIxM1wiPjwvbGluZT48bGluZSB4MT1cIjEyXCIgeTE9XCIxN1wiIHgyPVwiMTIuMDFcIiB5Mj1cIjE3XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBbGlnbkxlZnQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWFsaWduLWxlZnRcIj5cXG4gICAgPGxpbmUgeDE9XCIxN1wiIHkxPVwiMTBcIiB4Mj1cIjNcIiB5Mj1cIjEwXCI+PC9saW5lPjxsaW5lIHgxPVwiMjFcIiB5MT1cIjZcIiB4Mj1cIjNcIiB5Mj1cIjZcIj48L2xpbmU+PGxpbmUgeDE9XCIyMVwiIHkxPVwiMTRcIiB4Mj1cIjNcIiB5Mj1cIjE0XCI+PC9saW5lPjxsaW5lIHgxPVwiMTdcIiB5MT1cIjE4XCIgeDI9XCIzXCIgeTI9XCIxOFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQW5jaG9yID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hbmNob3JcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCI1XCIgcj1cIjNcIj48L2NpcmNsZT48bGluZSB4MT1cIjEyXCIgeTE9XCIyMlwiIHgyPVwiMTJcIiB5Mj1cIjhcIj48L2xpbmU+PHBhdGggZD1cIk01IDEySDJhMTAgMTAgMCAwIDAgMjAgMGgtM1wiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgQXJjaGl2ZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYXJjaGl2ZVwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMjEgOCAyMSAyMSAzIDIxIDMgOFwiPjwvcG9seWxpbmU+PHJlY3QgeD1cIjFcIiB5PVwiM1wiIHdpZHRoPVwiMjJcIiBoZWlnaHQ9XCI1XCI+PC9yZWN0PjxsaW5lIHgxPVwiMTBcIiB5MT1cIjEyXCIgeDI9XCIxNFwiIHkyPVwiMTJcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEFycm93RG93biA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYXJyb3ctZG93blwiPlxcbiAgICA8bGluZSB4MT1cIjEyXCIgeTE9XCI1XCIgeDI9XCIxMlwiIHkyPVwiMTlcIj48L2xpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjE5IDEyIDEyIDE5IDUgMTJcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBcnJvd0Rvd25MZWZ0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hcnJvdy1kb3duLWxlZnRcIj5cXG4gICAgPGxpbmUgeDE9XCIxN1wiIHkxPVwiN1wiIHgyPVwiN1wiIHkyPVwiMTdcIj48L2xpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjE3IDE3IDcgMTcgNyA3XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQXJyb3dMZWZ0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hcnJvdy1sZWZ0XCI+XFxuICAgIDxsaW5lIHgxPVwiMTlcIiB5MT1cIjEyXCIgeDI9XCI1XCIgeTI9XCIxMlwiPjwvbGluZT48cG9seWxpbmUgcG9pbnRzPVwiMTIgMTkgNSAxMiAxMiA1XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQXJyb3dMZWZ0Q2lyY2xlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hcnJvdy1sZWZ0LWNpcmNsZVwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PHBvbHlsaW5lIHBvaW50cz1cIjEyIDggOCAxMiAxMiAxNlwiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxNlwiIHkxPVwiMTJcIiB4Mj1cIjhcIiB5Mj1cIjEyXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBcnJvd1JpZ2h0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hcnJvdy1yaWdodFwiPlxcbiAgICA8bGluZSB4MT1cIjVcIiB5MT1cIjEyXCIgeDI9XCIxOVwiIHkyPVwiMTJcIj48L2xpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjEyIDUgMTkgMTIgMTIgMTlcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBBcnJvd1VwID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hcnJvdy11cFwiPlxcbiAgICA8bGluZSB4MT1cIjEyXCIgeTE9XCIxOVwiIHgyPVwiMTJcIiB5Mj1cIjVcIj48L2xpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjUgMTIgMTIgNSAxOSAxMlwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEFycm93VXBSaWdodCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYXJyb3ctdXAtcmlnaHRcIj5cXG4gICAgPGxpbmUgeDE9XCI3XCIgeTE9XCIxN1wiIHgyPVwiMTdcIiB5Mj1cIjdcIj48L2xpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjcgNyAxNyA3IDE3IDE3XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQXRTaWduID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1hdC1zaWduXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiNFwiPjwvY2lyY2xlPjxwYXRoIGQ9XCJNMTYgOHY1YTMgMyAwIDAgMCA2IDB2LTFhMTAgMTAgMCAxIDAtMy45MiA3Ljk0XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBBd2FyZCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWF3YXJkXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiOFwiIHI9XCI3XCIvPjxwYXRoIGQ9XCJNOC4yMSAxMy44OSA3IDIzbDUtMyA1IDMtMS4yMS05LjEyXCIvPjwvc3ZnPmA7XG5jb25zdCBCYXJDaGFydDIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWJhci1jaGFydC0yXCI+XFxuICAgIDxsaW5lIHgxPVwiMThcIiB5MT1cIjIwXCIgeDI9XCIxOFwiIHkyPVwiMTBcIj48L2xpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMjBcIiB4Mj1cIjEyXCIgeTI9XCI0XCI+PC9saW5lPjxsaW5lIHgxPVwiNlwiIHkxPVwiMjBcIiB4Mj1cIjZcIiB5Mj1cIjE0XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBCZWxsID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1iZWxsXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTggOEE2IDYgMCAwIDAgNiA4YzAgNy0zIDktMyA5aDE4cy0zLTItMy05XCI+PC9wYXRoPjxwYXRoIGQ9XCJNMTMuNzMgMjFhMiAyIDAgMCAxLTMuNDYgMFwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgQm9vayA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItYm9va1wiPlxcbiAgICA8cGF0aCBkPVwiTTQgMTkuNUEyLjUgMi41IDAgMCAxIDYuNSAxN0gyMFwiPjwvcGF0aD48cGF0aCBkPVwiTTYuNSAySDIwdjIwSDYuNUEyLjUgMi41IDAgMCAxIDQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMnpcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IEJvb2tPcGVuID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1ib29rLW9wZW5cIj5cXG4gICAgPHBhdGggZD1cIk0yIDNoNmE0IDQgMCAwIDEgNCA0djE0YTMgMyAwIDAgMC0zLTNIMnpcIj48L3BhdGg+PHBhdGggZD1cIk0yMiAzaC02YTQgNCAwIDAgMC00IDR2MTRhMyAzIDAgMCAxIDMtM2g3elwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgQnJpZWZjYXNlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1icmllZmNhc2VcIj5cXG4gICAgPHJlY3QgeD1cIjJcIiB5PVwiN1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIxNFwiIHJ4PVwiMlwiIHJ5PVwiMlwiPjwvcmVjdD48cGF0aCBkPVwiTTE2IDIxVjVhMiAyIDAgMCAwLTItMmgtNGEyIDIgMCAwIDAtMiAydjE2XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBDYWxlbmRhciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY2FsZW5kYXJcIj5cXG4gICAgPHJlY3QgeD1cIjNcIiB5PVwiNFwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHJ4PVwiMlwiIHJ5PVwiMlwiPjwvcmVjdD48bGluZSB4MT1cIjE2XCIgeTE9XCIyXCIgeDI9XCIxNlwiIHkyPVwiNlwiPjwvbGluZT48bGluZSB4MT1cIjhcIiB5MT1cIjJcIiB4Mj1cIjhcIiB5Mj1cIjZcIj48L2xpbmU+PGxpbmUgeDE9XCIzXCIgeTE9XCIxMFwiIHgyPVwiMjFcIiB5Mj1cIjEwXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBDaGVjayA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY2hlY2tcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjIwIDYgOSAxNyA0IDEyXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ2hlY2tDaXJjbGUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWNoZWNrLWNpcmNsZVwiPlxcbiAgICA8cGF0aCBkPVwiTTIyIDExLjA4VjEyYTEwIDEwIDAgMSAxLTUuOTMtOS4xNFwiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiMjIgNCAxMiAxNC4wMSA5IDExLjAxXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ2hlY2tTcXVhcmUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWNoZWNrLXNxdWFyZVwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiOSAxMSAxMiAxNCAyMiA0XCI+PC9wb2x5bGluZT48cGF0aCBkPVwiTTIxIDEydjdhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDExXCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBDaGV2cm9uRG93biA9IGA8c3ZnIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDI0IDI0XFxcIiBjbGFzcz1cXFwiZmVhdGhlciBmZWF0aGVyLWNoZXZyb24tZG93blxcXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XFxcIjYgOSAxMiAxNSAxOCA5XFxcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBDaGV2cm9uTGVmdCA9IGA8c3ZnIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDI0IDI0XFxcIiBjbGFzcz1cXFwiZmVhdGhlciBmZWF0aGVyLWNoZXZyb24tbGVmdFxcXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XFxcIjE1IDE4IDkgMTIgMTUgNlxcXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ2hldnJvblJpZ2h0ID0gYDxzdmcgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB2aWV3Qm94PVxcXCIwIDAgMjQgMjRcXFwiIGNsYXNzPVxcXCJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi1yaWdodFxcXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XFxcIjkgMTggMTUgMTIgOSA2XFxcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBDaGV2cm9uc0xlZnQgPSBgPHN2ZyB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHZpZXdCb3g9XFxcIjAgMCAyNCAyNFxcXCIgY2xhc3M9XFxcImZlYXRoZXIgZmVhdGhlci1jaGV2cm9ucy1sZWZ0XFxcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cXFwiMTEgMTcgNiAxMiAxMSA3XFxcIj48L3BvbHlsaW5lPjxwb2x5bGluZSBwb2ludHM9XFxcIjE4IDE3IDEzIDEyIDE4IDdcXFwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IENoZXZyb25zUmlnaHQgPSBgPHN2ZyB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHZpZXdCb3g9XFxcIjAgMCAyNCAyNFxcXCIgY2xhc3M9XFxcImZlYXRoZXIgZmVhdGhlci1jaGV2cm9ucy1yaWdodFxcXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XFxcIjEzIDE3IDE4IDEyIDEzIDdcXFwiPjwvcG9seWxpbmU+PHBvbHlsaW5lIHBvaW50cz1cXFwiNiAxNyAxMSAxMiA2IDdcXFwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IENoZXZyb25VcCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY2hldnJvbi11cFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMTggMTUgMTIgOSA2IDE1XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgQ2xpcGJvYXJkID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1jbGlwYm9hcmRcIj5cXG4gICAgPHBhdGggZD1cIk0xNiA0aDJhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMlwiPjwvcGF0aD48cmVjdCB4PVwiOFwiIHk9XCIyXCIgd2lkdGg9XCI4XCIgaGVpZ2h0PVwiNFwiIHJ4PVwiMVwiIHJ5PVwiMVwiPjwvcmVjdD5cXG48L3N2Zz5gO1xuY29uc3QgQ2xvY2sgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWNsb2NrXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIj48L2NpcmNsZT48cG9seWxpbmUgcG9pbnRzPVwiMTIgNiAxMiAxMiAxNiAxNFwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IENvZmZlZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY29mZmVlXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTggOGgxYTQgNCAwIDAgMSAwIDhoLTFcIj48L3BhdGg+PHBhdGggZD1cIk0yIDhoMTZ2OWE0IDQgMCAwIDEtNCA0SDZhNCA0IDAgMCAxLTQtNFY4elwiPjwvcGF0aD48bGluZSB4MT1cIjZcIiB5MT1cIjFcIiB4Mj1cIjZcIiB5Mj1cIjRcIj48L2xpbmU+PGxpbmUgeDE9XCIxMFwiIHkxPVwiMVwiIHgyPVwiMTBcIiB5Mj1cIjRcIj48L2xpbmU+PGxpbmUgeDE9XCIxNFwiIHkxPVwiMVwiIHgyPVwiMTRcIiB5Mj1cIjRcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IENvcHkgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWNvcHlcIj5cXG4gICAgPHJlY3QgeD1cIjlcIiB5PVwiOVwiIHdpZHRoPVwiMTNcIiBoZWlnaHQ9XCIxM1wiIHJ4PVwiMlwiIHJ5PVwiMlwiPjwvcmVjdD48cGF0aCBkPVwiTTUgMTVINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg5YTIgMiAwIDAgMSAyIDJ2MVwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgQ29ybmVyTGVmdFVwID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1jb3JuZXItbGVmdC11cFwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMTQgOSA5IDQgNCA5XCI+PC9wb2x5bGluZT48cGF0aCBkPVwiTTIwIDIwaC03YTQgNCAwIDAgMS00LTRWNFwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgQ3JlZGl0Q2FyZCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItY3JlZGl0LWNhcmRcIj5cXG4gICAgPHJlY3QgeD1cIjFcIiB5PVwiNFwiIHdpZHRoPVwiMjJcIiBoZWlnaHQ9XCIxNlwiIHJ4PVwiMlwiIHJ5PVwiMlwiPjwvcmVjdD48bGluZSB4MT1cIjFcIiB5MT1cIjEwXCIgeDI9XCIyM1wiIHkyPVwiMTBcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IERvY3VtZW50cyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiA+PHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk04Ljc1IDZjLS40NjQgMC0uOTEuMTY5LTEuMjM3LjQ2OUM3LjE4NCA2Ljc2OSA3IDcuMTc2IDcgNy42djEyLjhjMCAuNDI0LjE4NC44MzEuNTEzIDEuMTMxLjMyOC4zLjc3My40NjkgMS4yMzcuNDY5aDEwLjVjLjQ2NCAwIC45MS0uMTY5IDEuMjM3LS40NjkuMzI5LS4zLjUxMy0uNzA3LjUxMy0xLjEzMVY4YTIgMiAwIDAgMC0yLTJIOC43NXpcIiAvPiA8cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTcgMThINC43NWMtLjQ2NCAwLS45MS0uMTY5LTEuMjM3LS40NjlBMS41MzQgMS41MzQgMCAwIDEgMyAxNi40VjMuNmMwLS40MjQuMTg0LS44MzEuNTEzLTEuMTMxQzMuODQgMi4xNjkgNC4yODYgMiA0Ljc1IDJIMTVhMiAyIDAgMCAxIDIgMnYyTTE3IDE0aC02TTE3IDE4aC02TTEzIDEwaC0yXCIvPjwvc3ZnPmA7XG5jb25zdCBEb2xsYXJTaWduID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1kb2xsYXItc2lnblwiPlxcbiAgICA8bGluZSB4MT1cIjEyXCIgeTE9XCIxXCIgeDI9XCIxMlwiIHkyPVwiMjNcIj48L2xpbmU+PHBhdGggZD1cIk0xNyA1SDkuNWEzLjUgMy41IDAgMCAwIDAgN2g1YTMuNSAzLjUgMCAwIDEgMCA3SDZcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IERvd25sb2FkID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1kb3dubG9hZFwiPlxcbiAgICA8cGF0aCBkPVwiTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTRcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjcgMTAgMTIgMTUgMTcgMTBcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjE1XCIgeDI9XCIxMlwiIHkyPVwiM1wiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgRG93bmxvYWRDbG91ZCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZG93bmxvYWQtY2xvdWRcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjggMTcgMTIgMjEgMTYgMTdcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjEyXCIgeDI9XCIxMlwiIHkyPVwiMjFcIj48L2xpbmU+PHBhdGggZD1cIk0yMC44OCAxOC4wOUE1IDUgMCAwIDAgMTggOWgtMS4yNkE4IDggMCAxIDAgMyAxNi4yOVwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgRWRpdCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZWRpdFwiPlxcbiAgICA8cGF0aCBkPVwiTTExIDRINGEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDItMnYtN1wiPjwvcGF0aD48cGF0aCBkPVwiTTE4LjUgMi41YTIuMTIxIDIuMTIxIDAgMCAxIDMgM0wxMiAxNWwtNCAxIDEtNCA5LjUtOS41elwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgRWRpdDIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWVkaXQtMlwiPlxcbiAgICA8cGF0aCBkPVwiTTE3IDNhMi44MjggMi44MjggMCAxIDEgNCA0TDcuNSAyMC41IDIgMjJsMS41LTUuNUwxNyAzelwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgRXhjaGFuZ2UgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xNC41IDRsNCA0LTQgNE05IDIwbC00LTQgNC00TTMgOGgxNU02IDE2aDE1XCIvPjwvc3ZnPmA7XG5jb25zdCBFeHRlcm5hbExpbmsgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWV4dGVybmFsLWxpbmtcIj5cXG4gICAgPHBhdGggZD1cIk0xOCAxM3Y2YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmg2XCI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9XCIxNSAzIDIxIDMgMjEgOVwiPjwvcG9seWxpbmU+PGxpbmUgeDE9XCIxMFwiIHkxPVwiMTRcIiB4Mj1cIjIxXCIgeTI9XCIzXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBFeWUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWV5ZVwiPlxcbiAgICA8cGF0aCBkPVwiTTEgMTJzNC04IDExLTggMTEgOCAxMSA4LTQgOC0xMSA4LTExLTgtMTEtOHpcIj48L3BhdGg+PGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIzXCI+PC9jaXJjbGU+XFxuPC9zdmc+YDtcbmNvbnN0IEV5ZU9mZiA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZXllLW9mZlwiPlxcbiAgICA8cGF0aCBkPVwiTTE3Ljk0IDE3Ljk0QTEwLjA3IDEwLjA3IDAgMCAxIDEyIDIwYy03IDAtMTEtOC0xMS04YTE4LjQ1IDE4LjQ1IDAgMCAxIDUuMDYtNS45NE05LjkgNC4yNEE5LjEyIDkuMTIgMCAwIDEgMTIgNGM3IDAgMTEgOCAxMSA4YTE4LjUgMTguNSAwIDAgMS0yLjE2IDMuMTltLTYuNzItMS4wN2EzIDMgMCAxIDEtNC4yNC00LjI0XCI+PC9wYXRoPjxsaW5lIHgxPVwiMVwiIHkxPVwiMVwiIHgyPVwiMjNcIiB5Mj1cIjIzXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBGaWxlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1maWxlXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTMgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjl6XCI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9XCIxMyAyIDEzIDkgMjAgOVwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEZpbGVQbHVzID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1maWxlLXBsdXNcIj5cXG4gICAgPHBhdGggZD1cIk0xNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOHpcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjE0IDIgMTQgOCAyMCA4XCI+PC9wb2x5bGluZT48bGluZSB4MT1cIjEyXCIgeTE9XCIxOFwiIHgyPVwiMTJcIiB5Mj1cIjEyXCI+PC9saW5lPjxsaW5lIHgxPVwiOVwiIHkxPVwiMTVcIiB4Mj1cIjE1XCIgeTI9XCIxNVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgRmlsZVRleHQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWZpbGUtdGV4dFwiPlxcbiAgICA8cGF0aCBkPVwiTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4elwiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPVwiMTQgMiAxNCA4IDIwIDhcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMTZcIiB5MT1cIjEzXCIgeDI9XCI4XCIgeTI9XCIxM1wiPjwvbGluZT48bGluZSB4MT1cIjE2XCIgeTE9XCIxN1wiIHgyPVwiOFwiIHkyPVwiMTdcIj48L2xpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjEwIDkgOSA5IDggOVwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEZpbHRlciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItZmlsdGVyXCI+XFxuICAgIDxwb2x5Z29uIHBvaW50cz1cIjIyIDMgMiAzIDEwIDEyLjQ2IDEwIDE5IDE0IDIxIDE0IDEyLjQ2IDIyIDNcIj48L3BvbHlnb24+XFxuPC9zdmc+YDtcbmNvbnN0IEZsYWcgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWZsYWdcIj5cXG4gICAgPHBhdGggZD1cIk00IDE1czEtMSA0LTEgNSAyIDggMiA0LTEgNC0xVjNzLTEgMS00IDEtNS0yLTgtMi00IDEtNCAxelwiPjwvcGF0aD48bGluZSB4MT1cIjRcIiB5MT1cIjIyXCIgeDI9XCI0XCIgeTI9XCIxNVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgRm9sZGVyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1mb2xkZXJcIj5cXG4gICAgPHBhdGggZD1cIk0yMiAxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNWwyIDNoOWEyIDIgMCAwIDEgMiAyelwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgSGFzaCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItaGFzaFwiPlxcbiAgICA8bGluZSB4MT1cIjRcIiB5MT1cIjlcIiB4Mj1cIjIwXCIgeTI9XCI5XCI+PC9saW5lPjxsaW5lIHgxPVwiNFwiIHkxPVwiMTVcIiB4Mj1cIjIwXCIgeTI9XCIxNVwiPjwvbGluZT48bGluZSB4MT1cIjEwXCIgeTE9XCIzXCIgeDI9XCI4XCIgeTI9XCIyMVwiPjwvbGluZT48bGluZSB4MT1cIjE2XCIgeTE9XCIzXCIgeDI9XCIxNFwiIHkyPVwiMjFcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEhlYXJ0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWhlYXJ0XCI+PHBhdGggZD1cIk0yMC44NCA0LjYxYTUuNSA1LjUgMCAwIDAtNy43OCAwTDEyIDUuNjdsLTEuMDYtMS4wNmE1LjUgNS41IDAgMCAwLTcuNzggNy43OGwxLjA2IDEuMDZMMTIgMjEuMjNsNy43OC03Ljc4IDEuMDYtMS4wNmE1LjUgNS41IDAgMCAwIDAtNy43OHpcIj48L3BhdGg+PC9zdmc+YDtcbmNvbnN0IEhlYXJ0QWN0aXZlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWhlYXJ0XCI+PHBhdGggZmlsbD1cImN1cnJlbnRDb2xvclwiIGQ9XCJNMjAuODQgNC42MWE1LjUgNS41IDAgMCAwLTcuNzggMEwxMiA1LjY3bC0xLjA2LTEuMDZhNS41IDUuNSAwIDAgMC03Ljc4IDcuNzhsMS4wNiAxLjA2TDEyIDIxLjIzbDcuNzgtNy43OCAxLjA2LTEuMDZhNS41IDUuNSAwIDAgMCAwLTcuNzh6XCI+PC9wYXRoPjwvc3ZnPmA7XG5jb25zdCBIZWxwQ2lyY2xlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1oZWxwLWNpcmNsZVwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjEwXCI+PC9jaXJjbGU+PHBhdGggZD1cIk05LjA5IDlhMyAzIDAgMCAxIDUuODMgMWMwIDItMyAzLTMgM1wiPjwvcGF0aD48bGluZSB4MT1cIjEyXCIgeTE9XCIxN1wiIHgyPVwiMTIuMDFcIiB5Mj1cIjE3XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBIb21lID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1ob21lXCI+XFxuICAgIDxwYXRoIGQ9XCJNMyA5bDktNyA5IDd2MTFhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6XCI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9XCI5IDIyIDkgMTIgMTUgMTIgMTUgMjJcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBJbmJveCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItaW5ib3hcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjIyIDEyIDE2IDEyIDE0IDE1IDEwIDE1IDggMTIgMiAxMlwiPjwvcG9seWxpbmU+PHBhdGggZD1cIk01LjQ1IDUuMTFMMiAxMnY2YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNmwtMy40NS02Ljg5QTIgMiAwIDAgMCAxNi43NiA0SDcuMjRhMiAyIDAgMCAwLTEuNzkgMS4xMXpcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IEluZm8gPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWluZm9cIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjE2XCIgeDI9XCIxMlwiIHkyPVwiMTJcIj48L2xpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiOFwiIHgyPVwiMTIuMDFcIiB5Mj1cIjhcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IEtleSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXIta2V5XCI+XFxuICAgIDxwYXRoIGQ9XCJNMjEgMmwtMiAybS03LjYxIDcuNjFhNS41IDUuNSAwIDEgMS03Ljc3OCA3Ljc3OCA1LjUgNS41IDAgMCAxIDcuNzc3LTcuNzc3em0wIDBMMTUuNSA3LjVtMCAwbDMgM0wyMiA3bC0zLTNtLTMuNSAzLjVMMTkgNFwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgTGF5ZXJzID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1sYXllcnNcIj5cXG4gICAgPHBvbHlnb24gcG9pbnRzPVwiMTIgMiAyIDcgMTIgMTIgMjIgNyAxMiAyXCI+PC9wb2x5Z29uPjxwb2x5bGluZSBwb2ludHM9XCIyIDE3IDEyIDIyIDIyIDE3XCI+PC9wb2x5bGluZT48cG9seWxpbmUgcG9pbnRzPVwiMiAxMiAxMiAxNyAyMiAxMlwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IExpbmsyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1saW5rLTJcIj5cXG4gICAgPHBhdGggZD1cIk0xNSA3aDNhNSA1IDAgMCAxIDUgNSA1IDUgMCAwIDEtNSA1aC0zbS02IDBINmE1IDUgMCAwIDEtNS01IDUgNSAwIDAgMSA1LTVoM1wiPjwvcGF0aD48bGluZSB4MT1cIjhcIiB5MT1cIjEyXCIgeDI9XCIxNlwiIHkyPVwiMTJcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IExpc3QgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLWxpc3RcIj5cXG4gICAgPGxpbmUgeDE9XCI4XCIgeTE9XCI2XCIgeDI9XCIyMVwiIHkyPVwiNlwiPjwvbGluZT48bGluZSB4MT1cIjhcIiB5MT1cIjEyXCIgeDI9XCIyMVwiIHkyPVwiMTJcIj48L2xpbmU+PGxpbmUgeDE9XCI4XCIgeTE9XCIxOFwiIHgyPVwiMjFcIiB5Mj1cIjE4XCI+PC9saW5lPjxsaW5lIHgxPVwiM1wiIHkxPVwiNlwiIHgyPVwiMy4wMVwiIHkyPVwiNlwiPjwvbGluZT48bGluZSB4MT1cIjNcIiB5MT1cIjEyXCIgeDI9XCIzLjAxXCIgeTI9XCIxMlwiPjwvbGluZT48bGluZSB4MT1cIjNcIiB5MT1cIjE4XCIgeDI9XCIzLjAxXCIgeTI9XCIxOFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTG9jayA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItbG9ja1wiPlxcbiAgICA8cmVjdCB4PVwiM1wiIHk9XCIxMVwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxMVwiIHJ4PVwiMlwiIHJ5PVwiMlwiPjwvcmVjdD48cGF0aCBkPVwiTTcgMTFWN2E1IDUgMCAwIDEgMTAgMHY0XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBNYWlsID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1tYWlsXCI+XFxuICAgIDxwYXRoIGQ9XCJNNCA0aDE2YzEuMSAwIDIgLjkgMiAydjEyYzAgMS4xLS45IDItMiAySDRjLTEuMSAwLTItLjktMi0yVjZjMC0xLjEuOS0yIDItMnpcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjIyLDYgMTIsMTMgMiw2XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTWFwUGluID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1tYXAtcGluXCI+XFxuICAgIDxwYXRoIGQ9XCJNMjEgMTBjMCA3LTkgMTMtOSAxM3MtOS02LTktMTNhOSA5IDAgMCAxIDE4IDB6XCI+PC9wYXRoPjxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTBcIiByPVwiM1wiPjwvY2lyY2xlPlxcbjwvc3ZnPmA7XG5jb25zdCBNYXhpbWl6ZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItbWF4aW1pemVcIj5cXG4gICAgPHBhdGggZD1cIk04IDNINWEyIDIgMCAwIDAtMiAydjNtMTggMFY1YTIgMiAwIDAgMC0yLTJoLTNtMCAxOGgzYTIgMiAwIDAgMCAyLTJ2LTNNMyAxNnYzYTIgMiAwIDAgMCAyIDJoM1wiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgTWF4aW1pemUyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1tYXhpbWl6ZS0yXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIxNSAzIDIxIDMgMjEgOVwiPjwvcG9seWxpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjkgMjEgMyAyMSAzIDE1XCI+PC9wb2x5bGluZT48bGluZSB4MT1cIjIxXCIgeTE9XCIzXCIgeDI9XCIxNFwiIHkyPVwiMTBcIj48L2xpbmU+PGxpbmUgeDE9XCIzXCIgeTE9XCIyMVwiIHgyPVwiMTBcIiB5Mj1cIjE0XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBNZW51ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1tZW51XCI+XFxuICAgIDxsaW5lIHgxPVwiM1wiIHkxPVwiMTJcIiB4Mj1cIjIxXCIgeTI9XCIxMlwiPjwvbGluZT48bGluZSB4MT1cIjNcIiB5MT1cIjZcIiB4Mj1cIjIxXCIgeTI9XCI2XCI+PC9saW5lPjxsaW5lIHgxPVwiM1wiIHkxPVwiMThcIiB4Mj1cIjIxXCIgeTI9XCIxOFwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTWVzc2FnZUNpcmNsZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItbWVzc2FnZS1jaXJjbGVcIj5cXG4gICAgPHBhdGggZD1cIk0yMSAxMS41YTguMzggOC4zOCAwIDAgMS0uOSAzLjggOC41IDguNSAwIDAgMS03LjYgNC43IDguMzggOC4zOCAwIDAgMS0zLjgtLjlMMyAyMWwxLjktNS43YTguMzggOC4zOCAwIDAgMS0uOS0zLjggOC41IDguNSAwIDAgMSA0LjctNy42IDguMzggOC4zOCAwIDAgMSAzLjgtLjloLjVhOC40OCA4LjQ4IDAgMCAxIDggOHYuNXpcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IE1pbmltaXplMiA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItbWluaW1pemUtMlwiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiNCAxNCAxMCAxNCAxMCAyMFwiPjwvcG9seWxpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjIwIDEwIDE0IDEwIDE0IDRcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMTRcIiB5MT1cIjEwXCIgeDI9XCIyMVwiIHkyPVwiM1wiPjwvbGluZT48bGluZSB4MT1cIjNcIiB5MT1cIjIxXCIgeDI9XCIxMFwiIHkyPVwiMTRcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IE1pbnVzID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1taW51c1wiPlxcbiAgICA8bGluZSB4MT1cIjVcIiB5MT1cIjEyXCIgeDI9XCIxOVwiIHkyPVwiMTJcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IE1pbnVzQ2lyY2xlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1taW51cy1jaXJjbGVcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxsaW5lIHgxPVwiOFwiIHkxPVwiMTJcIiB4Mj1cIjE2XCIgeTI9XCIxMlwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgTW9yZUhvcml6b250YWwgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1vcmUtaG9yaXpvbnRhbFwiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjFcIj48L2NpcmNsZT48Y2lyY2xlIGN4PVwiMTlcIiBjeT1cIjEyXCIgcj1cIjFcIj48L2NpcmNsZT48Y2lyY2xlIGN4PVwiNVwiIGN5PVwiMTJcIiByPVwiMVwiPjwvY2lyY2xlPlxcbjwvc3ZnPmA7XG5jb25zdCBNb3JlVmVydGljYWwgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLW1vcmUtdmVydGljYWxcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxXCI+PC9jaXJjbGU+PGNpcmNsZSBjeD1cIjEyXCIgY3k9XCI1XCIgcj1cIjFcIj48L2NpcmNsZT48Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjE5XCIgcj1cIjFcIj48L2NpcmNsZT5cXG48L3N2Zz5gO1xuY29uc3QgUGFwZXJjbGlwID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1wYXBlcmNsaXBcIj5cXG4gICAgPHBhdGggZD1cIk0yMS40NCAxMS4wNWwtOS4xOSA5LjE5YTYgNiAwIDAgMS04LjQ5LTguNDlsOS4xOS05LjE5YTQgNCAwIDAgMSA1LjY2IDUuNjZsLTkuMiA5LjE5YTIgMiAwIDAgMS0yLjgzLTIuODNsOC40OS04LjQ4XCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBQZXJjZW50ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1wZXJjZW50XCI+XFxuICAgIDxsaW5lIHgxPVwiMTlcIiB5MT1cIjVcIiB4Mj1cIjVcIiB5Mj1cIjE5XCI+PC9saW5lPjxjaXJjbGUgY3g9XCI2LjVcIiBjeT1cIjYuNVwiIHI9XCIyLjVcIj48L2NpcmNsZT48Y2lyY2xlIGN4PVwiMTcuNVwiIGN5PVwiMTcuNVwiIHI9XCIyLjVcIj48L2NpcmNsZT5cXG48L3N2Zz5gO1xuY29uc3QgUGhvbmUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXBob25lXCI+XFxuICAgIDxwYXRoIGQ9XCJNMjIgMTYuOTJ2M2EyIDIgMCAwIDEtMi4xOCAyIDE5Ljc5IDE5Ljc5IDAgMCAxLTguNjMtMy4wNyAxOS41IDE5LjUgMCAwIDEtNi02IDE5Ljc5IDE5Ljc5IDAgMCAxLTMuMDctOC42N0EyIDIgMCAwIDEgNC4xMSAyaDNhMiAyIDAgMCAxIDIgMS43MiAxMi44NCAxMi44NCAwIDAgMCAuNyAyLjgxIDIgMiAwIDAgMS0uNDUgMi4xMUw4LjA5IDkuOTFhMTYgMTYgMCAwIDAgNiA2bDEuMjctMS4yN2EyIDIgMCAwIDEgMi4xMS0uNDUgMTIuODQgMTIuODQgMCAwIDAgMi44MS43QTIgMiAwIDAgMSAyMiAxNi45MnpcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IFBpZUNoYXJ0ID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1waWUtY2hhcnRcIj5cXG4gICAgPHBhdGggZD1cIk0yMS4yMSAxNS44OUExMCAxMCAwIDEgMSA4IDIuODNcIj48L3BhdGg+PHBhdGggZD1cIk0yMiAxMkExMCAxMCAwIDAgMCAxMiAydjEwelwiPjwvcGF0aD5cXG48L3N2Zz5gO1xuY29uc3QgUGluQWN0aXZlID0gYDxzdmcgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMTIgMTVMMTIgMjNcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk02IDFIMThMMTUgNEwxNiAxMi41TDIwIDE1SDRMOCAxMi41TDkgNEw2IDFaXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz5gO1xuY29uc3QgUGluSW5hY3RpdmUgPSBgPHN2ZyB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMiAxNUwxMiAyM1wiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTYgMUgxOEwxNSA0TDE2IDEyLjVMMjAgMTVINEw4IDEyLjVMOSA0TDYgMVpcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+YDtcbmNvbnN0IFBsYXlDaXJjbGUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXBsYXktY2lyY2xlXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIj48L2NpcmNsZT48cG9seWdvbiBwb2ludHM9XCIxMCA4IDE2IDEyIDEwIDE2IDEwIDhcIj48L3BvbHlnb24+XFxuPC9zdmc+YDtcbmNvbnN0IFBsdXMgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXBsdXNcIj5cXG4gICAgPGxpbmUgeDE9XCIxMlwiIHkxPVwiNVwiIHgyPVwiMTJcIiB5Mj1cIjE5XCI+PC9saW5lPjxsaW5lIHgxPVwiNVwiIHkxPVwiMTJcIiB4Mj1cIjE5XCIgeTI9XCIxMlwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgUGx1c0NpcmNsZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItcGx1cy1jaXJjbGVcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjhcIiB4Mj1cIjEyXCIgeTI9XCIxNlwiPjwvbGluZT48bGluZSB4MT1cIjhcIiB5MT1cIjEyXCIgeDI9XCIxNlwiIHkyPVwiMTJcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFBvd2VyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1wb3dlclwiPlxcbiAgICA8cGF0aCBkPVwiTTE4LjM2IDYuNjRhOSA5IDAgMSAxLTEyLjczIDBcIj48L3BhdGg+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMlwiIHgyPVwiMTJcIiB5Mj1cIjEyXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBQcmludGVyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1wcmludGVyXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCI2IDkgNiAyIDE4IDIgMTggOVwiPjwvcG9seWxpbmU+PHBhdGggZD1cIk02IDE4SDRhMiAyIDAgMCAxLTItMnYtNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2NWEyIDIgMCAwIDEtMiAyaC0yXCI+PC9wYXRoPjxyZWN0IHg9XCI2XCIgeT1cIjE0XCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjhcIj48L3JlY3Q+XFxuPC9zdmc+YDtcbmNvbnN0IFJlZnJlc2hDdyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItcmVmcmVzaC1jd1wiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMjMgNCAyMyAxMCAxNyAxMFwiPjwvcG9seWxpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjEgMjAgMSAxNCA3IDE0XCI+PC9wb2x5bGluZT48cGF0aCBkPVwiTTMuNTEgOWE5IDkgMCAwIDEgMTQuODUtMy4zNkwyMyAxME0xIDE0bDQuNjQgNC4zNkE5IDkgMCAwIDAgMjAuNDkgMTVcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IFJlbWluZGVyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJub25lXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTguMzc1IDEyVjUuMjVjMC0uOTY2NS0uNzgzNS0xLjc1LTEuNzUtMS43NUg0LjM3NWMtLjk2NjUgMC0xLjc1Ljc4MzUtMS43NSAxLjc1VjE3LjVjMCAuOTY2NS43ODM1IDEuNzUgMS43NSAxLjc1SDEyTTE0IDEuNzV2My41TTcgMS43NXYzLjVNMi42MjUgOC43NWgxNS43NVwiLz48cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTE3LjUgMjIuOTE5M2MyLjk5MTUgMCA1LjQxNjYtMi40MjUyIDUuNDE2Ni01LjQxNjdzLTIuNDI1MS01LjQxNjctNS40MTY2LTUuNDE2N2MtMi45OTE2IDAtNS40MTY3IDIuNDI1Mi01LjQxNjcgNS40MTY3czIuNDI1MSA1LjQxNjcgNS40MTY3IDUuNDE2N1pcIi8+PHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xNy41IDE0LjI1djMuMjVsMi4xNjY3IDEuMDgzM1wiLz48L3N2Zz5gO1xuY29uc3QgUmVvcmRlciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj4gPHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0wLDkgbDI0LDBcIi8+PHBhdGggc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0wLDE1IGwyNCwwXCIvPjwvc3ZnPmA7XG5jb25zdCBSZW9yZGVyMiA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiBmaWxsPVwibm9uZVwiPjxwYXRoIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBkPVwiTTggNWgzdjNIOHpNOCAxMWgzdjNIOHpNOCAxN2gzdjNIOHpNMTMgNWgzdjNoLTN6TTEzIDExaDN2M2gtM3pNMTMgMTdoM3YzaC0zelwiLz48L3N2Zz5gO1xuY29uc3QgUmVwbHkgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+IDxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNOSAxN2wtNS01IDUtNVwiLz48cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTIwIDE3di0xYTQgNCAwIDAgMC00LTRINFwiLz48L3N2Zz5gO1xuY29uc3QgUmVwbHlBbGwgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cIm5vbmVcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+IDxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTEgMTdsLTUtNSA1LTVcIi8+IDxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNNyAxN2wtNS01IDUtNVwiLz48cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTIyIDE3di0xYTQgNCAwIDAgMC00LTRINlwiLz48L3N2Zz5gO1xuY29uc3QgUm90YXRlQ3cgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXJvdGF0ZS1jd1wiPlxcbiAgICA8cG9seWxpbmUgcG9pbnRzPVwiMjMgNCAyMyAxMCAxNyAxMFwiPjwvcG9seWxpbmU+PHBhdGggZD1cIk0yMC40OSAxNWE5IDkgMCAxIDEtMi4xMi05LjM2TDIzIDEwXCI+PC9wYXRoPlxcbjwvc3ZnPmA7XG5jb25zdCBTYXZlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zYXZlXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTkgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxMWw1IDV2MTFhMiAyIDAgMCAxLTIgMnpcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjE3IDIxIDE3IDEzIDcgMTMgNyAyMVwiPjwvcG9seWxpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjcgMyA3IDggMTUgOFwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFNlYXJjaCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItc2VhcmNoXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMVwiIGN5PVwiMTFcIiByPVwiOFwiPjwvY2lyY2xlPjxsaW5lIHgxPVwiMjFcIiB5MT1cIjIxXCIgeDI9XCIxNi42NVwiIHkyPVwiMTYuNjVcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFNlbmQgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXNlbmRcIj5cXG4gICAgPGxpbmUgeDE9XCIyMlwiIHkxPVwiMlwiIHgyPVwiMTFcIiB5Mj1cIjEzXCI+PC9saW5lPjxwb2x5Z29uIHBvaW50cz1cIjIyIDIgMTUgMjIgMTEgMTMgMiA5IDIyIDJcIj48L3BvbHlnb24+XFxuPC9zdmc+YDtcbmNvbnN0IFNldHRpbmdzID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zZXR0aW5nc1wiPlxcbiAgICA8Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjNcIj48L2NpcmNsZT48cGF0aCBkPVwiTTE5LjQgMTVhMS42NSAxLjY1IDAgMCAwIC4zMyAxLjgybC4wNi4wNmEyIDIgMCAwIDEgMCAyLjgzIDIgMiAwIDAgMS0yLjgzIDBsLS4wNi0uMDZhMS42NSAxLjY1IDAgMCAwLTEuODItLjMzIDEuNjUgMS42NSAwIDAgMC0xIDEuNTFWMjFhMiAyIDAgMCAxLTIgMiAyIDIgMCAwIDEtMi0ydi0uMDlBMS42NSAxLjY1IDAgMCAwIDkgMTkuNGExLjY1IDEuNjUgMCAwIDAtMS44Mi4zM2wtLjA2LjA2YTIgMiAwIDAgMS0yLjgzIDAgMiAyIDAgMCAxIDAtMi44M2wuMDYtLjA2YTEuNjUgMS42NSAwIDAgMCAuMzMtMS44MiAxLjY1IDEuNjUgMCAwIDAtMS41MS0xSDNhMiAyIDAgMCAxLTItMiAyIDIgMCAwIDEgMi0yaC4wOUExLjY1IDEuNjUgMCAwIDAgNC42IDlhMS42NSAxLjY1IDAgMCAwLS4zMy0xLjgybC0uMDYtLjA2YTIgMiAwIDAgMSAwLTIuODMgMiAyIDAgMCAxIDIuODMgMGwuMDYuMDZhMS42NSAxLjY1IDAgMCAwIDEuODIuMzNIOWExLjY1IDEuNjUgMCAwIDAgMS0xLjUxVjNhMiAyIDAgMCAxIDItMiAyIDIgMCAwIDEgMiAydi4wOWExLjY1IDEuNjUgMCAwIDAgMSAxLjUxIDEuNjUgMS42NSAwIDAgMCAxLjgyLS4zM2wuMDYtLjA2YTIgMiAwIDAgMSAyLjgzIDAgMiAyIDAgMCAxIDAgMi44M2wtLjA2LjA2YTEuNjUgMS42NSAwIDAgMC0uMzMgMS44MlY5YTEuNjUgMS42NSAwIDAgMCAxLjUxIDFIMjFhMiAyIDAgMCAxIDIgMiAyIDIgMCAwIDEtMiAyaC0uMDlhMS42NSAxLjY1IDAgMCAwLTEuNTEgMXpcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IFNoYXJlID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zaGFyZVwiPlxcbiAgICA8cGF0aCBkPVwiTTQgMTJ2OGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LThcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjE2IDYgMTIgMiA4IDZcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjJcIiB4Mj1cIjEyXCIgeTI9XCIxNVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgU2hpZWxkID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zaGllbGRcIj5cXG4gICAgPHBhdGggZD1cIk0xMiAyMnM4LTQgOC0xMFY1bC04LTMtOCAzdjdjMCA2IDggMTAgOCAxMHpcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IFNpZGViYXIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXNpZGViYXJcIj5cXG4gICAgPHJlY3QgeD1cIjNcIiB5PVwiM1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHJ4PVwiMlwiIHJ5PVwiMlwiPjwvcmVjdD48bGluZSB4MT1cIjlcIiB5MT1cIjNcIiB4Mj1cIjlcIiB5Mj1cIjIxXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBTbGFzaCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItc2xhc2hcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxsaW5lIHgxPVwiNC45M1wiIHkxPVwiNC45M1wiIHgyPVwiMTkuMDdcIiB5Mj1cIjE5LjA3XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBTbGlkZXJzID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXNsaWRlcnNcIj48cGF0aCBkPVwiTTQgMjF2LTdNNCAxMFYzTTEyIDIxdi05TTEyIDhWM00yMCAyMXYtNU0yMCAxMlYzTTEgMTRoNk05IDhoNk0xNyAxNmg2XCIvPjwvc3ZnPmA7XG5jb25zdCBTbWlsZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItc21pbGVcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIxMFwiPjwvY2lyY2xlPjxwYXRoIGQ9XCJNOCAxNHMxLjUgMiA0IDIgNC0yIDQtMlwiPjwvcGF0aD48bGluZSB4MT1cIjlcIiB5MT1cIjlcIiB4Mj1cIjkuMDFcIiB5Mj1cIjlcIj48L2xpbmU+PGxpbmUgeDE9XCIxNVwiIHkxPVwiOVwiIHgyPVwiMTUuMDFcIiB5Mj1cIjlcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFN0YXIgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXN0YXJcIj5cXG4gICAgPHBvbHlnb24gcG9pbnRzPVwiMTIgMiAxNS4wOSA4LjI2IDIyIDkuMjcgMTcgMTQuMTQgMTguMTggMjEuMDIgMTIgMTcuNzcgNS44MiAyMS4wMiA3IDE0LjE0IDIgOS4yNyA4LjkxIDguMjYgMTIgMlwiPjwvcG9seWdvbj5cXG48L3N2Zz5gO1xuY29uc3QgU3VuID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1zdW5cIj5cXG4gICAgPGNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCI1XCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMVwiIHgyPVwiMTJcIiB5Mj1cIjNcIj48L2xpbmU+PGxpbmUgeDE9XCIxMlwiIHkxPVwiMjFcIiB4Mj1cIjEyXCIgeTI9XCIyM1wiPjwvbGluZT48bGluZSB4MT1cIjQuMjJcIiB5MT1cIjQuMjJcIiB4Mj1cIjUuNjRcIiB5Mj1cIjUuNjRcIj48L2xpbmU+PGxpbmUgeDE9XCIxOC4zNlwiIHkxPVwiMTguMzZcIiB4Mj1cIjE5Ljc4XCIgeTI9XCIxOS43OFwiPjwvbGluZT48bGluZSB4MT1cIjFcIiB5MT1cIjEyXCIgeDI9XCIzXCIgeTI9XCIxMlwiPjwvbGluZT48bGluZSB4MT1cIjIxXCIgeTE9XCIxMlwiIHgyPVwiMjNcIiB5Mj1cIjEyXCI+PC9saW5lPjxsaW5lIHgxPVwiNC4yMlwiIHkxPVwiMTkuNzhcIiB4Mj1cIjUuNjRcIiB5Mj1cIjE4LjM2XCI+PC9saW5lPjxsaW5lIHgxPVwiMTguMzZcIiB5MT1cIjUuNjRcIiB4Mj1cIjE5Ljc4XCIgeTI9XCI0LjIyXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBTdXBwb3J0Q2hhdCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzXCIvPjxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBkPVwiTTEyIDE2djFcIi8+IDxwYXRoIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNMTQuNTYyIDIwLjYzYTkgOSAwIDEgMSAzLjY2Ni0yLjEzMyA1LjAxNCA1LjAxNCAwIDAgMCAyLjI3MiAyLjgzNEE0Ljk3NyA0Ljk3NyAwIDAgMSAxOCAyMmE0Ljk4MyA0Ljk4MyAwIDAgMS0zLjQzOC0xLjM3elwiLz48L3N2Zz5gO1xuY29uc3QgVGFnID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci10YWdcIj5cXG4gICAgPHBhdGggZD1cIk0yMC41OSAxMy40MWwtNy4xNyA3LjE3YTIgMiAwIDAgMS0yLjgzIDBMMiAxMlYyaDEwbDguNTkgOC41OWEyIDIgMCAwIDEgMCAyLjgyelwiPjwvcGF0aD48bGluZSB4MT1cIjdcIiB5MT1cIjdcIiB4Mj1cIjcuMDFcIiB5Mj1cIjdcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFRhcmdldCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItdGFyZ2V0XCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIj48L2NpcmNsZT48Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjZcIj48L2NpcmNsZT48Y2lyY2xlIGN4PVwiMTJcIiBjeT1cIjEyXCIgcj1cIjJcIj48L2NpcmNsZT5cXG48L3N2Zz5gO1xuY29uc3QgVHJhc2gyID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci10cmFzaC0yXCI+XFxuICAgIDxwb2x5bGluZSBwb2ludHM9XCIzIDYgNSA2IDIxIDZcIj48L3BvbHlsaW5lPjxwYXRoIGQ9XCJNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2bTMgMFY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjJcIj48L3BhdGg+PGxpbmUgeDE9XCIxMFwiIHkxPVwiMTFcIiB4Mj1cIjEwXCIgeTI9XCIxN1wiPjwvbGluZT48bGluZSB4MT1cIjE0XCIgeTE9XCIxMVwiIHgyPVwiMTRcIiB5Mj1cIjE3XCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBUcmVuZGluZ0Rvd24gPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXRyZW5kaW5nLWRvd25cIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjIzIDE4IDEzLjUgOC41IDguNSAxMy41IDEgNlwiPjwvcG9seWxpbmU+PHBvbHlsaW5lIHBvaW50cz1cIjE3IDE4IDIzIDE4IDIzIDEyXCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgVHJlbmRpbmdVcCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItdHJlbmRpbmctdXBcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjIzIDYgMTMuNSAxNS41IDguNSAxMC41IDEgMThcIj48L3BvbHlsaW5lPjxwb2x5bGluZSBwb2ludHM9XCIxNyA2IDIzIDYgMjMgMTJcIj48L3BvbHlsaW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBVbmxvY2sgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXVubG9ja1wiPlxcbiAgICA8cmVjdCB4PVwiM1wiIHk9XCIxMVwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxMVwiIHJ4PVwiMlwiIHJ5PVwiMlwiPjwvcmVjdD48cGF0aCBkPVwiTTcgMTFWN2E1IDUgMCAwIDEgOS45LTFcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IFVwbG9hZENsb3VkID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci11cGxvYWQtY2xvdWRcIj5cXG4gICAgPHBvbHlsaW5lIHBvaW50cz1cIjE2IDE2IDEyIDEyIDggMTZcIj48L3BvbHlsaW5lPjxsaW5lIHgxPVwiMTJcIiB5MT1cIjEyXCIgeDI9XCIxMlwiIHkyPVwiMjFcIj48L2xpbmU+PHBhdGggZD1cIk0yMC4zOSAxOC4zOUE1IDUgMCAwIDAgMTggOWgtMS4yNkE4IDggMCAxIDAgMyAxNi4zXCI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9XCIxNiAxNiAxMiAxMiA4IDE2XCI+PC9wb2x5bGluZT5cXG48L3N2Zz5gO1xuY29uc3QgVXNlciA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItdXNlclwiPlxcbiAgICA8cGF0aCBkPVwiTTIwIDIxdi0yYTQgNCAwIDAgMC00LTRIOGE0IDQgMCAwIDAtNCA0djJcIj48L3BhdGg+PGNpcmNsZSBjeD1cIjEyXCIgY3k9XCI3XCIgcj1cIjRcIj48L2NpcmNsZT5cXG48L3N2Zz5gO1xuY29uc3QgVXNlckNoZWNrID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci11c2VyLWNoZWNrXCI+XFxuICAgIDxwYXRoIGQ9XCJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg1YTQgNCAwIDAgMC00IDR2MlwiPjwvcGF0aD48Y2lyY2xlIGN4PVwiOC41XCIgY3k9XCI3XCIgcj1cIjRcIj48L2NpcmNsZT48cG9seWxpbmUgcG9pbnRzPVwiMTcgMTEgMTkgMTMgMjMgOVwiPjwvcG9seWxpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFVzZXJQbHVzID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci11c2VyLXBsdXNcIj5cXG4gICAgPHBhdGggZD1cIk0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDVhNCA0IDAgMCAwLTQgNHYyXCI+PC9wYXRoPjxjaXJjbGUgY3g9XCI4LjVcIiBjeT1cIjdcIiByPVwiNFwiPjwvY2lyY2xlPjxsaW5lIHgxPVwiMjBcIiB5MT1cIjhcIiB4Mj1cIjIwXCIgeTI9XCIxNFwiPjwvbGluZT48bGluZSB4MT1cIjIzXCIgeTE9XCIxMVwiIHgyPVwiMTdcIiB5Mj1cIjExXCI+PC9saW5lPlxcbjwvc3ZnPmA7XG5jb25zdCBVc2VycyA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItdXNlcnNcIj5cXG4gICAgPHBhdGggZD1cIk0xNyAyMXYtMmE0IDQgMCAwIDAtNC00SDVhNCA0IDAgMCAwLTQgNHYyXCI+PC9wYXRoPjxjaXJjbGUgY3g9XCI5XCIgY3k9XCI3XCIgcj1cIjRcIj48L2NpcmNsZT48cGF0aCBkPVwiTTIzIDIxdi0yYTQgNCAwIDAgMC0zLTMuODdcIj48L3BhdGg+PHBhdGggZD1cIk0xNiAzLjEzYTQgNCAwIDAgMSAwIDcuNzVcIj48L3BhdGg+XFxuPC9zdmc+YDtcbmNvbnN0IFggPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXhcIj5cXG4gICAgPGxpbmUgeDE9XCIxOFwiIHkxPVwiNlwiIHgyPVwiNlwiIHkyPVwiMThcIj48L2xpbmU+PGxpbmUgeDE9XCI2XCIgeTE9XCI2XCIgeDI9XCIxOFwiIHkyPVwiMThcIj48L2xpbmU+XFxuPC9zdmc+YDtcbmNvbnN0IFhDaXJjbGUgPSBgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGNsYXNzPVwiZmVhdGhlciBmZWF0aGVyLXgtY2lyY2xlXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiMTBcIj48L2NpcmNsZT48bGluZSB4MT1cIjE1XCIgeTE9XCI5XCIgeDI9XCI5XCIgeTI9XCIxNVwiPjwvbGluZT48bGluZSB4MT1cIjlcIiB5MT1cIjlcIiB4Mj1cIjE1XCIgeTI9XCIxNVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgWFNxdWFyZSA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXIteC1zcXVhcmVcIj5cXG4gICAgPHJlY3QgeD1cIjNcIiB5PVwiM1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHJ4PVwiMlwiIHJ5PVwiMlwiPjwvcmVjdD48bGluZSB4MT1cIjlcIiB5MT1cIjlcIiB4Mj1cIjE1XCIgeTI9XCIxNVwiPjwvbGluZT48bGluZSB4MT1cIjE1XCIgeTE9XCI5XCIgeDI9XCI5XCIgeTI9XCIxNVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgWm9vbUluID0gYDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci16b29tLWluXCI+XFxuICAgIDxjaXJjbGUgY3g9XCIxMVwiIGN5PVwiMTFcIiByPVwiOFwiPjwvY2lyY2xlPjxsaW5lIHgxPVwiMjFcIiB5MT1cIjIxXCIgeDI9XCIxNi42NVwiIHkyPVwiMTYuNjVcIj48L2xpbmU+PGxpbmUgeDE9XCIxMVwiIHkxPVwiOFwiIHgyPVwiMTFcIiB5Mj1cIjE0XCI+PC9saW5lPjxsaW5lIHgxPVwiOFwiIHkxPVwiMTFcIiB4Mj1cIjE0XCIgeTI9XCIxMVwiPjwvbGluZT5cXG48L3N2Zz5gO1xuY29uc3QgWm9vbU91dCA9IGA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgY2xhc3M9XCJmZWF0aGVyIGZlYXRoZXItem9vbS1vdXRcIj5cXG4gICAgPGNpcmNsZSBjeD1cIjExXCIgY3k9XCIxMVwiIHI9XCI4XCI+PC9jaXJjbGU+PGxpbmUgeDE9XCIyMVwiIHkxPVwiMjFcIiB4Mj1cIjE2LjY1XCIgeTI9XCIxNi42NVwiPjwvbGluZT48bGluZSB4MT1cIjhcIiB5MT1cIjExXCIgeDI9XCIxNFwiIHkyPVwiMTFcIj48L2xpbmU+XFxuPC9zdmc+YDtcblxuZXhwb3J0IGNvbnN0IGljb25zID0ge1xuICBBY3Rpdml0eSxcbiAgQWxlcnRDaXJjbGUsXG4gIEFsZXJ0T2N0YWdvbixcbiAgQWxlcnRUcmlhbmdsZSxcbiAgQWxpZ25MZWZ0LFxuICBBbmNob3IsXG4gIEFyY2hpdmUsXG4gIEFycm93RG93bixcbiAgQXJyb3dEb3duTGVmdCxcbiAgQXJyb3dMZWZ0LFxuICBBcnJvd0xlZnRDaXJjbGUsXG4gIEFycm93UmlnaHQsXG4gIEFycm93VXAsXG4gIEFycm93VXBSaWdodCxcbiAgQXRTaWduLFxuICBBd2FyZCxcbiAgQmFyQ2hhcnQyLFxuICBCZWxsLFxuICBCb29rLFxuICBCb29rT3BlbixcbiAgQnJpZWZjYXNlLFxuICBDYWxlbmRhcixcbiAgQ2hlY2ssXG4gIENoZWNrQ2lyY2xlLFxuICBDaGVja1NxdWFyZSxcbiAgQ2hldnJvbkRvd24sXG4gIENoZXZyb25MZWZ0LFxuICBDaGV2cm9uUmlnaHQsXG4gIENoZXZyb25zTGVmdCxcbiAgQ2hldnJvbnNSaWdodCxcbiAgQ2hldnJvblVwLFxuICBDbGlwYm9hcmQsXG4gIENsb2NrLFxuICBDb2ZmZWUsXG4gIENvcHksXG4gIENvcm5lckxlZnRVcCxcbiAgQ3JlZGl0Q2FyZCxcbiAgRG9jdW1lbnRzLFxuICBEb2xsYXJTaWduLFxuICBEb3dubG9hZCxcbiAgRG93bmxvYWRDbG91ZCxcbiAgRWRpdCxcbiAgRWRpdDIsXG4gIEV4Y2hhbmdlLFxuICBFeHRlcm5hbExpbmssXG4gIEV5ZSxcbiAgRXllT2ZmLFxuICBGaWxlLFxuICBGaWxlUGx1cyxcbiAgRmlsZVRleHQsXG4gIEZpbHRlcixcbiAgRmxhZyxcbiAgRm9sZGVyLFxuICBIYXNoLFxuICBIZWFydCxcbiAgSGVhcnRBY3RpdmUsXG4gIEhlbHBDaXJjbGUsXG4gIEhvbWUsXG4gIEluYm94LFxuICBJbmZvLFxuICBLZXksXG4gIExheWVycyxcbiAgTGluazIsXG4gIExpc3QsXG4gIExvY2ssXG4gIE1haWwsXG4gIE1hcFBpbixcbiAgTWF4aW1pemUsXG4gIE1heGltaXplMixcbiAgTWVudSxcbiAgTWVzc2FnZUNpcmNsZSxcbiAgTWluaW1pemUyLFxuICBNaW51cyxcbiAgTWludXNDaXJjbGUsXG4gIE1vcmVIb3Jpem9udGFsLFxuICBNb3JlVmVydGljYWwsXG4gIFBhcGVyY2xpcCxcbiAgUGVyY2VudCxcbiAgUGhvbmUsXG4gIFBpZUNoYXJ0LFxuICBQaW5BY3RpdmUsXG4gIFBpbkluYWN0aXZlLFxuICBQbGF5Q2lyY2xlLFxuICBQbHVzLFxuICBQbHVzQ2lyY2xlLFxuICBQb3dlcixcbiAgUHJpbnRlcixcbiAgUmVmcmVzaEN3LFxuICBSZW1pbmRlcixcbiAgUmVvcmRlcixcbiAgUmVvcmRlcjIsXG4gIFJlcGx5LFxuICBSZXBseUFsbCxcbiAgUm90YXRlQ3csXG4gIFNhdmUsXG4gIFNlYXJjaCxcbiAgU2VuZCxcbiAgU2V0dGluZ3MsXG4gIFNoYXJlLFxuICBTaGllbGQsXG4gIFNpZGViYXIsXG4gIFNsYXNoLFxuICBTbGlkZXJzLFxuICBTbWlsZSxcbiAgU3RhcixcbiAgU3VuLFxuICBTdXBwb3J0Q2hhdCxcbiAgVGFnLFxuICBUYXJnZXQsXG4gIFRyYXNoMixcbiAgVHJlbmRpbmdEb3duLFxuICBUcmVuZGluZ1VwLFxuICBVbmxvY2ssXG4gIFVwbG9hZENsb3VkLFxuICBVc2VyLFxuICBVc2VyQ2hlY2ssXG4gIFVzZXJQbHVzLFxuICBVc2VycyxcbiAgWCxcbiAgWENpcmNsZSxcbiAgWFNxdWFyZSxcbiAgWm9vbUluLFxuICBab29tT3V0LFxufTtcblxuZXhwb3J0IGNvbnN0IGljb25zTWFwOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG5mb3IgKGNvbnN0IGtleSBpbiBpY29ucykge1xuICBpY29uc01hcFtrZXldID0gaWNvbnNbPGtleW9mIHR5cGVvZiBpY29ucz5rZXldO1xufVxuIl19
|
|
@@ -54,10 +54,10 @@ export class SingleSelectComponent extends InputLabelComponent {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
SingleSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SingleSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
-
SingleSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SingleSelectComponent, selector: "riv-single-select", inputs: { options: "options", selectedOption: "selectedOption", filterabilityOptions: "filterabilityOptions", loading: "loading", locked: "locked", noOptionsMessage: "noOptionsMessage", nodeTemplate: "nodeTemplate", triggerTemplate: "triggerTemplate", placeholder: "placeholder", disabled: "disabled" }, outputs: { filterQueryChange: "filterQueryChange", selectedOptionChange: "selectedOptionChange" }, viewQueries: [{ propertyName: "customTriggerButton", first: true, predicate: ["customTriggerButton"], descendants: true }, { propertyName: "standardTriggerButton", first: true, predicate: ["standardTriggerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n />\n <div class=\"options\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngIf=\"getNodes(); let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackBy\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.selected\"\n [class.disabled]=\"node?.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.selected\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </riv-loading-cover>\n </div>\n</riv-callout>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.filter{width:100%;outline:none;border:none;border-bottom:var(--border-width) solid var(--border-light);font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small)}.filter::placeholder{color:var(--type-light-disabled)}.options{max-height:50vh;max-width:calc(var(--base-grid-size) * 150);overflow-y:auto}.single-select-node{display:flex;align-items:center;overflow:hidden;flex-grow:1;text-align:left;padding:var(--size-xsmall) var(--size-xsmall) var(--size-xsmall) calc(var(--base-grid-size) * 6);width:100%}.single-select-node.selected{padding-left:var(--size-small)}.single-select-node:hover{background-color:var(--surface-light-2)}.single-select-node.disabled{cursor:default;background-color:var(--surface-light-0)}.single-select-node.disabled .label,.single-select-node.disabled .label-subtitle{color:var(--type-light-disabled)}.single-select-node riv-icon{flex-shrink:0}.single-select-node .label{font-size:calc(var(--base-grid-size) * 4);line-height:calc(var(--base-grid-size) * 6);overflow:hidden;text-overflow:ellipsis;white-space:pre;flex-grow:1;padding:0 calc(var(--base-grid-size) * 2)}.single-select-node .label-subtitle{padding-left:var(--base-grid-size);color:var(--type-light-low-contrast)}.custom-single-select-node{display:block;width:100%;text-align:left}.empty{padding:var(--size-medium);text-align:center;color:var(--type-light-disabled)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "component", type: i3.HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: i4.IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }, { kind: "component", type: i5.InputLabelComponent, selector: "riv-input-label", inputs: ["label", "help", "required", "labelActionText"], outputs: ["labelAction"] }, { kind: "component", type: i6.LoadingCoverComponent, selector: "riv-loading-cover", inputs: ["loading", "loadingSize", "errorMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
57
|
+
SingleSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SingleSelectComponent, selector: "riv-single-select", inputs: { options: "options", selectedOption: "selectedOption", filterabilityOptions: "filterabilityOptions", loading: "loading", locked: "locked", noOptionsMessage: "noOptionsMessage", nodeTemplate: "nodeTemplate", triggerTemplate: "triggerTemplate", placeholder: "placeholder", disabled: "disabled" }, outputs: { filterQueryChange: "filterQueryChange", selectedOptionChange: "selectedOptionChange" }, viewQueries: [{ propertyName: "customTriggerButton", first: true, predicate: ["customTriggerButton"], descendants: true }, { propertyName: "standardTriggerButton", first: true, predicate: ["standardTriggerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n />\n <div class=\"options\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngIf=\"getNodes(); let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackBy\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.selected\"\n [class.disabled]=\"node?.disabled\"\n [disabled]=\"node?.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.selected\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </riv-loading-cover>\n </div>\n</riv-callout>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.filter{width:100%;outline:none;border:none;border-bottom:var(--border-width) solid var(--border-light);font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small)}.filter::placeholder{color:var(--type-light-disabled)}.options{max-height:50vh;max-width:calc(var(--base-grid-size) * 150);overflow-y:auto}.single-select-node{display:flex;align-items:center;overflow:hidden;flex-grow:1;text-align:left;padding:var(--size-xsmall) var(--size-xsmall) var(--size-xsmall) calc(var(--base-grid-size) * 6);width:100%}.single-select-node.selected{padding-left:var(--size-small)}.single-select-node:hover{background-color:var(--surface-light-2)}.single-select-node.disabled{cursor:default;background-color:var(--surface-light-0)}.single-select-node.disabled .label,.single-select-node.disabled .label-subtitle{color:var(--type-light-disabled)}.single-select-node riv-icon{flex-shrink:0}.single-select-node .label{font-size:calc(var(--base-grid-size) * 4);line-height:calc(var(--base-grid-size) * 6);overflow:hidden;text-overflow:ellipsis;white-space:pre;flex-grow:1;padding:0 calc(var(--base-grid-size) * 2)}.single-select-node .label-subtitle{padding-left:var(--base-grid-size);color:var(--type-light-low-contrast)}.custom-single-select-node{display:block;width:100%;text-align:left}.empty{padding:var(--size-medium);text-align:center;color:var(--type-light-disabled)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "component", type: i3.HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: i4.IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }, { kind: "component", type: i5.InputLabelComponent, selector: "riv-input-label", inputs: ["label", "help", "required", "labelActionText"], outputs: ["labelAction"] }, { kind: "component", type: i6.LoadingCoverComponent, selector: "riv-loading-cover", inputs: ["loading", "loadingSize", "errorMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
58
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SingleSelectComponent, decorators: [{
|
|
59
59
|
type: Component,
|
|
60
|
-
args: [{ selector: 'riv-single-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n />\n <div class=\"options\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngIf=\"getNodes(); let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackBy\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.selected\"\n [class.disabled]=\"node?.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.selected\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </riv-loading-cover>\n </div>\n</riv-callout>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.filter{width:100%;outline:none;border:none;border-bottom:var(--border-width) solid var(--border-light);font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small)}.filter::placeholder{color:var(--type-light-disabled)}.options{max-height:50vh;max-width:calc(var(--base-grid-size) * 150);overflow-y:auto}.single-select-node{display:flex;align-items:center;overflow:hidden;flex-grow:1;text-align:left;padding:var(--size-xsmall) var(--size-xsmall) var(--size-xsmall) calc(var(--base-grid-size) * 6);width:100%}.single-select-node.selected{padding-left:var(--size-small)}.single-select-node:hover{background-color:var(--surface-light-2)}.single-select-node.disabled{cursor:default;background-color:var(--surface-light-0)}.single-select-node.disabled .label,.single-select-node.disabled .label-subtitle{color:var(--type-light-disabled)}.single-select-node riv-icon{flex-shrink:0}.single-select-node .label{font-size:calc(var(--base-grid-size) * 4);line-height:calc(var(--base-grid-size) * 6);overflow:hidden;text-overflow:ellipsis;white-space:pre;flex-grow:1;padding:0 calc(var(--base-grid-size) * 2)}.single-select-node .label-subtitle{padding-left:var(--base-grid-size);color:var(--type-light-low-contrast)}.custom-single-select-node{display:block;width:100%;text-align:left}.empty{padding:var(--size-medium);text-align:center;color:var(--type-light-disabled)}\n"] }]
|
|
60
|
+
args: [{ selector: 'riv-single-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n />\n <div class=\"options\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngIf=\"getNodes(); let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackBy\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.selected\"\n [class.disabled]=\"node?.disabled\"\n [disabled]=\"node?.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.selected\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </riv-loading-cover>\n </div>\n</riv-callout>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.filter{width:100%;outline:none;border:none;border-bottom:var(--border-width) solid var(--border-light);font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small)}.filter::placeholder{color:var(--type-light-disabled)}.options{max-height:50vh;max-width:calc(var(--base-grid-size) * 150);overflow-y:auto}.single-select-node{display:flex;align-items:center;overflow:hidden;flex-grow:1;text-align:left;padding:var(--size-xsmall) var(--size-xsmall) var(--size-xsmall) calc(var(--base-grid-size) * 6);width:100%}.single-select-node.selected{padding-left:var(--size-small)}.single-select-node:hover{background-color:var(--surface-light-2)}.single-select-node.disabled{cursor:default;background-color:var(--surface-light-0)}.single-select-node.disabled .label,.single-select-node.disabled .label-subtitle{color:var(--type-light-disabled)}.single-select-node riv-icon{flex-shrink:0}.single-select-node .label{font-size:calc(var(--base-grid-size) * 4);line-height:calc(var(--base-grid-size) * 6);overflow:hidden;text-overflow:ellipsis;white-space:pre;flex-grow:1;padding:0 calc(var(--base-grid-size) * 2)}.single-select-node .label-subtitle{padding-left:var(--base-grid-size);color:var(--type-light-low-contrast)}.custom-single-select-node{display:block;width:100%;text-align:left}.empty{padding:var(--size-medium);text-align:center;color:var(--type-light-disabled)}\n"] }]
|
|
61
61
|
}], propDecorators: { options: [{
|
|
62
62
|
type: Input
|
|
63
63
|
}], selectedOption: [{
|
|
@@ -125,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
125
125
|
}
|
|
126
126
|
SingleSelectComponent.getFilterAsync = getFilterAsync;
|
|
127
127
|
})(SingleSelectComponent || (SingleSelectComponent = {}));
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9zaW5nbGUtc2VsZWN0L3NpbmdsZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc2luZ2xlLXNlbGVjdC9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLElBQUksTUFBTSxTQUFTLENBQUM7QUFDM0IsT0FBTyxFQUVMLFlBQVksRUFDWixJQUFJLEVBQ0osR0FBRyxFQUNILFFBQVEsRUFDUixTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7O0FBUTNFLE1BQU0sT0FBTyxxQkFFWCxTQUFRLG1CQUFtQjtJQVI3Qjs7UUFVRSxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBR2xCLG1CQUFjLEdBQWEsSUFBSSxDQUFDO1FBR2hDLHlCQUFvQixHQUErQztZQUNqRSxPQUFPLEVBQUUsS0FBSztTQUNmLENBQUM7UUFHRixZQUFPLEdBQVksS0FBSyxDQUFDO1FBR3pCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFHeEIscUJBQWdCLEdBQVcsc0JBQXNCLENBQUM7UUFTbEQsZ0JBQVcsR0FBVyxXQUFXLENBQUM7UUFHbEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUd6QixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRy9DLHlCQUFvQixH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QUFDO0lBdkJlLG9DQUFjLGlCQXVCN0IsQ0FBQTtBQUNILENBQUMsRUE5RWdCLHFCQUFxQixLQUFyQixxQkFBcUIsUUE4RXJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBGdXNlIGZyb20gJ2Z1c2UuanMnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgZGVib3VuY2VUaW1lLFxuICBmcm9tLFxuICBtYXAsXG4gIHBhaXJ3aXNlLFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIaWdobGlnaHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi92aXN1YWxpemF0aW9uL2hpZ2hsaWdodC9oaWdobGlnaHQuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0TGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1sYWJlbC9pbnB1dC1sYWJlbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtc2luZ2xlLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2luZ2xlLXNlbGVjdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTaW5nbGVTZWxlY3RDb21wb25lbnQ8XG4gIFQgZXh0ZW5kcyBTaW5nbGVTZWxlY3RDb21wb25lbnQuT3B0aW9uLFxuPiBleHRlbmRzIElucHV0TGFiZWxDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBvcHRpb25zOiBUW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBzZWxlY3RlZE9wdGlvbjogVCB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIGZpbHRlcmFiaWxpdHlPcHRpb25zOiBTaW5nbGVTZWxlY3RDb21wb25lbnQuRmlsdGVyYWJpbGl0eU9wdGlvbnMgPSB7XG4gICAgZW5hYmxlZDogZmFsc2UsXG4gIH07XG5cbiAgQElucHV0KClcbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGxvY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIG5vT3B0aW9uc01lc3NhZ2U6IHN0cmluZyA9ICdObyBhdmFpbGFibGUgb3B0aW9ucyc7XG5cbiAgQElucHV0KClcbiAgbm9kZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgdHJpZ2dlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdTZWxlY3QuLi4nO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZmlsdGVyUXVlcnk6IHN0cmluZyA9ICcnO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXJRdWVyeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RlZE9wdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICBAVmlld0NoaWxkKCdjdXN0b21UcmlnZ2VyQnV0dG9uJykgY3VzdG9tVHJpZ2dlckJ1dHRvbj86IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3N0YW5kYXJkVHJpZ2dlckJ1dHRvbicpIHN0YW5kYXJkVHJpZ2dlckJ1dHRvbj86IEVsZW1lbnRSZWY7XG5cbiAgZ2V0VHJpZ2dlcigpOiBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY3VzdG9tVHJpZ2dlckJ1dHRvbj8ubmF0aXZlRWxlbWVudCA/P1xuICAgICAgdGhpcy5zdGFuZGFyZFRyaWdnZXJCdXR0b24/Lm5hdGl2ZUVsZW1lbnRcbiAgICApO1xuICB9XG5cbiAgZ2V0RmlsdGVyUGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLmVuYWJsZWQgJiZcbiAgICAgIHRoaXMuZmlsdGVyYWJpbGl0eU9wdGlvbnMucGxhY2Vob2xkZXJcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLnBsYWNlaG9sZGVyO1xuICAgIH1cbiAgICByZXR1cm4gJ0ZpbHRlciBvcHRpb25zLi4uJztcbiAgfVxuXG4gIGdldE5vZGVzKCk6IFNpbmdsZVNlbGVjdENvbXBvbmVudC5Ob2RlPFQ+W10ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMubWFwKG9wdGlvbiA9PiAoe1xuICAgICAgLi4ub3B0aW9uLFxuICAgICAgc2VsZWN0ZWQ6IG9wdGlvbi5pZCA9PT0gdGhpcy5zZWxlY3RlZE9wdGlvbj8uaWQsXG4gICAgfSkpO1xuICB9XG5cbiAgYWxsb3dlZE9wZW4oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLmxvY2tlZCkge1xuICAgICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB0cmFja0J5KF86IG51bWJlciwgbm9kZTogU2luZ2xlU2VsZWN0Q29tcG9uZW50Lk5vZGU8VD4pIHtcbiAgICByZXR1cm4gbm9kZS5pZDtcbiAgfVxuXG4gIG9wZW46IGJvb2xlYW4gPSBmYWxzZTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTaW5nbGVTZWxlY3RDb21wb25lbnQge1xuICBleHBvcnQgdHlwZSBPcHRpb24gPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIGNvdW50PzogbnVtYmVyO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICB0aXRsZUhpZ2hsaWdodEluZGljZXM/OiBIaWdobGlnaHRDb21wb25lbnQuSGlnaGxpZ2h0SW5kaWNlc1tdO1xuICAgIHN1YnRpdGxlSGlnaGxpZ2h0SW5kaWNlcz86IEhpZ2hsaWdodENvbXBvbmVudC5IaWdobGlnaHRJbmRpY2VzW107XG4gIH07XG5cbiAgZXhwb3J0IHR5cGUgTm9kZTxUIGV4dGVuZHMgT3B0aW9uPiA9IFQgJiB7XG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gIH07XG5cbiAgZXhwb3J0IHR5cGUgRmlsdGVyYWJpbGl0eU9wdGlvbnMgPVxuICAgIHwge1xuICAgICAgICBlbmFibGVkOiBmYWxzZTtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgZW5hYmxlZDogdHJ1ZTtcbiAgICAgICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgICB9O1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRGaWx0ZXJTeW5jPFQgZXh0ZW5kcyBTaW5nbGVTZWxlY3RDb21wb25lbnQuT3B0aW9uPihcbiAgICBvcHRpb25zOiBUW10sXG4gICAgZXhhY3Q6IGJvb2xlYW4gPSBmYWxzZSxcbiAgKTogKHF1ZXJ5OiBzdHJpbmcpID0+IFRbXSB7XG4gICAgY29uc3QgZnVzZSA9IG5ldyBGdXNlKG9wdGlvbnMsIHtcbiAgICAgIGtleXM6IFsndGl0bGUnLCAnc3VidGl0bGUnXSxcbiAgICAgIGluY2x1ZGVNYXRjaGVzOiB0cnVlLFxuICAgICAgc2hvdWxkU29ydDogdHJ1ZSxcbiAgICAgIHRocmVzaG9sZDogZXhhY3QgPyAwLjAgOiAwLjYsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gZmlsdGVyKHF1ZXJ5OiBzdHJpbmcpIHtcbiAgICAgIGlmICghcXVlcnkpIHJldHVybiBvcHRpb25zO1xuICAgICAgY29uc3QgbWF0Y2hlcyA9IGZ1c2Uuc2VhcmNoKHF1ZXJ5KTtcbiAgICAgIHJldHVybiBtYXRjaGVzLm1hcChtYXRjaCA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ubWF0Y2guaXRlbSxcbiAgICAgICAgICB0aXRsZUhpZ2hsaWdodEluZGljZXM6IFtcbiAgICAgICAgICAgIC4uLihtYXRjaC5tYXRjaGVzPy5maW5kKHJlc3VsdCA9PiByZXN1bHQua2V5ID09PSAndGl0bGUnKVxuICAgICAgICAgICAgICA/LmluZGljZXMgfHwgW10pLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgc3VidGl0bGVIaWdobGlnaHRJbmRpY2VzOiBbXG4gICAgICAgICAgICAuLi4obWF0Y2gubWF0Y2hlcz8uZmluZChyZXN1bHQgPT4gcmVzdWx0LmtleSA9PT0gJ3N1YnRpdGxlJylcbiAgICAgICAgICAgICAgPy5pbmRpY2VzIHx8IFtdKSxcbiAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRGaWx0ZXJBc3luYzxUIGV4dGVuZHMgU2luZ2xlU2VsZWN0Q29tcG9uZW50Lk9wdGlvbj4oXG4gICAgcXVlcnkkOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgZmV0Y2hlcjogKHF1ZXJ5OiBzdHJpbmcpID0+IFByb21pc2U8VFtdPixcbiAgICBkZWJvdW5jZUlucHV0OiBudW1iZXIgPSAzMDAsXG4gICk6IE9ic2VydmFibGU8e1xuICAgIGxvYWRpbmc6IGJvb2xlYW47XG4gICAgb3B0aW9uczogVFtdO1xuICB9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5JC5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKGRlYm91bmNlSW5wdXQpLFxuICAgICAgc3dpdGNoTWFwKHF1ZXJ5ID0+XG4gICAgICAgIGZyb20oZmV0Y2hlcihxdWVyeSkpLnBpcGUoXG4gICAgICAgICAgbWFwKG9wdGlvbnMgPT4gKHsgbG9hZGluZzogZmFsc2UsIG9wdGlvbnMgfSkpLFxuICAgICAgICAgIHN0YXJ0V2l0aCh7IGxvYWRpbmc6IHRydWUsIG9wdGlvbnM6IFtdIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICAgIHBhaXJ3aXNlKCksXG4gICAgICBtYXAoKFtwcmV2aW91cywgbmV4dF0pID0+ICh7XG4gICAgICAgIGxvYWRpbmc6IG5leHQubG9hZGluZyxcbiAgICAgICAgb3B0aW9uczogbmV4dC5sb2FkaW5nID8gcHJldmlvdXMub3B0aW9ucyA6IG5leHQub3B0aW9ucyxcbiAgICAgIH0pKSxcbiAgICAgIHN0YXJ0V2l0aCh7IGxvYWRpbmc6IGZhbHNlLCBvcHRpb25zOiBbXSB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidHJpZ2dlclRlbXBsYXRlOyBlbHNlIHN0YW5kYXJkVHJpZ2dlclwiPlxuICA8YnV0dG9uXG4gICAgI2N1c3RvbVRyaWdnZXJCdXR0b25cbiAgICAoY2xpY2spPVwiYWxsb3dlZE9wZW4oKVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvY2tlZFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cmlnZ2VyVGVtcGxhdGVcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgc2VsZWN0ZWRPcHRpb24gfVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNzdGFuZGFyZFRyaWdnZXI+XG4gIDxyaXYtaW5wdXQtbGFiZWxcbiAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgIFtoZWxwXT1cImhlbHBcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2xhYmVsQWN0aW9uVGV4dF09XCJsYWJlbEFjdGlvblRleHRcIlxuICAgIChsYWJlbEFjdGlvbik9XCJsYWJlbEFjdGlvbi5lbWl0KCRldmVudClcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgI3N0YW5kYXJkVHJpZ2dlckJ1dHRvblxuICAgICAgY2xhc3M9XCJ0cmlnZ2VyXCJcbiAgICAgIChjbGljayk9XCJhbGxvd2VkT3BlbigpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBsb2NrZWRcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkT3B0aW9uOyBlbHNlIHBsYWNlaG9sZGVyVmFsdWVcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPnt7IHNlbGVjdGVkT3B0aW9uLnRpdGxlIH19PC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI3BsYWNlaG9sZGVyVmFsdWU+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWUgcGxhY2Vob2xkZXJcIj57eyBwbGFjZWhvbGRlciB9fTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8c3BhbiBjbGFzcz1cImNoZXZyb25cIj5cbiAgICAgICAgPHJpdi1pY29uICpuZ0lmPVwiIWxvY2tlZFwiIFtuYW1lXT1cIidDaGV2cm9uRG93bidcIiBbc2l6ZV09XCIxNlwiPjwvcml2LWljb24+XG4gICAgICAgIDxyaXYtaWNvbiAqbmdJZj1cImxvY2tlZFwiIFtuYW1lXT1cIidMb2NrJ1wiIFtzaXplXT1cIjE2XCI+PC9yaXYtaWNvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9yaXYtaW5wdXQtbGFiZWw+XG48L25nLXRlbXBsYXRlPlxuXG48cml2LWNhbGxvdXRcbiAgKm5nSWY9XCJvcGVuXCJcbiAgW2FuY2hvcl09XCJnZXRUcmlnZ2VyKClcIlxuICBbdGhlbWVdPVwiJ2xpZ2h0J1wiXG4gIFtzaG93Q2FyZXRdPVwiZmFsc2VcIlxuICBbYWxsb3dlZFBvc2l0aW9uc109XCJbXG4gICAgJ3RvcC1sZWZ0JyxcbiAgICAndG9wLWNlbnRlcicsXG4gICAgJ3RvcC1yaWdodCcsXG4gICAgJ2JvdHRvbS1yaWdodCcsXG4gICAgJ2JvdHRvbS1jZW50ZXInLFxuICAgICdib3R0b20tbGVmdCdcbiAgXVwiXG4gIChjbG9zZSk9XCJvcGVuID0gZmFsc2VcIlxuPlxuICA8aW5wdXRcbiAgICAqbmdJZj1cImZpbHRlcmFiaWxpdHlPcHRpb25zLmVuYWJsZWRcIlxuICAgICNmaWx0ZXJcbiAgICBjbGFzcz1cImZpbHRlclwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImdldEZpbHRlclBsYWNlaG9sZGVyKClcIlxuICAgIFt2YWx1ZV09XCJmaWx0ZXJRdWVyeVwiXG4gICAgKGlucHV0KT1cImZpbHRlclF1ZXJ5ID0gZmlsdGVyLnZhbHVlOyBmaWx0ZXJRdWVyeUNoYW5nZS5lbWl0KGZpbHRlclF1ZXJ5KVwiXG4gIC8+XG4gIDxkaXYgY2xhc3M9XCJvcHRpb25zXCI+XG4gICAgPHJpdi1sb2FkaW5nLWNvdmVyIFtsb2FkaW5nXT1cImxvYWRpbmdcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJnZXROb2RlcygpOyBsZXQgbm9kZXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGVzLmxlbmd0aCA+IDA7IGVsc2UgZW1wdHlcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBub2RlIG9mIG5vZGVzOyB0cmFja0J5OiB0cmFja0J5XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9kZVRlbXBsYXRlOyBlbHNlIHN0YW5kYXJkVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY3VzdG9tLXNpbmdsZS1zZWxlY3Qtbm9kZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm5vZGUuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZE9wdGlvbkNoYW5nZS5lbWl0KG5vZGUpOyBvcGVuID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibm9kZVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG5vZGUgfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGFuZGFyZFRlbXBsYXRlPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzaW5nbGUtc2VsZWN0LW5vZGVcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJub2RlPy5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIm5vZGU/LmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0ZWRPcHRpb25DaGFuZ2UuZW1pdChub2RlKTsgb3BlbiA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxyaXYtaWNvblxuICAgICAgICAgICAgICAgICAgW25hbWVdPVwiJ0NoZWNrJ1wiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIm5vZGU/LnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgIFtzaXplXT1cIjE2XCJcbiAgICAgICAgICAgICAgICA+PC9yaXYtaWNvbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxyaXYtaGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwibm9kZT8udGl0bGUgfHwgJydcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpbmRpY2VzXT1cIm5vZGU/LnRpdGxlSGlnaGxpZ2h0SW5kaWNlcyB8fCBbXVwiXG4gICAgICAgICAgICAgICAgICAgID48L3Jpdi1oaWdobGlnaHQ+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm5vZGU/LnN1YnRpdGxlXCIgY2xhc3M9XCJsYWJlbC1zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8cml2LWhpZ2hsaWdodFxuICAgICAgICAgICAgICAgICAgICAgIFt0ZXh0XT1cIm5vZGU/LnN1YnRpdGxlIHx8ICcnXCJcbiAgICAgICAgICAgICAgICAgICAgICBbaW5kaWNlc109XCJub2RlPy5zdWJ0aXRsZUhpZ2hsaWdodEluZGljZXMgfHwgW11cIlxuICAgICAgICAgICAgICAgICAgICA+PC9yaXYtaGlnaGxpZ2h0PlxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNlbXB0eT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHlcIj5cbiAgICAgICAgICAgIHt7IG5vT3B0aW9uc01lc3NhZ2UgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvcml2LWxvYWRpbmctY292ZXI+XG4gIDwvZGl2PlxuPC9yaXYtY2FsbG91dD5cbiJdfQ==
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9zaW5nbGUtc2VsZWN0L3NpbmdsZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvc2luZ2xlLXNlbGVjdC9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLElBQUksTUFBTSxTQUFTLENBQUM7QUFDM0IsT0FBTyxFQUVMLFlBQVksRUFDWixJQUFJLEVBQ0osR0FBRyxFQUNILFFBQVEsRUFDUixTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7O0FBUTNFLE1BQU0sT0FBTyxxQkFFWCxTQUFRLG1CQUFtQjtJQVI3Qjs7UUFVRSxZQUFPLEdBQVEsRUFBRSxDQUFDO1FBR2xCLG1CQUFjLEdBQWEsSUFBSSxDQUFDO1FBR2hDLHlCQUFvQixHQUErQztZQUNqRSxPQUFPLEVBQUUsS0FBSztTQUNmLENBQUM7UUFHRixZQUFPLEdBQVksS0FBSyxDQUFDO1FBR3pCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFHeEIscUJBQWdCLEdBQVcsc0JBQXNCLENBQUM7UUFTbEQsZ0JBQVcsR0FBVyxXQUFXLENBQUM7UUFHbEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUUxQixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUd6QixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRy9DLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFLLENBQUM7UUF1QzdDLFNBQUksR0FBWSxLQUFLLENBQUM7S0FDdkI7SUFuQ0MsVUFBVTtRQUNSLE9BQU8sQ0FDTCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsYUFBYTtZQUN2QyxJQUFJLENBQUMscUJBQXFCLEVBQUUsYUFBYSxDQUMxQyxDQUFDO0lBQ0osQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUNFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPO1lBQ2pDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQ3JDO1lBQ0EsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxtQkFBbUIsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLEdBQUcsTUFBTTtZQUNULFFBQVEsRUFBRSxNQUFNLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtTQUNoRCxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxDQUFTLEVBQUUsSUFBbUM7UUFDcEQsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7O2tIQTlFVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixndEJDN0JsQyxpbklBNEhBOzJGRC9GYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07OEJBTS9DLE9BQU87c0JBRE4sS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBSU4sb0JBQW9CO3NCQURuQixLQUFLO2dCQU1OLE9BQU87c0JBRE4sS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sZ0JBQWdCO3NCQURmLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQU1OLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFJUCxvQkFBb0I7c0JBRG5CLE1BQU07Z0JBRzJCLG1CQUFtQjtzQkFBcEQsU0FBUzt1QkFBQyxxQkFBcUI7Z0JBQ0kscUJBQXFCO3NCQUF4RCxTQUFTO3VCQUFDLHVCQUF1Qjs7QUF1Q3BDLFdBQWlCLHFCQUFxQjtJQXdCcEMsU0FBZ0IsYUFBYSxDQUMzQixPQUFZLEVBQ1osUUFBaUIsS0FBSztRQUV0QixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDN0IsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztZQUMzQixjQUFjLEVBQUUsSUFBSTtZQUNwQixVQUFVLEVBQUUsSUFBSTtZQUNoQixTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUc7U0FDN0IsQ0FBQyxDQUFDO1FBRUgsT0FBTyxTQUFTLE1BQU0sQ0FBQyxLQUFhO1lBQ2xDLElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU8sT0FBTyxDQUFDO1lBQzNCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN6QixPQUFPO29CQUNMLEdBQUcsS0FBSyxDQUFDLElBQUk7b0JBQ2IscUJBQXFCLEVBQUU7d0JBQ3JCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssT0FBTyxDQUFDOzRCQUN2RCxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7cUJBQ25CO29CQUNELHdCQUF3QixFQUFFO3dCQUN4QixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLFVBQVUsQ0FBQzs0QkFDMUQsRUFBRSxPQUFPLElBQUksRUFBRSxDQUFDO3FCQUNuQjtpQkFDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7SUFDSixDQUFDO0lBNUJlLG1DQUFhLGdCQTRCNUIsQ0FBQTtJQUVELFNBQWdCLGNBQWMsQ0FDNUIsTUFBMEIsRUFDMUIsT0FBd0MsRUFDeEMsZ0JBQXdCLEdBQUc7UUFLM0IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUNoQixZQUFZLENBQUMsYUFBYSxDQUFDLEVBQzNCLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUNoQixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN2QixHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQzdDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQzFDLENBQ0YsRUFDRCxRQUFRLEVBQUUsRUFDVixHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPO1NBQ3hELENBQUMsQ0FBQyxFQUNILFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQzNDLENBQUM7SUFDSixDQUFDO0lBdkJlLG9DQUFjLGlCQXVCN0IsQ0FBQTtBQUNILENBQUMsRUE5RWdCLHFCQUFxQixLQUFyQixxQkFBcUIsUUE4RXJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBGdXNlIGZyb20gJ2Z1c2UuanMnO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgZGVib3VuY2VUaW1lLFxuICBmcm9tLFxuICBtYXAsXG4gIHBhaXJ3aXNlLFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIaWdobGlnaHRDb21wb25lbnQgfSBmcm9tICcuLi8uLi92aXN1YWxpemF0aW9uL2hpZ2hsaWdodC9oaWdobGlnaHQuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0TGFiZWxDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC1sYWJlbC9pbnB1dC1sYWJlbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtc2luZ2xlLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaW5nbGUtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2luZ2xlLXNlbGVjdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTaW5nbGVTZWxlY3RDb21wb25lbnQ8XG4gIFQgZXh0ZW5kcyBTaW5nbGVTZWxlY3RDb21wb25lbnQuT3B0aW9uLFxuPiBleHRlbmRzIElucHV0TGFiZWxDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBvcHRpb25zOiBUW10gPSBbXTtcblxuICBASW5wdXQoKVxuICBzZWxlY3RlZE9wdGlvbjogVCB8IG51bGwgPSBudWxsO1xuXG4gIEBJbnB1dCgpXG4gIGZpbHRlcmFiaWxpdHlPcHRpb25zOiBTaW5nbGVTZWxlY3RDb21wb25lbnQuRmlsdGVyYWJpbGl0eU9wdGlvbnMgPSB7XG4gICAgZW5hYmxlZDogZmFsc2UsXG4gIH07XG5cbiAgQElucHV0KClcbiAgbG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGxvY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIG5vT3B0aW9uc01lc3NhZ2U6IHN0cmluZyA9ICdObyBhdmFpbGFibGUgb3B0aW9ucyc7XG5cbiAgQElucHV0KClcbiAgbm9kZVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgdHJpZ2dlclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdTZWxlY3QuLi4nO1xuXG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZmlsdGVyUXVlcnk6IHN0cmluZyA9ICcnO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXJRdWVyeUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RlZE9wdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VD4oKTtcblxuICBAVmlld0NoaWxkKCdjdXN0b21UcmlnZ2VyQnV0dG9uJykgY3VzdG9tVHJpZ2dlckJ1dHRvbj86IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3N0YW5kYXJkVHJpZ2dlckJ1dHRvbicpIHN0YW5kYXJkVHJpZ2dlckJ1dHRvbj86IEVsZW1lbnRSZWY7XG5cbiAgZ2V0VHJpZ2dlcigpOiBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY3VzdG9tVHJpZ2dlckJ1dHRvbj8ubmF0aXZlRWxlbWVudCA/P1xuICAgICAgdGhpcy5zdGFuZGFyZFRyaWdnZXJCdXR0b24/Lm5hdGl2ZUVsZW1lbnRcbiAgICApO1xuICB9XG5cbiAgZ2V0RmlsdGVyUGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLmVuYWJsZWQgJiZcbiAgICAgIHRoaXMuZmlsdGVyYWJpbGl0eU9wdGlvbnMucGxhY2Vob2xkZXJcbiAgICApIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlcmFiaWxpdHlPcHRpb25zLnBsYWNlaG9sZGVyO1xuICAgIH1cbiAgICByZXR1cm4gJ0ZpbHRlciBvcHRpb25zLi4uJztcbiAgfVxuXG4gIGdldE5vZGVzKCk6IFNpbmdsZVNlbGVjdENvbXBvbmVudC5Ob2RlPFQ+W10ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMubWFwKG9wdGlvbiA9PiAoe1xuICAgICAgLi4ub3B0aW9uLFxuICAgICAgc2VsZWN0ZWQ6IG9wdGlvbi5pZCA9PT0gdGhpcy5zZWxlY3RlZE9wdGlvbj8uaWQsXG4gICAgfSkpO1xuICB9XG5cbiAgYWxsb3dlZE9wZW4oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLmxvY2tlZCkge1xuICAgICAgdGhpcy5vcGVuID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICB0cmFja0J5KF86IG51bWJlciwgbm9kZTogU2luZ2xlU2VsZWN0Q29tcG9uZW50Lk5vZGU8VD4pIHtcbiAgICByZXR1cm4gbm9kZS5pZDtcbiAgfVxuXG4gIG9wZW46IGJvb2xlYW4gPSBmYWxzZTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBTaW5nbGVTZWxlY3RDb21wb25lbnQge1xuICBleHBvcnQgdHlwZSBPcHRpb24gPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIGNvdW50PzogbnVtYmVyO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICB0aXRsZUhpZ2hsaWdodEluZGljZXM/OiBIaWdobGlnaHRDb21wb25lbnQuSGlnaGxpZ2h0SW5kaWNlc1tdO1xuICAgIHN1YnRpdGxlSGlnaGxpZ2h0SW5kaWNlcz86IEhpZ2hsaWdodENvbXBvbmVudC5IaWdobGlnaHRJbmRpY2VzW107XG4gIH07XG5cbiAgZXhwb3J0IHR5cGUgTm9kZTxUIGV4dGVuZHMgT3B0aW9uPiA9IFQgJiB7XG4gICAgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gIH07XG5cbiAgZXhwb3J0IHR5cGUgRmlsdGVyYWJpbGl0eU9wdGlvbnMgPVxuICAgIHwge1xuICAgICAgICBlbmFibGVkOiBmYWxzZTtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgZW5hYmxlZDogdHJ1ZTtcbiAgICAgICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgICB9O1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRGaWx0ZXJTeW5jPFQgZXh0ZW5kcyBTaW5nbGVTZWxlY3RDb21wb25lbnQuT3B0aW9uPihcbiAgICBvcHRpb25zOiBUW10sXG4gICAgZXhhY3Q6IGJvb2xlYW4gPSBmYWxzZSxcbiAgKTogKHF1ZXJ5OiBzdHJpbmcpID0+IFRbXSB7XG4gICAgY29uc3QgZnVzZSA9IG5ldyBGdXNlKG9wdGlvbnMsIHtcbiAgICAgIGtleXM6IFsndGl0bGUnLCAnc3VidGl0bGUnXSxcbiAgICAgIGluY2x1ZGVNYXRjaGVzOiB0cnVlLFxuICAgICAgc2hvdWxkU29ydDogdHJ1ZSxcbiAgICAgIHRocmVzaG9sZDogZXhhY3QgPyAwLjAgOiAwLjYsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gZmlsdGVyKHF1ZXJ5OiBzdHJpbmcpIHtcbiAgICAgIGlmICghcXVlcnkpIHJldHVybiBvcHRpb25zO1xuICAgICAgY29uc3QgbWF0Y2hlcyA9IGZ1c2Uuc2VhcmNoKHF1ZXJ5KTtcbiAgICAgIHJldHVybiBtYXRjaGVzLm1hcChtYXRjaCA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgLi4ubWF0Y2guaXRlbSxcbiAgICAgICAgICB0aXRsZUhpZ2hsaWdodEluZGljZXM6IFtcbiAgICAgICAgICAgIC4uLihtYXRjaC5tYXRjaGVzPy5maW5kKHJlc3VsdCA9PiByZXN1bHQua2V5ID09PSAndGl0bGUnKVxuICAgICAgICAgICAgICA/LmluZGljZXMgfHwgW10pLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgc3VidGl0bGVIaWdobGlnaHRJbmRpY2VzOiBbXG4gICAgICAgICAgICAuLi4obWF0Y2gubWF0Y2hlcz8uZmluZChyZXN1bHQgPT4gcmVzdWx0LmtleSA9PT0gJ3N1YnRpdGxlJylcbiAgICAgICAgICAgICAgPy5pbmRpY2VzIHx8IFtdKSxcbiAgICAgICAgICBdLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRGaWx0ZXJBc3luYzxUIGV4dGVuZHMgU2luZ2xlU2VsZWN0Q29tcG9uZW50Lk9wdGlvbj4oXG4gICAgcXVlcnkkOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgZmV0Y2hlcjogKHF1ZXJ5OiBzdHJpbmcpID0+IFByb21pc2U8VFtdPixcbiAgICBkZWJvdW5jZUlucHV0OiBudW1iZXIgPSAzMDAsXG4gICk6IE9ic2VydmFibGU8e1xuICAgIGxvYWRpbmc6IGJvb2xlYW47XG4gICAgb3B0aW9uczogVFtdO1xuICB9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5JC5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKGRlYm91bmNlSW5wdXQpLFxuICAgICAgc3dpdGNoTWFwKHF1ZXJ5ID0+XG4gICAgICAgIGZyb20oZmV0Y2hlcihxdWVyeSkpLnBpcGUoXG4gICAgICAgICAgbWFwKG9wdGlvbnMgPT4gKHsgbG9hZGluZzogZmFsc2UsIG9wdGlvbnMgfSkpLFxuICAgICAgICAgIHN0YXJ0V2l0aCh7IGxvYWRpbmc6IHRydWUsIG9wdGlvbnM6IFtdIH0pLFxuICAgICAgICApLFxuICAgICAgKSxcbiAgICAgIHBhaXJ3aXNlKCksXG4gICAgICBtYXAoKFtwcmV2aW91cywgbmV4dF0pID0+ICh7XG4gICAgICAgIGxvYWRpbmc6IG5leHQubG9hZGluZyxcbiAgICAgICAgb3B0aW9uczogbmV4dC5sb2FkaW5nID8gcHJldmlvdXMub3B0aW9ucyA6IG5leHQub3B0aW9ucyxcbiAgICAgIH0pKSxcbiAgICAgIHN0YXJ0V2l0aCh7IGxvYWRpbmc6IGZhbHNlLCBvcHRpb25zOiBbXSB9KSxcbiAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidHJpZ2dlclRlbXBsYXRlOyBlbHNlIHN0YW5kYXJkVHJpZ2dlclwiPlxuICA8YnV0dG9uXG4gICAgI2N1c3RvbVRyaWdnZXJCdXR0b25cbiAgICAoY2xpY2spPVwiYWxsb3dlZE9wZW4oKVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGxvY2tlZFwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gID5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cmlnZ2VyVGVtcGxhdGVcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgc2VsZWN0ZWRPcHRpb24gfVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNzdGFuZGFyZFRyaWdnZXI+XG4gIDxyaXYtaW5wdXQtbGFiZWxcbiAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgIFtoZWxwXT1cImhlbHBcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2xhYmVsQWN0aW9uVGV4dF09XCJsYWJlbEFjdGlvblRleHRcIlxuICAgIChsYWJlbEFjdGlvbik9XCJsYWJlbEFjdGlvbi5lbWl0KCRldmVudClcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgI3N0YW5kYXJkVHJpZ2dlckJ1dHRvblxuICAgICAgY2xhc3M9XCJ0cmlnZ2VyXCJcbiAgICAgIChjbGljayk9XCJhbGxvd2VkT3BlbigpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCB8fCBsb2NrZWRcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdGVkT3B0aW9uOyBlbHNlIHBsYWNlaG9sZGVyVmFsdWVcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZVwiPnt7IHNlbGVjdGVkT3B0aW9uLnRpdGxlIH19PC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI3BsYWNlaG9sZGVyVmFsdWU+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWUgcGxhY2Vob2xkZXJcIj57eyBwbGFjZWhvbGRlciB9fTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8c3BhbiBjbGFzcz1cImNoZXZyb25cIj5cbiAgICAgICAgPHJpdi1pY29uICpuZ0lmPVwiIWxvY2tlZFwiIFtuYW1lXT1cIidDaGV2cm9uRG93bidcIiBbc2l6ZV09XCIxNlwiPjwvcml2LWljb24+XG4gICAgICAgIDxyaXYtaWNvbiAqbmdJZj1cImxvY2tlZFwiIFtuYW1lXT1cIidMb2NrJ1wiIFtzaXplXT1cIjE2XCI+PC9yaXYtaWNvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9yaXYtaW5wdXQtbGFiZWw+XG48L25nLXRlbXBsYXRlPlxuXG48cml2LWNhbGxvdXRcbiAgKm5nSWY9XCJvcGVuXCJcbiAgW2FuY2hvcl09XCJnZXRUcmlnZ2VyKClcIlxuICBbdGhlbWVdPVwiJ2xpZ2h0J1wiXG4gIFtzaG93Q2FyZXRdPVwiZmFsc2VcIlxuICBbYWxsb3dlZFBvc2l0aW9uc109XCJbXG4gICAgJ3RvcC1sZWZ0JyxcbiAgICAndG9wLWNlbnRlcicsXG4gICAgJ3RvcC1yaWdodCcsXG4gICAgJ2JvdHRvbS1yaWdodCcsXG4gICAgJ2JvdHRvbS1jZW50ZXInLFxuICAgICdib3R0b20tbGVmdCdcbiAgXVwiXG4gIChjbG9zZSk9XCJvcGVuID0gZmFsc2VcIlxuPlxuICA8aW5wdXRcbiAgICAqbmdJZj1cImZpbHRlcmFiaWxpdHlPcHRpb25zLmVuYWJsZWRcIlxuICAgICNmaWx0ZXJcbiAgICBjbGFzcz1cImZpbHRlclwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImdldEZpbHRlclBsYWNlaG9sZGVyKClcIlxuICAgIFt2YWx1ZV09XCJmaWx0ZXJRdWVyeVwiXG4gICAgKGlucHV0KT1cImZpbHRlclF1ZXJ5ID0gZmlsdGVyLnZhbHVlOyBmaWx0ZXJRdWVyeUNoYW5nZS5lbWl0KGZpbHRlclF1ZXJ5KVwiXG4gIC8+XG4gIDxkaXYgY2xhc3M9XCJvcHRpb25zXCI+XG4gICAgPHJpdi1sb2FkaW5nLWNvdmVyIFtsb2FkaW5nXT1cImxvYWRpbmdcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJnZXROb2RlcygpOyBsZXQgbm9kZXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGVzLmxlbmd0aCA+IDA7IGVsc2UgZW1wdHlcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBub2RlIG9mIG5vZGVzOyB0cmFja0J5OiB0cmFja0J5XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9kZVRlbXBsYXRlOyBlbHNlIHN0YW5kYXJkVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY3VzdG9tLXNpbmdsZS1zZWxlY3Qtbm9kZVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIm5vZGUuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZE9wdGlvbkNoYW5nZS5lbWl0KG5vZGUpOyBvcGVuID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibm9kZVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IG5vZGUgfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzdGFuZGFyZFRlbXBsYXRlPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzaW5nbGUtc2VsZWN0LW5vZGVcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJub2RlPy5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIm5vZGU/LmRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwibm9kZT8uZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RlZE9wdGlvbkNoYW5nZS5lbWl0KG5vZGUpOyBvcGVuID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHJpdi1pY29uXG4gICAgICAgICAgICAgICAgICBbbmFtZV09XCInQ2hlY2snXCJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwibm9kZT8uc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICAgICAgW3NpemVdPVwiMTZcIlxuICAgICAgICAgICAgICAgID48L3Jpdi1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHJpdi1oaWdobGlnaHRcbiAgICAgICAgICAgICAgICAgICAgICBbdGV4dF09XCJub2RlPy50aXRsZSB8fCAnJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2luZGljZXNdPVwibm9kZT8udGl0bGVIaWdobGlnaHRJbmRpY2VzIHx8IFtdXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvcml2LWhpZ2hsaWdodD5cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibm9kZT8uc3VidGl0bGVcIiBjbGFzcz1cImxhYmVsLXN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxyaXYtaGlnaGxpZ2h0XG4gICAgICAgICAgICAgICAgICAgICAgW3RleHRdPVwibm9kZT8uc3VidGl0bGUgfHwgJydcIlxuICAgICAgICAgICAgICAgICAgICAgIFtpbmRpY2VzXT1cIm5vZGU/LnN1YnRpdGxlSGlnaGxpZ2h0SW5kaWNlcyB8fCBbXVwiXG4gICAgICAgICAgICAgICAgICAgID48L3Jpdi1oaWdobGlnaHQ+XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2VtcHR5PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJlbXB0eVwiPlxuICAgICAgICAgICAge3sgbm9PcHRpb25zTWVzc2FnZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9yaXYtbG9hZGluZy1jb3Zlcj5cbiAgPC9kaXY+XG48L3Jpdi1jYWxsb3V0PlxuIl19
|
|
@@ -57,6 +57,7 @@ const ArrowRight = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"
|
|
|
57
57
|
const ArrowUp = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="feather feather-arrow-up">\n <line x1="12" y1="19" x2="12" y2="5"></line><polyline points="5 12 12 5 19 12"></polyline>\n</svg>`;
|
|
58
58
|
const ArrowUpRight = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="feather feather-arrow-up-right">\n <line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline>\n</svg>`;
|
|
59
59
|
const AtSign = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="feather feather-at-sign">\n <circle cx="12" cy="12" r="4"></circle><path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94"></path>\n</svg>`;
|
|
60
|
+
const Award = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" class="feather feather-award" viewBox="0 0 24 24"><circle cx="12" cy="8" r="7"/><path d="M8.21 13.89 7 23l5-3 5 3-1.21-9.12"/></svg>`;
|
|
60
61
|
const BarChart2 = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="feather feather-bar-chart-2">\n <line x1="18" y1="20" x2="18" y2="10"></line><line x1="12" y1="20" x2="12" y2="4"></line><line x1="6" y1="20" x2="6" y2="14"></line>\n</svg>`;
|
|
61
62
|
const Bell = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="feather feather-bell">\n <path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"></path><path d="M13.73 21a2 2 0 0 1-3.46 0"></path>\n</svg>`;
|
|
62
63
|
const Book = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="feather feather-book">\n <path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"></path><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"></path>\n</svg>`;
|
|
@@ -180,6 +181,7 @@ const icons = {
|
|
|
180
181
|
ArrowUp,
|
|
181
182
|
ArrowUpRight,
|
|
182
183
|
AtSign,
|
|
184
|
+
Award,
|
|
183
185
|
BarChart2,
|
|
184
186
|
Bell,
|
|
185
187
|
Book,
|
|
@@ -1292,10 +1294,10 @@ class SingleSelectComponent extends InputLabelComponent {
|
|
|
1292
1294
|
}
|
|
1293
1295
|
}
|
|
1294
1296
|
SingleSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SingleSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1295
|
-
SingleSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SingleSelectComponent, selector: "riv-single-select", inputs: { options: "options", selectedOption: "selectedOption", filterabilityOptions: "filterabilityOptions", loading: "loading", locked: "locked", noOptionsMessage: "noOptionsMessage", nodeTemplate: "nodeTemplate", triggerTemplate: "triggerTemplate", placeholder: "placeholder", disabled: "disabled" }, outputs: { filterQueryChange: "filterQueryChange", selectedOptionChange: "selectedOptionChange" }, viewQueries: [{ propertyName: "customTriggerButton", first: true, predicate: ["customTriggerButton"], descendants: true }, { propertyName: "standardTriggerButton", first: true, predicate: ["standardTriggerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n />\n <div class=\"options\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngIf=\"getNodes(); let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackBy\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.selected\"\n [class.disabled]=\"node?.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.selected\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </riv-loading-cover>\n </div>\n</riv-callout>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.filter{width:100%;outline:none;border:none;border-bottom:var(--border-width) solid var(--border-light);font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small)}.filter::placeholder{color:var(--type-light-disabled)}.options{max-height:50vh;max-width:calc(var(--base-grid-size) * 150);overflow-y:auto}.single-select-node{display:flex;align-items:center;overflow:hidden;flex-grow:1;text-align:left;padding:var(--size-xsmall) var(--size-xsmall) var(--size-xsmall) calc(var(--base-grid-size) * 6);width:100%}.single-select-node.selected{padding-left:var(--size-small)}.single-select-node:hover{background-color:var(--surface-light-2)}.single-select-node.disabled{cursor:default;background-color:var(--surface-light-0)}.single-select-node.disabled .label,.single-select-node.disabled .label-subtitle{color:var(--type-light-disabled)}.single-select-node riv-icon{flex-shrink:0}.single-select-node .label{font-size:calc(var(--base-grid-size) * 4);line-height:calc(var(--base-grid-size) * 6);overflow:hidden;text-overflow:ellipsis;white-space:pre;flex-grow:1;padding:0 calc(var(--base-grid-size) * 2)}.single-select-node .label-subtitle{padding-left:var(--base-grid-size);color:var(--type-light-low-contrast)}.custom-single-select-node{display:block;width:100%;text-align:left}.empty{padding:var(--size-medium);text-align:center;color:var(--type-light-disabled)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "component", type: HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }, { kind: "component", type: InputLabelComponent, selector: "riv-input-label", inputs: ["label", "help", "required", "labelActionText"], outputs: ["labelAction"] }, { kind: "component", type: LoadingCoverComponent, selector: "riv-loading-cover", inputs: ["loading", "loadingSize", "errorMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1297
|
+
SingleSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SingleSelectComponent, selector: "riv-single-select", inputs: { options: "options", selectedOption: "selectedOption", filterabilityOptions: "filterabilityOptions", loading: "loading", locked: "locked", noOptionsMessage: "noOptionsMessage", nodeTemplate: "nodeTemplate", triggerTemplate: "triggerTemplate", placeholder: "placeholder", disabled: "disabled" }, outputs: { filterQueryChange: "filterQueryChange", selectedOptionChange: "selectedOptionChange" }, viewQueries: [{ propertyName: "customTriggerButton", first: true, predicate: ["customTriggerButton"], descendants: true }, { propertyName: "standardTriggerButton", first: true, predicate: ["standardTriggerButton"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n />\n <div class=\"options\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngIf=\"getNodes(); let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackBy\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.selected\"\n [class.disabled]=\"node?.disabled\"\n [disabled]=\"node?.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.selected\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </riv-loading-cover>\n </div>\n</riv-callout>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.filter{width:100%;outline:none;border:none;border-bottom:var(--border-width) solid var(--border-light);font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small)}.filter::placeholder{color:var(--type-light-disabled)}.options{max-height:50vh;max-width:calc(var(--base-grid-size) * 150);overflow-y:auto}.single-select-node{display:flex;align-items:center;overflow:hidden;flex-grow:1;text-align:left;padding:var(--size-xsmall) var(--size-xsmall) var(--size-xsmall) calc(var(--base-grid-size) * 6);width:100%}.single-select-node.selected{padding-left:var(--size-small)}.single-select-node:hover{background-color:var(--surface-light-2)}.single-select-node.disabled{cursor:default;background-color:var(--surface-light-0)}.single-select-node.disabled .label,.single-select-node.disabled .label-subtitle{color:var(--type-light-disabled)}.single-select-node riv-icon{flex-shrink:0}.single-select-node .label{font-size:calc(var(--base-grid-size) * 4);line-height:calc(var(--base-grid-size) * 6);overflow:hidden;text-overflow:ellipsis;white-space:pre;flex-grow:1;padding:0 calc(var(--base-grid-size) * 2)}.single-select-node .label-subtitle{padding-left:var(--base-grid-size);color:var(--type-light-low-contrast)}.custom-single-select-node{display:block;width:100%;text-align:left}.empty{padding:var(--size-medium);text-align:center;color:var(--type-light-disabled)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "component", type: HighlightComponent, selector: "riv-highlight", inputs: ["text", "indices"] }, { kind: "component", type: IconComponent, selector: "riv-icon", inputs: ["name", "size", "customSize", "strokeWidth"] }, { kind: "component", type: InputLabelComponent, selector: "riv-input-label", inputs: ["label", "help", "required", "labelActionText"], outputs: ["labelAction"] }, { kind: "component", type: LoadingCoverComponent, selector: "riv-loading-cover", inputs: ["loading", "loadingSize", "errorMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1296
1298
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SingleSelectComponent, decorators: [{
|
|
1297
1299
|
type: Component,
|
|
1298
|
-
args: [{ selector: 'riv-single-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n />\n <div class=\"options\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngIf=\"getNodes(); let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackBy\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.selected\"\n [class.disabled]=\"node?.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.selected\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </riv-loading-cover>\n </div>\n</riv-callout>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.filter{width:100%;outline:none;border:none;border-bottom:var(--border-width) solid var(--border-light);font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small)}.filter::placeholder{color:var(--type-light-disabled)}.options{max-height:50vh;max-width:calc(var(--base-grid-size) * 150);overflow-y:auto}.single-select-node{display:flex;align-items:center;overflow:hidden;flex-grow:1;text-align:left;padding:var(--size-xsmall) var(--size-xsmall) var(--size-xsmall) calc(var(--base-grid-size) * 6);width:100%}.single-select-node.selected{padding-left:var(--size-small)}.single-select-node:hover{background-color:var(--surface-light-2)}.single-select-node.disabled{cursor:default;background-color:var(--surface-light-0)}.single-select-node.disabled .label,.single-select-node.disabled .label-subtitle{color:var(--type-light-disabled)}.single-select-node riv-icon{flex-shrink:0}.single-select-node .label{font-size:calc(var(--base-grid-size) * 4);line-height:calc(var(--base-grid-size) * 6);overflow:hidden;text-overflow:ellipsis;white-space:pre;flex-grow:1;padding:0 calc(var(--base-grid-size) * 2)}.single-select-node .label-subtitle{padding-left:var(--base-grid-size);color:var(--type-light-low-contrast)}.custom-single-select-node{display:block;width:100%;text-align:left}.empty{padding:var(--size-medium);text-align:center;color:var(--type-light-disabled)}\n"] }]
|
|
1300
|
+
args: [{ selector: 'riv-single-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"triggerTemplate; else standardTrigger\">\n <button\n #customTriggerButton\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"triggerTemplate\"\n [ngTemplateOutletContext]=\"{ selectedOption }\"\n ></ng-container>\n </button>\n</ng-container>\n<ng-template #standardTrigger>\n <riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n >\n <button\n #standardTriggerButton\n class=\"trigger\"\n (click)=\"allowedOpen()\"\n [disabled]=\"disabled || locked\"\n type=\"button\"\n >\n <ng-container *ngIf=\"selectedOption; else placeholderValue\">\n <span class=\"value\">{{ selectedOption.title }}</span>\n </ng-container>\n <ng-template #placeholderValue>\n <span class=\"value placeholder\">{{ placeholder }}</span>\n </ng-template>\n <span class=\"chevron\">\n <riv-icon *ngIf=\"!locked\" [name]=\"'ChevronDown'\" [size]=\"16\"></riv-icon>\n <riv-icon *ngIf=\"locked\" [name]=\"'Lock'\" [size]=\"16\"></riv-icon>\n </span>\n </button>\n </riv-input-label>\n</ng-template>\n\n<riv-callout\n *ngIf=\"open\"\n [anchor]=\"getTrigger()\"\n [theme]=\"'light'\"\n [showCaret]=\"false\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-center',\n 'top-right',\n 'bottom-right',\n 'bottom-center',\n 'bottom-left'\n ]\"\n (close)=\"open = false\"\n>\n <input\n *ngIf=\"filterabilityOptions.enabled\"\n #filter\n class=\"filter\"\n [placeholder]=\"getFilterPlaceholder()\"\n [value]=\"filterQuery\"\n (input)=\"filterQuery = filter.value; filterQueryChange.emit(filterQuery)\"\n />\n <div class=\"options\">\n <riv-loading-cover [loading]=\"loading\">\n <ng-container *ngIf=\"getNodes(); let nodes\">\n <ng-container *ngIf=\"nodes.length > 0; else empty\">\n <ng-container *ngFor=\"let node of nodes; trackBy: trackBy\">\n <ng-container *ngIf=\"nodeTemplate; else standardTemplate\">\n <button\n class=\"custom-single-select-node\"\n [disabled]=\"node.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <ng-container\n [ngTemplateOutlet]=\"nodeTemplate\"\n [ngTemplateOutletContext]=\"{ node }\"\n ></ng-container>\n </button>\n </ng-container>\n <ng-template #standardTemplate>\n <button\n class=\"single-select-node\"\n [class.selected]=\"node?.selected\"\n [class.disabled]=\"node?.disabled\"\n [disabled]=\"node?.disabled\"\n (click)=\"selectedOptionChange.emit(node); open = false\"\n type=\"button\"\n >\n <riv-icon\n [name]=\"'Check'\"\n *ngIf=\"node?.selected\"\n [size]=\"16\"\n ></riv-icon>\n <span class=\"label\">\n <span class=\"label-title\">\n <riv-highlight\n [text]=\"node?.title || ''\"\n [indices]=\"node?.titleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n <span *ngIf=\"node?.subtitle\" class=\"label-subtitle\">\n <riv-highlight\n [text]=\"node?.subtitle || ''\"\n [indices]=\"node?.subtitleHighlightIndices || []\"\n ></riv-highlight>\n </span>\n </span>\n </button>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-template #empty>\n <div class=\"empty\">\n {{ noOptionsMessage }}\n </div>\n </ng-template>\n </ng-container>\n </riv-loading-cover>\n </div>\n</riv-callout>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0)}.trigger:focus{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger:disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small);flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre}.value.placeholder{color:var(--type-light-disabled)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-small);background-color:var(--surface-light-2);border-left:var(--border-width) solid var(--border-light)}.filter{width:100%;outline:none;border:none;border-bottom:var(--border-width) solid var(--border-light);font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);color:var(--type-light-high-contrast);padding:var(--size-small)}.filter::placeholder{color:var(--type-light-disabled)}.options{max-height:50vh;max-width:calc(var(--base-grid-size) * 150);overflow-y:auto}.single-select-node{display:flex;align-items:center;overflow:hidden;flex-grow:1;text-align:left;padding:var(--size-xsmall) var(--size-xsmall) var(--size-xsmall) calc(var(--base-grid-size) * 6);width:100%}.single-select-node.selected{padding-left:var(--size-small)}.single-select-node:hover{background-color:var(--surface-light-2)}.single-select-node.disabled{cursor:default;background-color:var(--surface-light-0)}.single-select-node.disabled .label,.single-select-node.disabled .label-subtitle{color:var(--type-light-disabled)}.single-select-node riv-icon{flex-shrink:0}.single-select-node .label{font-size:calc(var(--base-grid-size) * 4);line-height:calc(var(--base-grid-size) * 6);overflow:hidden;text-overflow:ellipsis;white-space:pre;flex-grow:1;padding:0 calc(var(--base-grid-size) * 2)}.single-select-node .label-subtitle{padding-left:var(--base-grid-size);color:var(--type-light-low-contrast)}.custom-single-select-node{display:block;width:100%;text-align:left}.empty{padding:var(--size-medium);text-align:center;color:var(--type-light-disabled)}\n"] }]
|
|
1299
1301
|
}], propDecorators: { options: [{
|
|
1300
1302
|
type: Input
|
|
1301
1303
|
}], selectedOption: [{
|