keez-invoicing 1.1.5

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.
Files changed (111) hide show
  1. package/LICENSE +28 -0
  2. package/README.md +366 -0
  3. package/dist/coverage/lcov-report/block-navigation.js +71 -0
  4. package/dist/coverage/lcov-report/prettify.js +478 -0
  5. package/dist/coverage/lcov-report/sorter.js +177 -0
  6. package/dist/eslint.config.js +56 -0
  7. package/dist/jest.config.cjs +13 -0
  8. package/dist/jest.config.js +13 -0
  9. package/dist/src/api/__tests__/index.test.js +52 -0
  10. package/dist/src/api/authorise.js +48 -0
  11. package/dist/src/api/invoices/cancel.js +33 -0
  12. package/dist/src/api/invoices/create.js +97 -0
  13. package/dist/src/api/invoices/delete.js +33 -0
  14. package/dist/src/api/invoices/downloadPdf.js +31 -0
  15. package/dist/src/api/invoices/getAll.js +84 -0
  16. package/dist/src/api/invoices/sendMail.js +59 -0
  17. package/dist/src/api/invoices/submitEfactura.js +34 -0
  18. package/dist/src/api/invoices/update.js +61 -0
  19. package/dist/src/api/invoices/validate.js +39 -0
  20. package/dist/src/api/invoices/view.js +93 -0
  21. package/dist/src/api/items/create.js +42 -0
  22. package/dist/src/api/items/getAll.js +74 -0
  23. package/dist/src/api/items/getById.js +46 -0
  24. package/dist/src/api/items/index.js +14 -0
  25. package/dist/src/api/items/patch.js +49 -0
  26. package/dist/src/api/items/update.js +41 -0
  27. package/dist/src/config/constants.js +23 -0
  28. package/dist/src/config/constructorParam.js +3 -0
  29. package/dist/src/config/measureUnit.js +22 -0
  30. package/dist/src/config/paymentType.js +17 -0
  31. package/dist/src/config/paymentType.js.js +16 -0
  32. package/dist/src/dto/allInvoicesResponse.js +3 -0
  33. package/dist/src/dto/authResponse.js +3 -0
  34. package/dist/src/dto/common/index.js +3 -0
  35. package/dist/src/dto/common/paginationParams.js +3 -0
  36. package/dist/src/dto/createInvoiceRequest.js +3 -0
  37. package/dist/src/dto/invoiceResponse.js +3 -0
  38. package/dist/src/dto/invoices/index.js +3 -0
  39. package/dist/src/dto/invoices/invoiceFilterParams.js +3 -0
  40. package/dist/src/dto/invoices/invoiceRequestV2.js +3 -0
  41. package/dist/src/dto/invoices/sendInvoiceParams.js +3 -0
  42. package/dist/src/dto/items/allItemsResponse.js +3 -0
  43. package/dist/src/dto/items/index.js +3 -0
  44. package/dist/src/dto/items/itemRequest.js +3 -0
  45. package/dist/src/dto/items/itemResponse.js +3 -0
  46. package/dist/src/errors/KeezError.js +27 -0
  47. package/dist/src/helpers/logger.js +15 -0
  48. package/dist/src/index.js +15 -0
  49. package/dist/src/keezApi.js +283 -0
  50. package/dist/tests/additional-coverage.test.js +351 -0
  51. package/dist/tests/edge-cases.test.js +353 -0
  52. package/dist/tests/error-handling.test.js +224 -0
  53. package/dist/tests/filter-params.test.js +267 -0
  54. package/dist/tests/index.test.js +493 -0
  55. package/dist/tests/invoices-extended.test.js +168 -0
  56. package/dist/tests/items.test.js +142 -0
  57. package/dist/types/coverage/lcov-report/block-navigation.d.ts +1 -0
  58. package/dist/types/coverage/lcov-report/prettify.d.ts +0 -0
  59. package/dist/types/coverage/lcov-report/sorter.d.ts +1 -0
  60. package/dist/types/eslint.config.d.ts +2 -0
  61. package/dist/types/jest.config.d.cts +9 -0
  62. package/dist/types/jest.config.d.ts +9 -0
  63. package/dist/types/src/api/__tests__/index.test.d.ts +1 -0
  64. package/dist/types/src/api/authorise.d.ts +18 -0
  65. package/dist/types/src/api/invoices/cancel.d.ts +9 -0
  66. package/dist/types/src/api/invoices/create.d.ts +22 -0
  67. package/dist/types/src/api/invoices/delete.d.ts +9 -0
  68. package/dist/types/src/api/invoices/downloadPdf.d.ts +8 -0
  69. package/dist/types/src/api/invoices/getAll.d.ts +22 -0
  70. package/dist/types/src/api/invoices/sendMail.d.ts +24 -0
  71. package/dist/types/src/api/invoices/submitEfactura.d.ts +9 -0
  72. package/dist/types/src/api/invoices/update.d.ts +11 -0
  73. package/dist/types/src/api/invoices/validate.d.ts +21 -0
  74. package/dist/types/src/api/invoices/view.d.ts +22 -0
  75. package/dist/types/src/api/items/create.d.ts +10 -0
  76. package/dist/types/src/api/items/getAll.d.ts +10 -0
  77. package/dist/types/src/api/items/getById.d.ts +10 -0
  78. package/dist/types/src/api/items/index.d.ts +5 -0
  79. package/dist/types/src/api/items/patch.d.ts +11 -0
  80. package/dist/types/src/api/items/update.d.ts +11 -0
  81. package/dist/types/src/config/constants.d.ts +13 -0
  82. package/dist/types/src/config/constructorParam.d.ts +6 -0
  83. package/dist/types/src/config/measureUnit.d.ts +17 -0
  84. package/dist/types/src/config/paymentType.d.ts +12 -0
  85. package/dist/types/src/config/paymentType.js.d.ts +11 -0
  86. package/dist/types/src/dto/allInvoicesResponse.d.ts +21 -0
  87. package/dist/types/src/dto/authResponse.d.ts +7 -0
  88. package/dist/types/src/dto/common/index.d.ts +1 -0
  89. package/dist/types/src/dto/common/paginationParams.d.ts +4 -0
  90. package/dist/types/src/dto/createInvoiceRequest.d.ts +34 -0
  91. package/dist/types/src/dto/invoiceResponse.d.ts +48 -0
  92. package/dist/types/src/dto/invoices/index.d.ts +3 -0
  93. package/dist/types/src/dto/invoices/invoiceFilterParams.d.ts +8 -0
  94. package/dist/types/src/dto/invoices/invoiceRequestV2.d.ts +23 -0
  95. package/dist/types/src/dto/invoices/sendInvoiceParams.d.ts +5 -0
  96. package/dist/types/src/dto/items/allItemsResponse.d.ts +13 -0
  97. package/dist/types/src/dto/items/index.d.ts +3 -0
  98. package/dist/types/src/dto/items/itemRequest.d.ts +34 -0
  99. package/dist/types/src/dto/items/itemResponse.d.ts +15 -0
  100. package/dist/types/src/errors/KeezError.d.ts +11 -0
  101. package/dist/types/src/helpers/logger.d.ts +2 -0
  102. package/dist/types/src/index.d.ts +11 -0
  103. package/dist/types/src/keezApi.d.ts +114 -0
  104. package/dist/types/tests/additional-coverage.test.d.ts +1 -0
  105. package/dist/types/tests/edge-cases.test.d.ts +1 -0
  106. package/dist/types/tests/error-handling.test.d.ts +1 -0
  107. package/dist/types/tests/filter-params.test.d.ts +1 -0
  108. package/dist/types/tests/index.test.d.ts +1 -0
  109. package/dist/types/tests/invoices-extended.test.d.ts +1 -0
  110. package/dist/types/tests/items.test.d.ts +1 -0
  111. package/package.json +66 -0
@@ -0,0 +1,478 @@
1
+ "use strict";
2
+ /* eslint-disable */
3
+ window.PR_SHOULD_USE_CONTINUATION = true;
4
+ (function () { var h = ["break,continue,do,else,for,if,return,while"]; var u = [h, "auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"]; var p = [u, "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"]; var l = [p, "alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"]; var x = [p, "abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"]; var R = [x, "as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"]; var r = "all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes"; var w = [p, "debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"]; var s = "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"; var I = [h, "and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"]; var f = [h, "alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"]; var H = [h, "case,done,elif,esac,eval,fi,function,in,local,set,then,until"]; var A = [l, R, w, s + I, f, H]; var e = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/; var C = "str"; var z = "kwd"; var j = "com"; var O = "typ"; var G = "lit"; var L = "pun"; var F = "pln"; var m = "tag"; var E = "dec"; var J = "src"; var P = "atn"; var n = "atv"; var N = "nocode"; var M = "(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*"; function k(Z) { var ad = 0; var S = false; var ac = false; for (var V = 0, U = Z.length; V < U; ++V) {
5
+ var ae = Z[V];
6
+ if (ae.ignoreCase) {
7
+ ac = true;
8
+ }
9
+ else {
10
+ if (/[a-z]/i.test(ae.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ""))) {
11
+ S = true;
12
+ ac = false;
13
+ break;
14
+ }
15
+ }
16
+ } var Y = { b: 8, t: 9, n: 10, v: 11, f: 12, r: 13 }; function ab(ah) { var ag = ah.charCodeAt(0); if (ag !== 92) {
17
+ return ag;
18
+ } var af = ah.charAt(1); ag = Y[af]; if (ag) {
19
+ return ag;
20
+ }
21
+ else {
22
+ if ("0" <= af && af <= "7") {
23
+ return parseInt(ah.substring(1), 8);
24
+ }
25
+ else {
26
+ if (af === "u" || af === "x") {
27
+ return parseInt(ah.substring(2), 16);
28
+ }
29
+ else {
30
+ return ah.charCodeAt(1);
31
+ }
32
+ }
33
+ } } function T(af) { if (af < 32) {
34
+ return (af < 16 ? "\\x0" : "\\x") + af.toString(16);
35
+ } var ag = String.fromCharCode(af); if (ag === "\\" || ag === "-" || ag === "[" || ag === "]") {
36
+ ag = "\\" + ag;
37
+ } return ag; } function X(am) { var aq = am.substring(1, am.length - 1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]", "g")); var ak = []; var af = []; var ao = aq[0] === "^"; for (var ar = ao ? 1 : 0, aj = aq.length; ar < aj; ++ar) {
38
+ var ah = aq[ar];
39
+ if (/\\[bdsw]/i.test(ah)) {
40
+ ak.push(ah);
41
+ }
42
+ else {
43
+ var ag = ab(ah);
44
+ var al;
45
+ if (ar + 2 < aj && "-" === aq[ar + 1]) {
46
+ al = ab(aq[ar + 2]);
47
+ ar += 2;
48
+ }
49
+ else {
50
+ al = ag;
51
+ }
52
+ af.push([ag, al]);
53
+ if (!(al < 65 || ag > 122)) {
54
+ if (!(al < 65 || ag > 90)) {
55
+ af.push([Math.max(65, ag) | 32, Math.min(al, 90) | 32]);
56
+ }
57
+ if (!(al < 97 || ag > 122)) {
58
+ af.push([Math.max(97, ag) & ~32, Math.min(al, 122) & ~32]);
59
+ }
60
+ }
61
+ }
62
+ } af.sort(function (av, au) { return (av[0] - au[0]) || (au[1] - av[1]); }); var ai = []; var ap = [NaN, NaN]; for (var ar = 0; ar < af.length; ++ar) {
63
+ var at = af[ar];
64
+ if (at[0] <= ap[1] + 1) {
65
+ ap[1] = Math.max(ap[1], at[1]);
66
+ }
67
+ else {
68
+ ai.push(ap = at);
69
+ }
70
+ } var an = ["["]; if (ao) {
71
+ an.push("^");
72
+ } an.push.apply(an, ak); for (var ar = 0; ar < ai.length; ++ar) {
73
+ var at = ai[ar];
74
+ an.push(T(at[0]));
75
+ if (at[1] > at[0]) {
76
+ if (at[1] + 1 > at[0]) {
77
+ an.push("-");
78
+ }
79
+ an.push(T(at[1]));
80
+ }
81
+ } an.push("]"); return an.join(""); } function W(al) { var aj = al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)", "g")); var ah = aj.length; var an = []; for (var ak = 0, am = 0; ak < ah; ++ak) {
82
+ var ag = aj[ak];
83
+ if (ag === "(") {
84
+ ++am;
85
+ }
86
+ else {
87
+ if ("\\" === ag.charAt(0)) {
88
+ var af = +ag.substring(1);
89
+ if (af && af <= am) {
90
+ an[af] = -1;
91
+ }
92
+ }
93
+ }
94
+ } for (var ak = 1; ak < an.length; ++ak) {
95
+ if (-1 === an[ak]) {
96
+ an[ak] = ++ad;
97
+ }
98
+ } for (var ak = 0, am = 0; ak < ah; ++ak) {
99
+ var ag = aj[ak];
100
+ if (ag === "(") {
101
+ ++am;
102
+ if (an[am] === undefined) {
103
+ aj[ak] = "(?:";
104
+ }
105
+ }
106
+ else {
107
+ if ("\\" === ag.charAt(0)) {
108
+ var af = +ag.substring(1);
109
+ if (af && af <= am) {
110
+ aj[ak] = "\\" + an[am];
111
+ }
112
+ }
113
+ }
114
+ } for (var ak = 0, am = 0; ak < ah; ++ak) {
115
+ if ("^" === aj[ak] && "^" !== aj[ak + 1]) {
116
+ aj[ak] = "";
117
+ }
118
+ } if (al.ignoreCase && S) {
119
+ for (var ak = 0; ak < ah; ++ak) {
120
+ var ag = aj[ak];
121
+ var ai = ag.charAt(0);
122
+ if (ag.length >= 2 && ai === "[") {
123
+ aj[ak] = X(ag);
124
+ }
125
+ else {
126
+ if (ai !== "\\") {
127
+ aj[ak] = ag.replace(/[a-zA-Z]/g, function (ao) { var ap = ao.charCodeAt(0); return "[" + String.fromCharCode(ap & ~32, ap | 32) + "]"; });
128
+ }
129
+ }
130
+ }
131
+ } return aj.join(""); } var aa = []; for (var V = 0, U = Z.length; V < U; ++V) {
132
+ var ae = Z[V];
133
+ if (ae.global || ae.multiline) {
134
+ throw new Error("" + ae);
135
+ }
136
+ aa.push("(?:" + W(ae) + ")");
137
+ } return new RegExp(aa.join("|"), ac ? "gi" : "g"); } function a(V) { var U = /(?:^|\s)nocode(?:\s|$)/; var X = []; var T = 0; var Z = []; var W = 0; var S; if (V.currentStyle) {
138
+ S = V.currentStyle.whiteSpace;
139
+ }
140
+ else {
141
+ if (window.getComputedStyle) {
142
+ S = document.defaultView.getComputedStyle(V, null).getPropertyValue("white-space");
143
+ }
144
+ } var Y = S && "pre" === S.substring(0, 3); function aa(ab) { switch (ab.nodeType) {
145
+ case 1:
146
+ if (U.test(ab.className)) {
147
+ return;
148
+ }
149
+ for (var ae = ab.firstChild; ae; ae = ae.nextSibling) {
150
+ aa(ae);
151
+ }
152
+ var ad = ab.nodeName;
153
+ if ("BR" === ad || "LI" === ad) {
154
+ X[W] = "\n";
155
+ Z[W << 1] = T++;
156
+ Z[(W++ << 1) | 1] = ab;
157
+ }
158
+ break;
159
+ case 3:
160
+ case 4:
161
+ var ac = ab.nodeValue;
162
+ if (ac.length) {
163
+ if (!Y) {
164
+ ac = ac.replace(/[ \t\r\n]+/g, " ");
165
+ }
166
+ else {
167
+ ac = ac.replace(/\r\n?/g, "\n");
168
+ }
169
+ X[W] = ac;
170
+ Z[W << 1] = T;
171
+ T += ac.length;
172
+ Z[(W++ << 1) | 1] = ab;
173
+ }
174
+ break;
175
+ } } aa(V); return { sourceCode: X.join("").replace(/\n$/, ""), spans: Z }; } function B(S, U, W, T) { if (!U) {
176
+ return;
177
+ } var V = { sourceCode: U, basePos: S }; W(V); T.push.apply(T, V.decorations); } var v = /\S/; function o(S) { var V = undefined; for (var U = S.firstChild; U; U = U.nextSibling) {
178
+ var T = U.nodeType;
179
+ V = (T === 1) ? (V ? S : U) : (T === 3) ? (v.test(U.nodeValue) ? S : V) : V;
180
+ } return V === S ? undefined : V; } function g(U, T) { var S = {}; var V; (function () { var ad = U.concat(T); var ah = []; var ag = {}; for (var ab = 0, Z = ad.length; ab < Z; ++ab) {
181
+ var Y = ad[ab];
182
+ var ac = Y[3];
183
+ if (ac) {
184
+ for (var ae = ac.length; --ae >= 0;) {
185
+ S[ac.charAt(ae)] = Y;
186
+ }
187
+ }
188
+ var af = Y[1];
189
+ var aa = "" + af;
190
+ if (!ag.hasOwnProperty(aa)) {
191
+ ah.push(af);
192
+ ag[aa] = null;
193
+ }
194
+ } ah.push(/[\0-\uffff]/); V = k(ah); })(); var X = T.length; var W = function (ah) { var Z = ah.sourceCode, Y = ah.basePos; var ad = [Y, F]; var af = 0; var an = Z.match(V) || []; var aj = {}; for (var ae = 0, aq = an.length; ae < aq; ++ae) {
195
+ var ag = an[ae];
196
+ var ap = aj[ag];
197
+ var ai = void 0;
198
+ var am;
199
+ if (typeof ap === "string") {
200
+ am = false;
201
+ }
202
+ else {
203
+ var aa = S[ag.charAt(0)];
204
+ if (aa) {
205
+ ai = ag.match(aa[1]);
206
+ ap = aa[0];
207
+ }
208
+ else {
209
+ for (var ao = 0; ao < X; ++ao) {
210
+ aa = T[ao];
211
+ ai = ag.match(aa[1]);
212
+ if (ai) {
213
+ ap = aa[0];
214
+ break;
215
+ }
216
+ }
217
+ if (!ai) {
218
+ ap = F;
219
+ }
220
+ }
221
+ am = ap.length >= 5 && "lang-" === ap.substring(0, 5);
222
+ if (am && !(ai && typeof ai[1] === "string")) {
223
+ am = false;
224
+ ap = J;
225
+ }
226
+ if (!am) {
227
+ aj[ag] = ap;
228
+ }
229
+ }
230
+ var ab = af;
231
+ af += ag.length;
232
+ if (!am) {
233
+ ad.push(Y + ab, ap);
234
+ }
235
+ else {
236
+ var al = ai[1];
237
+ var ak = ag.indexOf(al);
238
+ var ac = ak + al.length;
239
+ if (ai[2]) {
240
+ ac = ag.length - ai[2].length;
241
+ ak = ac - al.length;
242
+ }
243
+ var ar = ap.substring(5);
244
+ B(Y + ab, ag.substring(0, ak), W, ad);
245
+ B(Y + ab + ak, al, q(ar, al), ad);
246
+ B(Y + ab + ac, ag.substring(ac), W, ad);
247
+ }
248
+ } ah.decorations = ad; }; return W; } function i(T) { var W = [], S = []; if (T.tripleQuotedStrings) {
249
+ W.push([C, /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/, null, "'\""]);
250
+ }
251
+ else {
252
+ if (T.multiLineStrings) {
253
+ W.push([C, /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/, null, "'\"`"]);
254
+ }
255
+ else {
256
+ W.push([C, /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/, null, "\"'"]);
257
+ }
258
+ } if (T.verbatimStrings) {
259
+ S.push([C, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
260
+ } var Y = T.hashComments; if (Y) {
261
+ if (T.cStyleComments) {
262
+ if (Y > 1) {
263
+ W.push([j, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, "#"]);
264
+ }
265
+ else {
266
+ W.push([j, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/, null, "#"]);
267
+ }
268
+ S.push([C, /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/, null]);
269
+ }
270
+ else {
271
+ W.push([j, /^#[^\r\n]*/, null, "#"]);
272
+ }
273
+ } if (T.cStyleComments) {
274
+ S.push([j, /^\/\/[^\r\n]*/, null]);
275
+ S.push([j, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
276
+ } if (T.regexLiterals) {
277
+ var X = ("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");
278
+ S.push(["lang-regex", new RegExp("^" + M + "(" + X + ")")]);
279
+ } var V = T.types; if (V) {
280
+ S.push([O, V]);
281
+ } var U = ("" + T.keywords).replace(/^ | $/g, ""); if (U.length) {
282
+ S.push([z, new RegExp("^(?:" + U.replace(/[\s,]+/g, "|") + ")\\b"), null]);
283
+ } W.push([F, /^\s+/, null, " \r\n\t\xA0"]); S.push([G, /^@[a-z_$][a-z_$@0-9]*/i, null], [O, /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null], [F, /^[a-z_$][a-z_$@0-9]*/i, null], [G, new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*", "i"), null, "0123456789"], [F, /^\\[\s\S]?/, null], [L, /^.[^\s\w\.$@\'\"\`\/\#\\]*/, null]); return g(W, S); } var K = i({ keywords: A, hashComments: true, cStyleComments: true, multiLineStrings: true, regexLiterals: true }); function Q(V, ag) { var U = /(?:^|\s)nocode(?:\s|$)/; var ab = /\r\n?|\n/; var ac = V.ownerDocument; var S; if (V.currentStyle) {
284
+ S = V.currentStyle.whiteSpace;
285
+ }
286
+ else {
287
+ if (window.getComputedStyle) {
288
+ S = ac.defaultView.getComputedStyle(V, null).getPropertyValue("white-space");
289
+ }
290
+ } var Z = S && "pre" === S.substring(0, 3); var af = ac.createElement("LI"); while (V.firstChild) {
291
+ af.appendChild(V.firstChild);
292
+ } var W = [af]; function ae(al) { switch (al.nodeType) {
293
+ case 1:
294
+ if (U.test(al.className)) {
295
+ break;
296
+ }
297
+ if ("BR" === al.nodeName) {
298
+ ad(al);
299
+ if (al.parentNode) {
300
+ al.parentNode.removeChild(al);
301
+ }
302
+ }
303
+ else {
304
+ for (var an = al.firstChild; an; an = an.nextSibling) {
305
+ ae(an);
306
+ }
307
+ }
308
+ break;
309
+ case 3:
310
+ case 4:
311
+ if (Z) {
312
+ var am = al.nodeValue;
313
+ var aj = am.match(ab);
314
+ if (aj) {
315
+ var ai = am.substring(0, aj.index);
316
+ al.nodeValue = ai;
317
+ var ah = am.substring(aj.index + aj[0].length);
318
+ if (ah) {
319
+ var ak = al.parentNode;
320
+ ak.insertBefore(ac.createTextNode(ah), al.nextSibling);
321
+ }
322
+ ad(al);
323
+ if (!ai) {
324
+ al.parentNode.removeChild(al);
325
+ }
326
+ }
327
+ }
328
+ break;
329
+ } } function ad(ak) { while (!ak.nextSibling) {
330
+ ak = ak.parentNode;
331
+ if (!ak) {
332
+ return;
333
+ }
334
+ } function ai(al, ar) { var aq = ar ? al.cloneNode(false) : al; var ao = al.parentNode; if (ao) {
335
+ var ap = ai(ao, 1);
336
+ var an = al.nextSibling;
337
+ ap.appendChild(aq);
338
+ for (var am = an; am; am = an) {
339
+ an = am.nextSibling;
340
+ ap.appendChild(am);
341
+ }
342
+ } return aq; } var ah = ai(ak.nextSibling, 0); for (var aj; (aj = ah.parentNode) && aj.nodeType === 1;) {
343
+ ah = aj;
344
+ } W.push(ah); } for (var Y = 0; Y < W.length; ++Y) {
345
+ ae(W[Y]);
346
+ } if (ag === (ag | 0)) {
347
+ W[0].setAttribute("value", ag);
348
+ } var aa = ac.createElement("OL"); aa.className = "linenums"; var X = Math.max(0, ((ag - 1)) | 0) || 0; for (var Y = 0, T = W.length; Y < T; ++Y) {
349
+ af = W[Y];
350
+ af.className = "L" + ((Y + X) % 10);
351
+ if (!af.firstChild) {
352
+ af.appendChild(ac.createTextNode("\xA0"));
353
+ }
354
+ aa.appendChild(af);
355
+ } V.appendChild(aa); } function D(ac) { var aj = /\bMSIE\b/.test(navigator.userAgent); var am = /\n/g; var al = ac.sourceCode; var an = al.length; var V = 0; var aa = ac.spans; var T = aa.length; var ah = 0; var X = ac.decorations; var Y = X.length; var Z = 0; X[Y] = an; var ar, aq; for (aq = ar = 0; aq < Y;) {
356
+ if (X[aq] !== X[aq + 2]) {
357
+ X[ar++] = X[aq++];
358
+ X[ar++] = X[aq++];
359
+ }
360
+ else {
361
+ aq += 2;
362
+ }
363
+ } Y = ar; for (aq = ar = 0; aq < Y;) {
364
+ var at = X[aq];
365
+ var ab = X[aq + 1];
366
+ var W = aq + 2;
367
+ while (W + 2 <= Y && X[W + 1] === ab) {
368
+ W += 2;
369
+ }
370
+ X[ar++] = at;
371
+ X[ar++] = ab;
372
+ aq = W;
373
+ } Y = X.length = ar; var ae = null; while (ah < T) {
374
+ var af = aa[ah];
375
+ var S = aa[ah + 2] || an;
376
+ var ag = X[Z];
377
+ var ap = X[Z + 2] || an;
378
+ var W = Math.min(S, ap);
379
+ var ak = aa[ah + 1];
380
+ var U;
381
+ if (ak.nodeType !== 1 && (U = al.substring(V, W))) {
382
+ if (aj) {
383
+ U = U.replace(am, "\r");
384
+ }
385
+ ak.nodeValue = U;
386
+ var ai = ak.ownerDocument;
387
+ var ao = ai.createElement("SPAN");
388
+ ao.className = X[Z + 1];
389
+ var ad = ak.parentNode;
390
+ ad.replaceChild(ao, ak);
391
+ ao.appendChild(ak);
392
+ if (V < S) {
393
+ aa[ah + 1] = ak = ai.createTextNode(al.substring(W, S));
394
+ ad.insertBefore(ak, ao.nextSibling);
395
+ }
396
+ }
397
+ V = W;
398
+ if (V >= S) {
399
+ ah += 2;
400
+ }
401
+ if (V >= ap) {
402
+ Z += 2;
403
+ }
404
+ } } var t = {}; function c(U, V) { for (var S = V.length; --S >= 0;) {
405
+ var T = V[S];
406
+ if (!t.hasOwnProperty(T)) {
407
+ t[T] = U;
408
+ }
409
+ else {
410
+ if (window.console) {
411
+ console.warn("cannot override language handler %s", T);
412
+ }
413
+ }
414
+ } } function q(T, S) { if (!(T && t.hasOwnProperty(T))) {
415
+ T = /^\s*</.test(S) ? "default-markup" : "default-code";
416
+ } return t[T]; } c(K, ["default-code"]); c(g([], [[F, /^[^<?]+/], [E, /^<!\w[^>]*(?:>|$)/], [j, /^<\!--[\s\S]*?(?:-\->|$)/], ["lang-", /^<\?([\s\S]+?)(?:\?>|$)/], ["lang-", /^<%([\s\S]+?)(?:%>|$)/], [L, /^(?:<[%?]|[%?]>)/], ["lang-", /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i], ["lang-js", /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i], ["lang-css", /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i], ["lang-in.tag", /^(<\/?[a-z][^<>]*>)/i]]), ["default-markup", "htm", "html", "mxml", "xhtml", "xml", "xsl"]); c(g([[F, /^[\s]+/, null, " \t\r\n"], [n, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, "\"'"]], [[m, /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i], [P, /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i], ["lang-uq.val", /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/], [L, /^[=<>\/]+/], ["lang-js", /^on\w+\s*=\s*\"([^\"]+)\"/i], ["lang-js", /^on\w+\s*=\s*\'([^\']+)\'/i], ["lang-js", /^on\w+\s*=\s*([^\"\'>\s]+)/i], ["lang-css", /^style\s*=\s*\"([^\"]+)\"/i], ["lang-css", /^style\s*=\s*\'([^\']+)\'/i], ["lang-css", /^style\s*=\s*([^\"\'>\s]+)/i]]), ["in.tag"]); c(g([], [[n, /^[\s\S]+/]]), ["uq.val"]); c(i({ keywords: l, hashComments: true, cStyleComments: true, types: e }), ["c", "cc", "cpp", "cxx", "cyc", "m"]); c(i({ keywords: "null,true,false" }), ["json"]); c(i({ keywords: R, hashComments: true, cStyleComments: true, verbatimStrings: true, types: e }), ["cs"]); c(i({ keywords: x, cStyleComments: true }), ["java"]); c(i({ keywords: H, hashComments: true, multiLineStrings: true }), ["bsh", "csh", "sh"]); c(i({ keywords: I, hashComments: true, multiLineStrings: true, tripleQuotedStrings: true }), ["cv", "py"]); c(i({ keywords: s, hashComments: true, multiLineStrings: true, regexLiterals: true }), ["perl", "pl", "pm"]); c(i({ keywords: f, hashComments: true, multiLineStrings: true, regexLiterals: true }), ["rb"]); c(i({ keywords: w, cStyleComments: true, regexLiterals: true }), ["js"]); c(i({ keywords: r, hashComments: 3, cStyleComments: true, multilineStrings: true, tripleQuotedStrings: true, regexLiterals: true }), ["coffee"]); c(g([], [[C, /^[\s\S]+/]]), ["regex"]); function d(V) { var U = V.langExtension; try {
417
+ var S = a(V.sourceNode);
418
+ var T = S.sourceCode;
419
+ V.sourceCode = T;
420
+ V.spans = S.spans;
421
+ V.basePos = 0;
422
+ q(U, T)(V);
423
+ D(V);
424
+ }
425
+ catch (W) {
426
+ if ("console" in window) {
427
+ console.log(W && W.stack ? W.stack : W);
428
+ }
429
+ } } function y(W, V, U) { var S = document.createElement("PRE"); S.innerHTML = W; if (U) {
430
+ Q(S, U);
431
+ } var T = { langExtension: V, numberLines: U, sourceNode: S }; d(T); return S.innerHTML; } function b(ad) { function Y(af) { return document.getElementsByTagName(af); } var ac = [Y("pre"), Y("code"), Y("xmp")]; var T = []; for (var aa = 0; aa < ac.length; ++aa) {
432
+ for (var Z = 0, V = ac[aa].length; Z < V; ++Z) {
433
+ T.push(ac[aa][Z]);
434
+ }
435
+ } ac = null; var W = Date; if (!W.now) {
436
+ W = { now: function () { return +(new Date); } };
437
+ } var X = 0; var S; var ab = /\blang(?:uage)?-([\w.]+)(?!\S)/; var ae = /\bprettyprint\b/; function U() { var ag = (window.PR_SHOULD_USE_CONTINUATION ? W.now() + 250 : Infinity); for (; X < T.length && W.now() < ag; X++) {
438
+ var aj = T[X];
439
+ var ai = aj.className;
440
+ if (ai.indexOf("prettyprint") >= 0) {
441
+ var ah = ai.match(ab);
442
+ var am;
443
+ if (!ah && (am = o(aj)) && "CODE" === am.tagName) {
444
+ ah = am.className.match(ab);
445
+ }
446
+ if (ah) {
447
+ ah = ah[1];
448
+ }
449
+ var al = false;
450
+ for (var ak = aj.parentNode; ak; ak = ak.parentNode) {
451
+ if ((ak.tagName === "pre" || ak.tagName === "code" || ak.tagName === "xmp") && ak.className && ak.className.indexOf("prettyprint") >= 0) {
452
+ al = true;
453
+ break;
454
+ }
455
+ }
456
+ if (!al) {
457
+ var af = aj.className.match(/\blinenums\b(?::(\d+))?/);
458
+ af = af ? af[1] && af[1].length ? +af[1] : true : false;
459
+ if (af) {
460
+ Q(aj, af);
461
+ }
462
+ S = { langExtension: ah, sourceNode: aj, numberLines: af };
463
+ d(S);
464
+ }
465
+ }
466
+ } if (X < T.length) {
467
+ setTimeout(U, 250);
468
+ }
469
+ else {
470
+ if (ad) {
471
+ ad();
472
+ }
473
+ } } U(); } window.prettyPrintOne = y; window.prettyPrint = b; window.PR = { createSimpleLexer: g, registerLangHandler: c, sourceDecorator: i, PR_ATTRIB_NAME: P, PR_ATTRIB_VALUE: n, PR_COMMENT: j, PR_DECLARATION: E, PR_KEYWORD: z, PR_LITERAL: G, PR_NOCODE: N, PR_PLAIN: F, PR_PUNCTUATION: L, PR_SOURCE: J, PR_STRING: C, PR_TAG: m, PR_TYPE: O }; })();
474
+ PR.registerLangHandler(PR.createSimpleLexer([], [[PR.PR_DECLARATION, /^<!\w[^>]*(?:>|$)/], [PR.PR_COMMENT, /^<\!--[\s\S]*?(?:-\->|$)/], [PR.PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/], ["lang-", /^<\?([\s\S]+?)(?:\?>|$)/], ["lang-", /^<%([\s\S]+?)(?:%>|$)/], ["lang-", /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i], ["lang-handlebars", /^<script\b[^>]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i], ["lang-js", /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i], ["lang-css", /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i], ["lang-in.tag", /^(<\/?[a-z][^<>]*>)/i], [PR.PR_DECLARATION, /^{{[#^>/]?\s*[\w.][^}]*}}/], [PR.PR_DECLARATION, /^{{&?\s*[\w.][^}]*}}/], [PR.PR_DECLARATION, /^{{{>?\s*[\w.][^}]*}}}/], [PR.PR_COMMENT, /^{{![^}]*}}/]]), ["handlebars", "hbs"]);
475
+ PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN, /^[ \t\r\n\f]+/, null, " \t\r\n\f"]], [[PR.PR_STRING, /^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/, null], [PR.PR_STRING, /^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/, null], ["lang-css-str", /^url\(([^\)\"\']*)\)/i], [PR.PR_KEYWORD, /^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i, null], ["lang-css-kw", /^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i], [PR.PR_COMMENT, /^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//], [PR.PR_COMMENT, /^(?:<!--|-->)/], [PR.PR_LITERAL, /^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i], [PR.PR_LITERAL, /^#(?:[0-9a-f]{3}){1,2}/i], [PR.PR_PLAIN, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i], [PR.PR_PUNCTUATION, /^[^\s\w\'\"]+/]]), ["css"]);
476
+ PR.registerLangHandler(PR.createSimpleLexer([], [[PR.PR_KEYWORD, /^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]), ["css-kw"]);
477
+ PR.registerLangHandler(PR.createSimpleLexer([], [[PR.PR_STRING, /^[^\)\"\']+/]]), ["css-str"]);
478
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJldHRpZnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jb3ZlcmFnZS9sY292LXJlcG9ydC9wcmV0dGlmeS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0JBQW9CO0FBQ3BCLE1BQU0sQ0FBQywwQkFBMEIsR0FBQyxJQUFJLENBQUM7QUFBQSxDQUFDLGNBQVcsSUFBSSxDQUFDLEdBQUMsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsNEpBQTRKLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLGtHQUFrRyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyw4UEFBOFAsQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsMklBQTJJLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLHdRQUF3USxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyw4SkFBOEosQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLDRFQUE0RSxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxnTEFBZ0wsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLHNKQUFzSixDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBQyx3S0FBd0ssQ0FBQyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsOERBQThELENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxnSEFBZ0gsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLDJTQUEyUyxDQUFDLENBQUEsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFFLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEtBQUssQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEtBQUssQ0FBQyxDQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUcsRUFBRSxDQUFDLFVBQVUsRUFBQyxDQUFDO1FBQUEsRUFBRSxHQUFDLElBQUksQ0FBQTtJQUFBLENBQUM7U0FBSSxDQUFDO1FBQUEsSUFBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHlDQUF5QyxFQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQztZQUFBLENBQUMsR0FBQyxJQUFJLENBQUM7WUFBQSxFQUFFLEdBQUMsS0FBSyxDQUFDO1lBQUEsTUFBSztRQUFBLENBQUM7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBQyxDQUFDLEVBQUMsRUFBRSxFQUFDLENBQUMsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFBLFNBQVMsRUFBRSxDQUFDLEVBQUUsSUFBRSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBRyxFQUFFLEtBQUcsRUFBRSxFQUFDLENBQUM7SUFBQSxPQUFPLEVBQUUsQ0FBQTtBQUFBLENBQUMsQ0FBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLElBQUcsRUFBRSxFQUFDLENBQUM7SUFBQSxPQUFPLEVBQUUsQ0FBQTtBQUFBLENBQUM7S0FBSSxDQUFDO0lBQUEsSUFBRyxHQUFHLElBQUUsRUFBRSxJQUFFLEVBQUUsSUFBRSxHQUFHLEVBQUMsQ0FBQztRQUFBLE9BQU8sUUFBUSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUE7SUFBQSxDQUFDO1NBQUksQ0FBQztRQUFBLElBQUcsRUFBRSxLQUFHLEdBQUcsSUFBRSxFQUFFLEtBQUcsR0FBRyxFQUFDLENBQUM7WUFBQSxPQUFPLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQUEsQ0FBQzthQUFJLENBQUM7WUFBQSxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFFLElBQUcsRUFBRSxHQUFDLEVBQUUsRUFBQyxDQUFDO0lBQUEsT0FBTSxDQUFDLEVBQUUsR0FBQyxFQUFFLENBQUEsQ0FBQyxDQUFBLE1BQU0sQ0FBQSxDQUFDLENBQUEsS0FBSyxDQUFDLEdBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUFBLENBQUMsQ0FBQSxJQUFJLEVBQUUsR0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsSUFBRyxFQUFFLEtBQUcsSUFBSSxJQUFFLEVBQUUsS0FBRyxHQUFHLElBQUUsRUFBRSxLQUFHLEdBQUcsSUFBRSxFQUFFLEtBQUcsR0FBRyxFQUFDLENBQUM7SUFBQSxFQUFFLEdBQUMsSUFBSSxHQUFDLEVBQUUsQ0FBQTtBQUFBLENBQUMsQ0FBQSxPQUFPLEVBQUUsQ0FBQSxDQUFBLENBQUMsQ0FBQSxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUUsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsb0dBQW9HLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBRyxHQUFHLENBQUMsQ0FBQSxLQUFJLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUMsRUFBRSxHQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQUEsSUFBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7UUFBQSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQUEsQ0FBQztTQUFJLENBQUM7UUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFBQSxJQUFJLEVBQUUsQ0FBQztRQUFBLElBQUcsRUFBRSxHQUFDLENBQUMsR0FBQyxFQUFFLElBQUUsR0FBRyxLQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztZQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUEsRUFBRSxJQUFFLENBQUMsQ0FBQTtRQUFBLENBQUM7YUFBSSxDQUFDO1lBQUEsRUFBRSxHQUFDLEVBQUUsQ0FBQTtRQUFBLENBQUM7UUFBQSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFBQSxJQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUMsRUFBRSxJQUFFLEVBQUUsR0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDO1lBQUEsSUFBRyxDQUFDLENBQUMsRUFBRSxHQUFDLEVBQUUsSUFBRSxFQUFFLEdBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQztnQkFBQSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUMsRUFBRSxDQUFDLEdBQUMsRUFBRSxFQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFBQSxDQUFDO1lBQUEsSUFBRyxDQUFDLENBQUMsRUFBRSxHQUFDLEVBQUUsSUFBRSxFQUFFLEdBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQztnQkFBQSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUMsRUFBRSxDQUFDLEdBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUMsR0FBRyxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQUEsQ0FBQztRQUFBLENBQUM7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBUyxFQUFFLEVBQUMsRUFBRSxJQUFFLE9BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLENBQUMsR0FBRyxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUEsS0FBSSxJQUFJLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUMsRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUFBLElBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQztRQUFBLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUFBLENBQUM7U0FBSSxDQUFDO1FBQUEsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLENBQUE7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQSxJQUFHLEVBQUUsRUFBQyxDQUFDO0lBQUEsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUFBLENBQUMsQ0FBQSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQSxLQUFJLElBQUksRUFBRSxHQUFDLENBQUMsRUFBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQUEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1FBQUEsSUFBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1lBQUEsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUFBLENBQUM7UUFBQSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUEsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBRSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQywySkFBMkosRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFBLEtBQUksSUFBSSxFQUFFLEdBQUMsQ0FBQyxFQUFDLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQUEsSUFBRyxFQUFFLEtBQUcsR0FBRyxFQUFDLENBQUM7UUFBQSxFQUFFLEVBQUUsQ0FBQTtJQUFBLENBQUM7U0FBSSxDQUFDO1FBQUEsSUFBRyxJQUFJLEtBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1lBQUEsSUFBSSxFQUFFLEdBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUEsSUFBRyxFQUFFLElBQUUsRUFBRSxJQUFFLEVBQUUsRUFBQyxDQUFDO2dCQUFBLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQTtZQUFBLENBQUM7UUFBQSxDQUFDO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxLQUFJLElBQUksRUFBRSxHQUFDLENBQUMsRUFBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQUEsSUFBRyxDQUFDLENBQUMsS0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQztRQUFBLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBQyxFQUFFLEVBQUUsQ0FBQTtJQUFBLENBQUM7QUFBQSxDQUFDLENBQUEsS0FBSSxJQUFJLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLENBQUMsRUFBQyxFQUFFLEdBQUMsRUFBRSxFQUFDLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFBQSxJQUFHLEVBQUUsS0FBRyxHQUFHLEVBQUMsQ0FBQztRQUFBLEVBQUUsRUFBRSxDQUFDO1FBQUEsSUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUcsU0FBUyxFQUFDLENBQUM7WUFBQSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUMsS0FBSyxDQUFBO1FBQUEsQ0FBQztJQUFBLENBQUM7U0FBSSxDQUFDO1FBQUEsSUFBRyxJQUFJLEtBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1lBQUEsSUFBSSxFQUFFLEdBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQUEsSUFBRyxFQUFFLElBQUUsRUFBRSxJQUFFLEVBQUUsRUFBQyxDQUFDO2dCQUFBLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBQyxJQUFJLEdBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQUEsQ0FBQztRQUFBLENBQUM7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLEtBQUksSUFBSSxFQUFFLEdBQUMsQ0FBQyxFQUFDLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUUsRUFBQyxDQUFDO0lBQUEsSUFBRyxHQUFHLEtBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFFLEdBQUcsS0FBRyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7UUFBQSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUMsRUFBRSxDQUFBO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxJQUFHLEVBQUUsQ0FBQyxVQUFVLElBQUUsQ0FBQyxFQUFDLENBQUM7SUFBQSxLQUFJLElBQUksRUFBRSxHQUFDLENBQUMsRUFBQyxFQUFFLEdBQUMsRUFBRSxFQUFDLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUEsSUFBRyxFQUFFLENBQUMsTUFBTSxJQUFFLENBQUMsSUFBRSxFQUFFLEtBQUcsR0FBRyxFQUFDLENBQUM7WUFBQSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQUEsQ0FBQzthQUFJLENBQUM7WUFBQSxJQUFHLEVBQUUsS0FBRyxJQUFJLEVBQUMsQ0FBQztnQkFBQSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUMsVUFBUyxFQUFFLElBQUUsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLE9BQU0sR0FBRyxHQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxHQUFDLENBQUMsRUFBRSxFQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsR0FBQyxHQUFHLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQTtZQUFBLENBQUM7UUFBQSxDQUFDO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUMsQ0FBQyxHQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsRUFBQyxDQUFDO0lBQUEsSUFBSSxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQUEsSUFBRyxFQUFFLENBQUMsTUFBTSxJQUFFLEVBQUUsQ0FBQyxTQUFTLEVBQUMsQ0FBQztRQUFBLE1BQU0sSUFBSSxLQUFLLENBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQUEsQ0FBQztJQUFBLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBQyxHQUFHLENBQUMsQ0FBQTtBQUFBLENBQUMsQ0FBQSxPQUFPLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUEsQ0FBQyxDQUFBLEdBQUcsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyx3QkFBd0IsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsWUFBWSxFQUFDLENBQUM7SUFBQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUE7QUFBQSxDQUFDO0tBQUksQ0FBQztJQUFBLElBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFDLENBQUM7UUFBQSxDQUFDLEdBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUE7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsSUFBRSxLQUFLLEtBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxTQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUUsUUFBTyxFQUFFLENBQUMsUUFBUSxFQUFDLENBQUM7SUFBQSxLQUFLLENBQUM7UUFBQyxJQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFDLENBQUM7WUFBQSxPQUFNO1FBQUEsQ0FBQztRQUFBLEtBQUksSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLFVBQVUsRUFBQyxFQUFFLEVBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUMsQ0FBQztZQUFBLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUFBLENBQUM7UUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDO1FBQUEsSUFBRyxJQUFJLEtBQUcsRUFBRSxJQUFFLElBQUksS0FBRyxFQUFFLEVBQUMsQ0FBQztZQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxJQUFJLENBQUM7WUFBQSxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsRUFBRSxDQUFDO1lBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFBO1FBQUEsQ0FBQztRQUFBLE1BQU07SUFBQSxLQUFLLENBQUMsQ0FBQztJQUFBLEtBQUssQ0FBQztRQUFDLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFBQSxJQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUMsQ0FBQztZQUFBLElBQUcsQ0FBQyxDQUFDLEVBQUMsQ0FBQztnQkFBQSxFQUFFLEdBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUMsR0FBRyxDQUFDLENBQUE7WUFBQSxDQUFDO2lCQUFJLENBQUM7Z0JBQUEsRUFBRSxHQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFDLElBQUksQ0FBQyxDQUFBO1lBQUEsQ0FBQztZQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxFQUFFLENBQUM7WUFBQSxDQUFDLENBQUMsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQztZQUFBLENBQUMsSUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUUsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxDQUFBO1FBQUEsQ0FBQztRQUFBLE1BQUs7QUFBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLE9BQU0sRUFBQyxVQUFVLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFDLEVBQUUsQ0FBQyxFQUFDLEtBQUssRUFBQyxDQUFDLEVBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUUsSUFBRyxDQUFDLENBQUMsRUFBQyxDQUFDO0lBQUEsT0FBTTtBQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsU0FBUyxDQUFDLENBQUEsS0FBSSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsVUFBVSxFQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBQyxDQUFDO0lBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUFBLENBQUMsR0FBQyxDQUFDLENBQUMsS0FBRyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxLQUFHLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUE7QUFBQSxDQUFDLENBQUEsT0FBTyxDQUFDLEtBQUcsQ0FBQyxDQUFBLENBQUMsQ0FBQSxTQUFTLENBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksQ0FBQyxDQUFDLENBQUEsQ0FBQyxjQUFXLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsQ0FBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsQ0FBQSxLQUFJLElBQUksRUFBRSxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLE1BQU0sRUFBQyxFQUFFLEdBQUMsQ0FBQyxFQUFDLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFBQSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFBQSxJQUFJLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFBQSxJQUFHLEVBQUUsRUFBQyxDQUFDO1FBQUEsS0FBSSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRSxJQUFFLENBQUMsR0FBRSxDQUFDO1lBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO0lBQUEsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsR0FBQyxFQUFFLENBQUM7SUFBQSxJQUFHLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDO1FBQUEsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUFBLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBQyxJQUFJLENBQUE7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxVQUFTLEVBQUUsSUFBRSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsVUFBVSxFQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLEVBQUUsR0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFFLEVBQUUsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFBLEtBQUksSUFBSSxFQUFFLEdBQUMsQ0FBQyxFQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxFQUFDLEVBQUUsR0FBQyxFQUFFLEVBQUMsRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLEtBQUssQ0FBQyxDQUFDO0lBQUEsSUFBSSxFQUFFLENBQUM7SUFBQSxJQUFHLE9BQU8sRUFBRSxLQUFHLFFBQVEsRUFBQyxDQUFDO1FBQUEsRUFBRSxHQUFDLEtBQUssQ0FBQTtJQUFBLENBQUM7U0FBSSxDQUFDO1FBQUEsSUFBSSxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFBLElBQUcsRUFBRSxFQUFDLENBQUM7WUFBQSxFQUFFLEdBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO2FBQUksQ0FBQztZQUFBLEtBQUksSUFBSSxFQUFFLEdBQUMsQ0FBQyxFQUFDLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxFQUFFLEVBQUMsQ0FBQztnQkFBQSxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUFBLElBQUcsRUFBRSxFQUFDLENBQUM7b0JBQUEsRUFBRSxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFBQSxNQUFLO2dCQUFBLENBQUM7WUFBQSxDQUFDO1lBQUEsSUFBRyxDQUFDLEVBQUUsRUFBQyxDQUFDO2dCQUFBLEVBQUUsR0FBQyxDQUFDLENBQUE7WUFBQSxDQUFDO1FBQUEsQ0FBQztRQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxJQUFFLENBQUMsSUFBRSxPQUFPLEtBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFBQSxJQUFHLEVBQUUsSUFBRSxDQUFDLENBQUMsRUFBRSxJQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFHLFFBQVEsQ0FBQyxFQUFDLENBQUM7WUFBQSxFQUFFLEdBQUMsS0FBSyxDQUFDO1lBQUEsRUFBRSxHQUFDLENBQUMsQ0FBQTtRQUFBLENBQUM7UUFBQSxJQUFHLENBQUMsRUFBRSxFQUFDLENBQUM7WUFBQSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUMsRUFBRSxDQUFBO1FBQUEsQ0FBQztJQUFBLENBQUM7SUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUM7SUFBQSxFQUFFLElBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQztJQUFBLElBQUcsQ0FBQyxFQUFFLEVBQUMsQ0FBQztRQUFBLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFDLEVBQUUsRUFBQyxFQUFFLENBQUMsQ0FBQTtJQUFBLENBQUM7U0FBSSxDQUFDO1FBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQUEsSUFBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztZQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxHQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFBQSxFQUFFLEdBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUE7UUFBQSxDQUFDO1FBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUFBLENBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsQ0FBQztRQUFBLENBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxHQUFDLEVBQUUsRUFBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxFQUFFLENBQUMsRUFBQyxFQUFFLENBQUMsQ0FBQztRQUFBLENBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxHQUFDLEVBQUUsRUFBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBQyxFQUFFLENBQUMsQ0FBQTtJQUFBLENBQUM7QUFBQSxDQUFDLENBQUEsRUFBRSxDQUFDLFdBQVcsR0FBQyxFQUFFLENBQUEsQ0FBQSxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUUsSUFBSSxDQUFDLEdBQUMsRUFBRSxFQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxJQUFHLENBQUMsQ0FBQyxtQkFBbUIsRUFBQyxDQUFDO0lBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyx3TEFBd0wsRUFBQyxJQUFJLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtBQUFBLENBQUM7S0FBSSxDQUFDO0lBQUEsSUFBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQUMsQ0FBQztRQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsc0dBQXNHLEVBQUMsSUFBSSxFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFBQSxDQUFDO1NBQUksQ0FBQztRQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsb0VBQW9FLEVBQUMsSUFBSSxFQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLElBQUcsQ0FBQyxDQUFDLGVBQWUsRUFBQyxDQUFDO0lBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyw2QkFBNkIsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQSxJQUFHLENBQUMsRUFBQyxDQUFDO0lBQUEsSUFBRyxDQUFDLENBQUMsY0FBYyxFQUFDLENBQUM7UUFBQSxJQUFHLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQztZQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsdUNBQXVDLEVBQUMsSUFBSSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO2FBQUksQ0FBQztZQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsa0dBQWtHLEVBQUMsSUFBSSxFQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO1FBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxzRUFBc0UsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQUEsQ0FBQztTQUFJLENBQUM7UUFBQSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLFlBQVksRUFBQyxJQUFJLEVBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtJQUFBLENBQUM7QUFBQSxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsY0FBYyxFQUFDLENBQUM7SUFBQSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLGVBQWUsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyx5QkFBeUIsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLElBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBQyxDQUFDO0lBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQywrRkFBK0YsQ0FBQyxDQUFDO0lBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLEdBQUMsQ0FBQyxHQUFDLEdBQUcsR0FBQyxDQUFDLEdBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQSxJQUFHLENBQUMsRUFBQyxDQUFDO0lBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUM7SUFBQSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBQyxHQUFHLENBQUMsR0FBQyxNQUFNLENBQUMsRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLElBQUksRUFBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyx3QkFBd0IsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyw4Q0FBOEMsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyx1QkFBdUIsRUFBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxJQUFJLE1BQU0sQ0FBQyxxRkFBcUYsRUFBQyxHQUFHLENBQUMsRUFBQyxJQUFJLEVBQUMsWUFBWSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsWUFBWSxFQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLDRCQUE0QixFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxFQUFDLENBQUMsRUFBQyxZQUFZLEVBQUMsSUFBSSxFQUFDLGNBQWMsRUFBQyxJQUFJLEVBQUMsZ0JBQWdCLEVBQUMsSUFBSSxFQUFDLGFBQWEsRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUEsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUUsSUFBRSxJQUFJLENBQUMsR0FBQyx3QkFBd0IsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLFVBQVUsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQSxJQUFJLENBQUMsQ0FBQyxDQUFBLElBQUcsQ0FBQyxDQUFDLFlBQVksRUFBQyxDQUFDO0lBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFBO0FBQUEsQ0FBQztLQUFJLENBQUM7SUFBQSxJQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBQyxDQUFDO1FBQUEsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLElBQUUsS0FBSyxLQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBLE9BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBQyxDQUFDO0lBQUEsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUE7QUFBQSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBLFNBQVMsRUFBRSxDQUFDLEVBQUUsSUFBRSxRQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUMsQ0FBQztJQUFBLEtBQUssQ0FBQztRQUFDLElBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUMsQ0FBQztZQUFBLE1BQUs7UUFBQSxDQUFDO1FBQUEsSUFBRyxJQUFJLEtBQUcsRUFBRSxDQUFDLFFBQVEsRUFBQyxDQUFDO1lBQUEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQUEsSUFBRyxFQUFFLENBQUMsVUFBVSxFQUFDLENBQUM7Z0JBQUEsRUFBRSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUE7WUFBQSxDQUFDO1FBQUEsQ0FBQzthQUFJLENBQUM7WUFBQSxLQUFJLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUMsRUFBRSxFQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsV0FBVyxFQUFDLENBQUM7Z0JBQUEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQUEsQ0FBQztRQUFBLENBQUM7UUFBQSxNQUFNO0lBQUEsS0FBSyxDQUFDLENBQUM7SUFBQSxLQUFLLENBQUM7UUFBQyxJQUFHLENBQUMsRUFBQyxDQUFDO1lBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFBQSxJQUFHLEVBQUUsRUFBQyxDQUFDO2dCQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFBQSxFQUFFLENBQUMsU0FBUyxHQUFDLEVBQUUsQ0FBQztnQkFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUFBLElBQUcsRUFBRSxFQUFDLENBQUM7b0JBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQztvQkFBQSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFBO2dCQUFBLENBQUM7Z0JBQUEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUFBLElBQUcsQ0FBQyxFQUFFLEVBQUMsQ0FBQztvQkFBQSxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtnQkFBQSxDQUFDO1lBQUEsQ0FBQztRQUFBLENBQUM7UUFBQSxNQUFLO0FBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxTQUFTLEVBQUUsQ0FBQyxFQUFFLElBQUUsT0FBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUMsQ0FBQztJQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQUEsSUFBRyxDQUFDLEVBQUUsRUFBQyxDQUFDO1FBQUEsT0FBTTtJQUFBLENBQUM7QUFBQSxDQUFDLENBQUEsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFDLEVBQUUsSUFBRSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQSxJQUFHLEVBQUUsRUFBQyxDQUFDO0lBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUM7SUFBQSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQUEsS0FBSSxJQUFJLEVBQUUsR0FBQyxFQUFFLEVBQUMsRUFBRSxFQUFDLEVBQUUsR0FBQyxFQUFFLEVBQUMsQ0FBQztRQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDO1FBQUEsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUFBLENBQUM7QUFBQSxDQUFDLENBQUEsT0FBTyxFQUFFLENBQUEsQ0FBQSxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxLQUFJLElBQUksRUFBRSxFQUFDLENBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBRSxFQUFFLENBQUMsUUFBUSxLQUFHLENBQUMsR0FBRSxDQUFDO0lBQUEsRUFBRSxHQUFDLEVBQUUsQ0FBQTtBQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxFQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7SUFBQSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFBQSxDQUFDLENBQUEsSUFBRyxFQUFFLEtBQUcsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztJQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUMsU0FBUyxHQUFDLFVBQVUsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsQ0FBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7SUFBQSxFQUFFLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQUEsRUFBRSxDQUFDLFNBQVMsR0FBQyxHQUFHLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQztJQUFBLElBQUcsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFDLENBQUM7UUFBQSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQTtJQUFBLENBQUM7SUFBQSxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQSxDQUFDLENBQUEsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFFLElBQUksRUFBRSxHQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsS0FBSyxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLElBQUksRUFBRSxFQUFDLEVBQUUsQ0FBQyxDQUFBLEtBQUksRUFBRSxHQUFDLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLENBQUMsR0FBRSxDQUFDO0lBQUEsSUFBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUcsQ0FBQyxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1FBQUEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUFBLENBQUM7U0FBSSxDQUFDO1FBQUEsRUFBRSxJQUFFLENBQUMsQ0FBQTtJQUFBLENBQUM7QUFBQSxDQUFDLENBQUEsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLEtBQUksRUFBRSxHQUFDLEVBQUUsR0FBQyxDQUFDLEVBQUMsRUFBRSxHQUFDLENBQUMsR0FBRSxDQUFDO0lBQUEsSUFBSSxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQUEsSUFBSSxFQUFFLEdBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUksQ0FBQyxHQUFDLEVBQUUsR0FBQyxDQUFDLENBQUM7SUFBQSxPQUFNLENBQUMsR0FBQyxDQUFDLElBQUUsQ0FBQyxJQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLEtBQUcsRUFBRSxFQUFDLENBQUM7UUFBQSxDQUFDLElBQUUsQ0FBQyxDQUFBO0lBQUEsQ0FBQztJQUFBLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFDLEVBQUUsQ0FBQztJQUFBLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFDLEVBQUUsQ0FBQztJQUFBLEVBQUUsR0FBQyxDQUFDLENBQUE7QUFBQSxDQUFDLENBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUMsRUFBRSxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsSUFBSSxDQUFDLENBQUEsT0FBTSxFQUFFLEdBQUMsQ0FBQyxFQUFDLENBQUM7SUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFBQSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxJQUFFLEVBQUUsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFDLElBQUUsRUFBRSxDQUFDO0lBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsRUFBRSxDQUFDLENBQUM7SUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDO0lBQUEsSUFBSSxDQUFDLENBQUM7SUFBQSxJQUFHLEVBQUUsQ0FBQyxRQUFRLEtBQUcsQ0FBQyxJQUFFLENBQUMsQ0FBQyxHQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztRQUFBLElBQUcsRUFBRSxFQUFDLENBQUM7WUFBQSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUMsSUFBSSxDQUFDLENBQUE7UUFBQSxDQUFDO1FBQUEsRUFBRSxDQUFDLFNBQVMsR0FBQyxDQUFDLENBQUM7UUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQUEsSUFBSSxFQUFFLEdBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUFBLEVBQUUsQ0FBQyxTQUFTLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQztRQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFBQSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBQyxFQUFFLENBQUMsQ0FBQztRQUFBLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFBQSxJQUFHLENBQUMsR0FBQyxDQUFDLEVBQUMsQ0FBQztZQUFBLEVBQUUsQ0FBQyxFQUFFLEdBQUMsQ0FBQyxDQUFDLEdBQUMsRUFBRSxHQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFBLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUFBLENBQUM7SUFBQSxDQUFDO0lBQUEsQ0FBQyxHQUFDLENBQUMsQ0FBQztJQUFBLElBQUcsQ0FBQyxJQUFFLENBQUMsRUFBQyxDQUFDO1FBQUEsRUFBRSxJQUFFLENBQUMsQ0FBQTtJQUFBLENBQUM7SUFBQSxJQUFHLENBQUMsSUFBRSxFQUFFLEVBQUMsQ0FBQztRQUFBLENBQUMsSUFBRSxDQUFDLENBQUE7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxFQUFFLENBQUMsQ0FBQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLEtBQUksSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxFQUFFLENBQUMsSUFBRSxDQUFDLEdBQUUsQ0FBQztJQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUMsQ0FBQyxDQUFBO0lBQUEsQ0FBQztTQUFJLENBQUM7UUFBQSxJQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUMsQ0FBQztZQUFBLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLEVBQUMsQ0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxDQUFDLENBQUEsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBRSxJQUFHLENBQUMsQ0FBQyxDQUFDLElBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUM7SUFBQSxDQUFDLEdBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUEsZ0JBQWdCLENBQUEsQ0FBQyxDQUFBLGNBQWMsQ0FBQTtBQUFBLENBQUMsQ0FBQSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsU0FBUyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsbUJBQW1CLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQywwQkFBMEIsQ0FBQyxFQUFDLENBQUMsT0FBTyxFQUFDLHlCQUF5QixDQUFDLEVBQUMsQ0FBQyxPQUFPLEVBQUMsdUJBQXVCLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxrQkFBa0IsQ0FBQyxFQUFDLENBQUMsT0FBTyxFQUFDLHdDQUF3QyxDQUFDLEVBQUMsQ0FBQyxTQUFTLEVBQUMsZ0RBQWdELENBQUMsRUFBQyxDQUFDLFVBQVUsRUFBQyw4Q0FBOEMsQ0FBQyxFQUFDLENBQUMsYUFBYSxFQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsZ0JBQWdCLEVBQUMsS0FBSyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEtBQUssRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxJQUFJLEVBQUMsU0FBUyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsOEJBQThCLEVBQUMsSUFBSSxFQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxtQ0FBbUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFDLHdDQUF3QyxDQUFDLEVBQUMsQ0FBQyxhQUFhLEVBQUMsNkNBQTZDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBQyxXQUFXLENBQUMsRUFBQyxDQUFDLFNBQVMsRUFBQyw0QkFBNEIsQ0FBQyxFQUFDLENBQUMsU0FBUyxFQUFDLDRCQUE0QixDQUFDLEVBQUMsQ0FBQyxTQUFTLEVBQUMsNkJBQTZCLENBQUMsRUFBQyxDQUFDLFVBQVUsRUFBQyw0QkFBNEIsQ0FBQyxFQUFDLENBQUMsVUFBVSxFQUFDLDRCQUE0QixDQUFDLEVBQUMsQ0FBQyxVQUFVLEVBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxDQUFDLEVBQUMsWUFBWSxFQUFDLElBQUksRUFBQyxjQUFjLEVBQUMsSUFBSSxFQUFDLEtBQUssRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxFQUFDLElBQUksRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxpQkFBaUIsRUFBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxDQUFDLEVBQUMsWUFBWSxFQUFDLElBQUksRUFBQyxjQUFjLEVBQUMsSUFBSSxFQUFDLGVBQWUsRUFBQyxJQUFJLEVBQUMsS0FBSyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxDQUFDLEVBQUMsY0FBYyxFQUFDLElBQUksRUFBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxDQUFDLEVBQUMsWUFBWSxFQUFDLElBQUksRUFBQyxnQkFBZ0IsRUFBQyxJQUFJLEVBQUMsQ0FBQyxFQUFDLENBQUMsS0FBSyxFQUFDLEtBQUssRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxDQUFDLEVBQUMsWUFBWSxFQUFDLElBQUksRUFBQyxnQkFBZ0IsRUFBQyxJQUFJLEVBQUMsbUJBQW1CLEVBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxDQUFDLEVBQUMsWUFBWSxFQUFDLElBQUksRUFBQyxnQkFBZ0IsRUFBQyxJQUFJLEVBQUMsYUFBYSxFQUFDLElBQUksRUFBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLEVBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxFQUFDLENBQUMsRUFBQyxZQUFZLEVBQUMsSUFBSSxFQUFDLGdCQUFnQixFQUFDLElBQUksRUFBQyxhQUFhLEVBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxFQUFDLENBQUMsRUFBQyxjQUFjLEVBQUMsSUFBSSxFQUFDLGFBQWEsRUFBQyxJQUFJLEVBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxRQUFRLEVBQUMsQ0FBQyxFQUFDLFlBQVksRUFBQyxDQUFDLEVBQUMsY0FBYyxFQUFDLElBQUksRUFBQyxnQkFBZ0IsRUFBQyxJQUFJLEVBQUMsbUJBQW1CLEVBQUMsSUFBSSxFQUFDLGFBQWEsRUFBQyxJQUFJLEVBQUMsQ0FBQyxFQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBRSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUEsSUFBRyxDQUFDO0lBQUEsSUFBSSxDQUFDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUFBLElBQUksQ0FBQyxHQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFBQSxDQUFDLENBQUMsVUFBVSxHQUFDLENBQUMsQ0FBQztJQUFBLENBQUMsQ0FBQyxLQUFLLEdBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUFBLENBQUMsQ0FBQyxPQUFPLEdBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUFBLENBQUM7QUFBQSxPQUFNLENBQUMsRUFBQyxDQUFDO0lBQUEsSUFBRyxTQUFTLElBQUksTUFBTSxFQUFDLENBQUM7UUFBQSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBRSxDQUFDLENBQUMsS0FBSyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsS0FBSyxDQUFBLENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQTtJQUFBLENBQUM7QUFBQSxDQUFDLENBQUEsQ0FBQyxDQUFBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxJQUFFLElBQUksQ0FBQyxHQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQSxDQUFDLENBQUMsU0FBUyxHQUFDLENBQUMsQ0FBQyxDQUFBLElBQUcsQ0FBQyxFQUFDLENBQUM7SUFBQSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFBO0FBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEVBQUMsYUFBYSxFQUFDLENBQUMsRUFBQyxXQUFXLEVBQUMsQ0FBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQSxDQUFBLENBQUMsQ0FBQSxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFFLE9BQU8sUUFBUSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUEsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBLElBQUksQ0FBQyxHQUFDLEVBQUUsQ0FBQyxDQUFBLEtBQUksSUFBSSxFQUFFLEdBQUMsQ0FBQyxFQUFDLEVBQUUsR0FBQyxFQUFFLENBQUMsTUFBTSxFQUFDLEVBQUUsRUFBRSxFQUFDLENBQUM7SUFBQSxLQUFJLElBQUksQ0FBQyxHQUFDLENBQUMsRUFBQyxDQUFDLEdBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLEdBQUMsQ0FBQyxFQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7UUFBQSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxFQUFFLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBSSxDQUFDLEdBQUMsSUFBSSxDQUFDLENBQUEsSUFBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQztJQUFBLENBQUMsR0FBQyxFQUFDLEdBQUcsRUFBQyxjQUFXLE9BQU8sQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUEsQ0FBQSxDQUFDLEVBQUMsQ0FBQTtBQUFBLENBQUMsQ0FBQSxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUMsQ0FBQSxJQUFJLENBQUMsQ0FBQyxDQUFBLElBQUksRUFBRSxHQUFDLGdDQUFnQyxDQUFDLENBQUEsSUFBSSxFQUFFLEdBQUMsaUJBQWlCLENBQUMsQ0FBQSxTQUFTLENBQUMsS0FBRyxJQUFJLEVBQUUsR0FBQyxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQSxDQUFDLENBQUEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFDLEdBQUcsQ0FBQSxDQUFDLENBQUEsUUFBUSxDQUFDLENBQUMsQ0FBQSxPQUFLLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxJQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBQyxFQUFFLEVBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFBQSxJQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUUsQ0FBQyxFQUFDLENBQUM7UUFBQSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQUEsSUFBSSxFQUFFLENBQUM7UUFBQSxJQUFHLENBQUMsRUFBRSxJQUFFLENBQUMsRUFBRSxHQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFFLE1BQU0sS0FBRyxFQUFFLENBQUMsT0FBTyxFQUFDLENBQUM7WUFBQSxFQUFFLEdBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7UUFBQSxDQUFDO1FBQUEsSUFBRyxFQUFFLEVBQUMsQ0FBQztZQUFBLEVBQUUsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO1FBQUEsSUFBSSxFQUFFLEdBQUMsS0FBSyxDQUFDO1FBQUEsS0FBSSxJQUFJLEVBQUUsR0FBQyxFQUFFLENBQUMsVUFBVSxFQUFDLEVBQUUsRUFBQyxFQUFFLEdBQUMsRUFBRSxDQUFDLFVBQVUsRUFBQyxDQUFDO1lBQUEsSUFBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEtBQUcsS0FBSyxJQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUcsTUFBTSxJQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUcsS0FBSyxDQUFDLElBQUUsRUFBRSxDQUFDLFNBQVMsSUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBRSxDQUFDLEVBQUMsQ0FBQztnQkFBQSxFQUFFLEdBQUMsSUFBSSxDQUFDO2dCQUFBLE1BQUs7WUFBQSxDQUFDO1FBQUEsQ0FBQztRQUFBLElBQUcsQ0FBQyxFQUFFLEVBQUMsQ0FBQztZQUFBLElBQUksRUFBRSxHQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFBQSxFQUFFLEdBQUMsRUFBRSxDQUFBLENBQUMsQ0FBQSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFBLElBQUksQ0FBQSxDQUFDLENBQUEsS0FBSyxDQUFDO1lBQUEsSUFBRyxFQUFFLEVBQUMsQ0FBQztnQkFBQSxDQUFDLENBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQUEsQ0FBQztZQUFBLENBQUMsR0FBQyxFQUFDLGFBQWEsRUFBQyxFQUFFLEVBQUMsVUFBVSxFQUFDLEVBQUUsRUFBQyxXQUFXLEVBQUMsRUFBRSxFQUFDLENBQUM7WUFBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFBQSxDQUFDO0lBQUEsQ0FBQztBQUFBLENBQUMsQ0FBQSxJQUFHLENBQUMsR0FBQyxDQUFDLENBQUMsTUFBTSxFQUFDLENBQUM7SUFBQSxVQUFVLENBQUMsQ0FBQyxFQUFDLEdBQUcsQ0FBQyxDQUFBO0FBQUEsQ0FBQztLQUFJLENBQUM7SUFBQSxJQUFHLEVBQUUsRUFBQyxDQUFDO1FBQUEsRUFBRSxFQUFFLENBQUE7SUFBQSxDQUFDO0FBQUEsQ0FBQyxDQUFBLENBQUMsQ0FBQSxDQUFDLEVBQUUsQ0FBQSxDQUFBLENBQUMsQ0FBQSxNQUFNLENBQUMsY0FBYyxHQUFDLENBQUMsQ0FBQyxDQUFBLE1BQU0sQ0FBQyxXQUFXLEdBQUMsQ0FBQyxDQUFDLENBQUEsTUFBTSxDQUFDLEVBQUUsR0FBQyxFQUFDLGlCQUFpQixFQUFDLENBQUMsRUFBQyxtQkFBbUIsRUFBQyxDQUFDLEVBQUMsZUFBZSxFQUFDLENBQUMsRUFBQyxjQUFjLEVBQUMsQ0FBQyxFQUFDLGVBQWUsRUFBQyxDQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsRUFBQyxjQUFjLEVBQUMsQ0FBQyxFQUFDLFVBQVUsRUFBQyxDQUFDLEVBQUMsVUFBVSxFQUFDLENBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLFFBQVEsRUFBQyxDQUFDLEVBQUMsY0FBYyxFQUFDLENBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLFNBQVMsRUFBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsQ0FBQyxFQUFDLENBQUEsQ0FBQSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQUEsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUMsbUJBQW1CLENBQUMsRUFBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUMsMEJBQTBCLENBQUMsRUFBQyxDQUFDLEVBQUUsQ0FBQyxjQUFjLEVBQUMsa0JBQWtCLENBQUMsRUFBQyxDQUFDLE9BQU8sRUFBQyx5QkFBeUIsQ0FBQyxFQUFDLENBQUMsT0FBTyxFQUFDLHVCQUF1QixDQUFDLEVBQUMsQ0FBQyxPQUFPLEVBQUMsd0NBQXdDLENBQUMsRUFBQyxDQUFDLGlCQUFpQixFQUFDLHVHQUF1RyxDQUFDLEVBQUMsQ0FBQyxTQUFTLEVBQUMsZ0RBQWdELENBQUMsRUFBQyxDQUFDLFVBQVUsRUFBQyw4Q0FBOEMsQ0FBQyxFQUFDLENBQUMsYUFBYSxFQUFDLHNCQUFzQixDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFDLDJCQUEyQixDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFDLHNCQUFzQixDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUFDLHdCQUF3QixDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFlBQVksRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQUEsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBQyxlQUFlLEVBQUMsSUFBSSxFQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUMsb0RBQW9ELEVBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFDLG9EQUFvRCxFQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsY0FBYyxFQUFDLHVCQUF1QixDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFDLDhFQUE4RSxFQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsYUFBYSxFQUFDLDRFQUE0RSxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFDLG9DQUFvQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFDLGVBQWUsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBQyxpQ0FBaUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBQyx5QkFBeUIsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBQyxtRUFBbUUsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQUEsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUMsbUVBQW1FLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0FBQUEsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG53aW5kb3cuUFJfU0hPVUxEX1VTRV9DT05USU5VQVRJT049dHJ1ZTsoZnVuY3Rpb24oKXt2YXIgaD1bXCJicmVhayxjb250aW51ZSxkbyxlbHNlLGZvcixpZixyZXR1cm4sd2hpbGVcIl07dmFyIHU9W2gsXCJhdXRvLGNhc2UsY2hhcixjb25zdCxkZWZhdWx0LGRvdWJsZSxlbnVtLGV4dGVybixmbG9hdCxnb3RvLGludCxsb25nLHJlZ2lzdGVyLHNob3J0LHNpZ25lZCxzaXplb2Ysc3RhdGljLHN0cnVjdCxzd2l0Y2gsdHlwZWRlZix1bmlvbix1bnNpZ25lZCx2b2lkLHZvbGF0aWxlXCJdO3ZhciBwPVt1LFwiY2F0Y2gsY2xhc3MsZGVsZXRlLGZhbHNlLGltcG9ydCxuZXcsb3BlcmF0b3IscHJpdmF0ZSxwcm90ZWN0ZWQscHVibGljLHRoaXMsdGhyb3csdHJ1ZSx0cnksdHlwZW9mXCJdO3ZhciBsPVtwLFwiYWxpZ25vZixhbGlnbl91bmlvbixhc20sYXhpb20sYm9vbCxjb25jZXB0LGNvbmNlcHRfbWFwLGNvbnN0X2Nhc3QsY29uc3RleHByLGRlY2x0eXBlLGR5bmFtaWNfY2FzdCxleHBsaWNpdCxleHBvcnQsZnJpZW5kLGlubGluZSxsYXRlX2NoZWNrLG11dGFibGUsbmFtZXNwYWNlLG51bGxwdHIscmVpbnRlcnByZXRfY2FzdCxzdGF0aWNfYXNzZXJ0LHN0YXRpY19jYXN0LHRlbXBsYXRlLHR5cGVpZCx0eXBlbmFtZSx1c2luZyx2aXJ0dWFsLHdoZXJlXCJdO3ZhciB4PVtwLFwiYWJzdHJhY3QsYm9vbGVhbixieXRlLGV4dGVuZHMsZmluYWwsZmluYWxseSxpbXBsZW1lbnRzLGltcG9ydCxpbnN0YW5jZW9mLG51bGwsbmF0aXZlLHBhY2thZ2Usc3RyaWN0ZnAsc3VwZXIsc3luY2hyb25pemVkLHRocm93cyx0cmFuc2llbnRcIl07dmFyIFI9W3gsXCJhcyxiYXNlLGJ5LGNoZWNrZWQsZGVjaW1hbCxkZWxlZ2F0ZSxkZXNjZW5kaW5nLGR5bmFtaWMsZXZlbnQsZml4ZWQsZm9yZWFjaCxmcm9tLGdyb3VwLGltcGxpY2l0LGluLGludGVyZmFjZSxpbnRlcm5hbCxpbnRvLGlzLGxvY2ssb2JqZWN0LG91dCxvdmVycmlkZSxvcmRlcmJ5LHBhcmFtcyxwYXJ0aWFsLHJlYWRvbmx5LHJlZixzYnl0ZSxzZWFsZWQsc3RhY2thbGxvYyxzdHJpbmcsc2VsZWN0LHVpbnQsdWxvbmcsdW5jaGVja2VkLHVuc2FmZSx1c2hvcnQsdmFyXCJdO3ZhciByPVwiYWxsLGFuZCxieSxjYXRjaCxjbGFzcyxlbHNlLGV4dGVuZHMsZmFsc2UsZmluYWxseSxmb3IsaWYsaW4saXMsaXNudCxsb29wLG5ldyxubyxub3QsbnVsbCxvZixvZmYsb24sb3IscmV0dXJuLHN1cGVyLHRoZW4sdHJ1ZSx0cnksdW5sZXNzLHVudGlsLHdoZW4sd2hpbGUseWVzXCI7dmFyIHc9W3AsXCJkZWJ1Z2dlcixldmFsLGV4cG9ydCxmdW5jdGlvbixnZXQsbnVsbCxzZXQsdW5kZWZpbmVkLHZhcix3aXRoLEluZmluaXR5LE5hTlwiXTt2YXIgcz1cImNhbGxlcixkZWxldGUsZGllLGRvLGR1bXAsZWxzaWYsZXZhbCxleGl0LGZvcmVhY2gsZm9yLGdvdG8saWYsaW1wb3J0LGxhc3QsbG9jYWwsbXksbmV4dCxubyxvdXIscHJpbnQscGFja2FnZSxyZWRvLHJlcXVpcmUsc3ViLHVuZGVmLHVubGVzcyx1bnRpbCx1c2Usd2FudGFycmF5LHdoaWxlLEJFR0lOLEVORFwiO3ZhciBJPVtoLFwiYW5kLGFzLGFzc2VydCxjbGFzcyxkZWYsZGVsLGVsaWYsZXhjZXB0LGV4ZWMsZmluYWxseSxmcm9tLGdsb2JhbCxpbXBvcnQsaW4saXMsbGFtYmRhLG5vbmxvY2FsLG5vdCxvcixwYXNzLHByaW50LHJhaXNlLHRyeSx3aXRoLHlpZWxkLEZhbHNlLFRydWUsTm9uZVwiXTt2YXIgZj1baCxcImFsaWFzLGFuZCxiZWdpbixjYXNlLGNsYXNzLGRlZixkZWZpbmVkLGVsc2lmLGVuZCxlbnN1cmUsZmFsc2UsaW4sbW9kdWxlLG5leHQsbmlsLG5vdCxvcixyZWRvLHJlc2N1ZSxyZXRyeSxzZWxmLHN1cGVyLHRoZW4sdHJ1ZSx1bmRlZix1bmxlc3MsdW50aWwsd2hlbix5aWVsZCxCRUdJTixFTkRcIl07dmFyIEg9W2gsXCJjYXNlLGRvbmUsZWxpZixlc2FjLGV2YWwsZmksZnVuY3Rpb24saW4sbG9jYWwsc2V0LHRoZW4sdW50aWxcIl07dmFyIEE9W2wsUix3LHMrSSxmLEhdO3ZhciBlPS9eKERJUnxGSUxFfHZlY3RvcnwoZGV8cHJpb3JpdHlfKT9xdWV1ZXxsaXN0fHN0YWNrfChjb25zdF8pP2l0ZXJhdG9yfChtdWx0aSk/KHNldHxtYXApfGJpdHNldHx1PyhpbnR8ZmxvYXQpXFxkKikvO3ZhciBDPVwic3RyXCI7dmFyIHo9XCJrd2RcIjt2YXIgaj1cImNvbVwiO3ZhciBPPVwidHlwXCI7dmFyIEc9XCJsaXRcIjt2YXIgTD1cInB1blwiO3ZhciBGPVwicGxuXCI7dmFyIG09XCJ0YWdcIjt2YXIgRT1cImRlY1wiO3ZhciBKPVwic3JjXCI7dmFyIFA9XCJhdG5cIjt2YXIgbj1cImF0dlwiO3ZhciBOPVwibm9jb2RlXCI7dmFyIE09XCIoPzpeXlxcXFwuP3xbKy1dfFxcXFwhfFxcXFwhPXxcXFxcIT09fFxcXFwjfFxcXFwlfFxcXFwlPXwmfCYmfCYmPXwmPXxcXFxcKHxcXFxcKnxcXFxcKj18XFxcXCs9fFxcXFwsfFxcXFwtPXxcXFxcLT58XFxcXC98XFxcXC89fDp8Ojp8XFxcXDt8PHw8PHw8PD18PD18PXw9PXw9PT18Pnw+PXw+Pnw+Pj18Pj4+fD4+Pj18XFxcXD98XFxcXEB8XFxcXFt8XFxcXF58XFxcXF49fFxcXFxeXFxcXF58XFxcXF5cXFxcXj18XFxcXHt8XFxcXHx8XFxcXHw9fFxcXFx8XFxcXHx8XFxcXHxcXFxcfD18XFxcXH58YnJlYWt8Y2FzZXxjb250aW51ZXxkZWxldGV8ZG98ZWxzZXxmaW5hbGx5fGluc3RhbmNlb2Z8cmV0dXJufHRocm93fHRyeXx0eXBlb2YpXFxcXHMqXCI7ZnVuY3Rpb24gayhaKXt2YXIgYWQ9MDt2YXIgUz1mYWxzZTt2YXIgYWM9ZmFsc2U7Zm9yKHZhciBWPTAsVT1aLmxlbmd0aDtWPFU7KytWKXt2YXIgYWU9WltWXTtpZihhZS5pZ25vcmVDYXNlKXthYz10cnVlfWVsc2V7aWYoL1thLXpdL2kudGVzdChhZS5zb3VyY2UucmVwbGFjZSgvXFxcXHVbMC05YS1mXXs0fXxcXFxceFswLTlhLWZdezJ9fFxcXFxbXnV4XS9naSxcIlwiKSkpe1M9dHJ1ZTthYz1mYWxzZTticmVha319fXZhciBZPXtiOjgsdDo5LG46MTAsdjoxMSxmOjEyLHI6MTN9O2Z1bmN0aW9uIGFiKGFoKXt2YXIgYWc9YWguY2hhckNvZGVBdCgwKTtpZihhZyE9PTkyKXtyZXR1cm4gYWd9dmFyIGFmPWFoLmNoYXJBdCgxKTthZz1ZW2FmXTtpZihhZyl7cmV0dXJuIGFnfWVsc2V7aWYoXCIwXCI8PWFmJiZhZjw9XCI3XCIpe3JldHVybiBwYXJzZUludChhaC5zdWJzdHJpbmcoMSksOCl9ZWxzZXtpZihhZj09PVwidVwifHxhZj09PVwieFwiKXtyZXR1cm4gcGFyc2VJbnQoYWguc3Vic3RyaW5nKDIpLDE2KX1lbHNle3JldHVybiBhaC5jaGFyQ29kZUF0KDEpfX19fWZ1bmN0aW9uIFQoYWYpe2lmKGFmPDMyKXtyZXR1cm4oYWY8MTY/XCJcXFxceDBcIjpcIlxcXFx4XCIpK2FmLnRvU3RyaW5nKDE2KX12YXIgYWc9U3RyaW5nLmZyb21DaGFyQ29kZShhZik7aWYoYWc9PT1cIlxcXFxcInx8YWc9PT1cIi1cInx8YWc9PT1cIltcInx8YWc9PT1cIl1cIil7YWc9XCJcXFxcXCIrYWd9cmV0dXJuIGFnfWZ1bmN0aW9uIFgoYW0pe3ZhciBhcT1hbS5zdWJzdHJpbmcoMSxhbS5sZW5ndGgtMSkubWF0Y2gobmV3IFJlZ0V4cChcIlxcXFxcXFxcdVswLTlBLUZhLWZdezR9fFxcXFxcXFxceFswLTlBLUZhLWZdezJ9fFxcXFxcXFxcWzAtM11bMC03XXswLDJ9fFxcXFxcXFxcWzAtN117MSwyfXxcXFxcXFxcXFtcXFxcc1xcXFxTXXwtfFteLVxcXFxcXFxcXVwiLFwiZ1wiKSk7dmFyIGFrPVtdO3ZhciBhZj1bXTt2YXIgYW89YXFbMF09PT1cIl5cIjtmb3IodmFyIGFyPWFvPzE6MCxhaj1hcS5sZW5ndGg7YXI8YWo7Kythcil7dmFyIGFoPWFxW2FyXTtpZigvXFxcXFtiZHN3XS9pLnRlc3QoYWgpKXthay5wdXNoKGFoKX1lbHNle3ZhciBhZz1hYihhaCk7dmFyIGFsO2lmKGFyKzI8YWomJlwiLVwiPT09YXFbYXIrMV0pe2FsPWFiKGFxW2FyKzJdKTthcis9Mn1lbHNle2FsPWFnfWFmLnB1c2goW2FnLGFsXSk7aWYoIShhbDw2NXx8YWc+MTIyKSl7aWYoIShhbDw2NXx8YWc+OTApKXthZi5wdXNoKFtNYXRoLm1heCg2NSxhZyl8MzIsTWF0aC5taW4oYWwsOTApfDMyXSl9aWYoIShhbDw5N3x8YWc+MTIyKSl7YWYucHVzaChbTWF0aC5tYXgoOTcsYWcpJn4zMixNYXRoLm1pbihhbCwxMjIpJn4zMl0pfX19fWFmLnNvcnQoZnVuY3Rpb24oYXYsYXUpe3JldHVybihhdlswXS1hdVswXSl8fChhdVsxXS1hdlsxXSl9KTt2YXIgYWk9W107dmFyIGFwPVtOYU4sTmFOXTtmb3IodmFyIGFyPTA7YXI8YWYubGVuZ3RoOysrYXIpe3ZhciBhdD1hZlthcl07aWYoYXRbMF08PWFwWzFdKzEpe2FwWzFdPU1hdGgubWF4KGFwWzFdLGF0WzFdKX1lbHNle2FpLnB1c2goYXA9YXQpfX12YXIgYW49W1wiW1wiXTtpZihhbyl7YW4ucHVzaChcIl5cIil9YW4ucHVzaC5hcHBseShhbixhayk7Zm9yKHZhciBhcj0wO2FyPGFpLmxlbmd0aDsrK2FyKXt2YXIgYXQ9YWlbYXJdO2FuLnB1c2goVChhdFswXSkpO2lmKGF0WzFdPmF0WzBdKXtpZihhdFsxXSsxPmF0WzBdKXthbi5wdXNoKFwiLVwiKX1hbi5wdXNoKFQoYXRbMV0pKX19YW4ucHVzaChcIl1cIik7cmV0dXJuIGFuLmpvaW4oXCJcIil9ZnVuY3Rpb24gVyhhbCl7dmFyIGFqPWFsLnNvdXJjZS5tYXRjaChuZXcgUmVnRXhwKFwiKD86XFxcXFsoPzpbXlxcXFx4NUNcXFxceDVEXXxcXFxcXFxcXFtcXFxcc1xcXFxTXSkqXFxcXF18XFxcXFxcXFx1W0EtRmEtZjAtOV17NH18XFxcXFxcXFx4W0EtRmEtZjAtOV17Mn18XFxcXFxcXFxbMC05XSt8XFxcXFxcXFxbXnV4MC05XXxcXFxcKFxcXFw/WzohPV18W1xcXFwoXFxcXClcXFxcXl18W15cXFxceDVCXFxcXHg1Q1xcXFwoXFxcXClcXFxcXl0rKVwiLFwiZ1wiKSk7dmFyIGFoPWFqLmxlbmd0aDt2YXIgYW49W107Zm9yKHZhciBhaz0wLGFtPTA7YWs8YWg7Kythayl7dmFyIGFnPWFqW2FrXTtpZihhZz09PVwiKFwiKXsrK2FtfWVsc2V7aWYoXCJcXFxcXCI9PT1hZy5jaGFyQXQoMCkpe3ZhciBhZj0rYWcuc3Vic3RyaW5nKDEpO2lmKGFmJiZhZjw9YW0pe2FuW2FmXT0tMX19fX1mb3IodmFyIGFrPTE7YWs8YW4ubGVuZ3RoOysrYWspe2lmKC0xPT09YW5bYWtdKXthbltha109KythZH19Zm9yKHZhciBhaz0wLGFtPTA7YWs8YWg7Kythayl7dmFyIGFnPWFqW2FrXTtpZihhZz09PVwiKFwiKXsrK2FtO2lmKGFuW2FtXT09PXVuZGVmaW5lZCl7YWpbYWtdPVwiKD86XCJ9fWVsc2V7aWYoXCJcXFxcXCI9PT1hZy5jaGFyQXQoMCkpe3ZhciBhZj0rYWcuc3Vic3RyaW5nKDEpO2lmKGFmJiZhZjw9YW0pe2FqW2FrXT1cIlxcXFxcIithblthbV19fX19Zm9yKHZhciBhaz0wLGFtPTA7YWs8YWg7Kythayl7aWYoXCJeXCI9PT1haltha10mJlwiXlwiIT09YWpbYWsrMV0pe2FqW2FrXT1cIlwifX1pZihhbC5pZ25vcmVDYXNlJiZTKXtmb3IodmFyIGFrPTA7YWs8YWg7Kythayl7dmFyIGFnPWFqW2FrXTt2YXIgYWk9YWcuY2hhckF0KDApO2lmKGFnLmxlbmd0aD49MiYmYWk9PT1cIltcIil7YWpbYWtdPVgoYWcpfWVsc2V7aWYoYWkhPT1cIlxcXFxcIil7YWpbYWtdPWFnLnJlcGxhY2UoL1thLXpBLVpdL2csZnVuY3Rpb24oYW8pe3ZhciBhcD1hby5jaGFyQ29kZUF0KDApO3JldHVyblwiW1wiK1N0cmluZy5mcm9tQ2hhckNvZGUoYXAmfjMyLGFwfDMyKStcIl1cIn0pfX19fXJldHVybiBhai5qb2luKFwiXCIpfXZhciBhYT1bXTtmb3IodmFyIFY9MCxVPVoubGVuZ3RoO1Y8VTsrK1Ype3ZhciBhZT1aW1ZdO2lmKGFlLmdsb2JhbHx8YWUubXVsdGlsaW5lKXt0aHJvdyBuZXcgRXJyb3IoXCJcIithZSl9YWEucHVzaChcIig/OlwiK1coYWUpK1wiKVwiKX1yZXR1cm4gbmV3IFJlZ0V4cChhYS5qb2luKFwifFwiKSxhYz9cImdpXCI6XCJnXCIpfWZ1bmN0aW9uIGEoVil7dmFyIFU9Lyg/Ol58XFxzKW5vY29kZSg/Olxcc3wkKS87dmFyIFg9W107dmFyIFQ9MDt2YXIgWj1bXTt2YXIgVz0wO3ZhciBTO2lmKFYuY3VycmVudFN0eWxlKXtTPVYuY3VycmVudFN0eWxlLndoaXRlU3BhY2V9ZWxzZXtpZih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSl7Uz1kb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKFYsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShcIndoaXRlLXNwYWNlXCIpfX12YXIgWT1TJiZcInByZVwiPT09Uy5zdWJzdHJpbmcoMCwzKTtmdW5jdGlvbiBhYShhYil7c3dpdGNoKGFiLm5vZGVUeXBlKXtjYXNlIDE6aWYoVS50ZXN0KGFiLmNsYXNzTmFtZSkpe3JldHVybn1mb3IodmFyIGFlPWFiLmZpcnN0Q2hpbGQ7YWU7YWU9YWUubmV4dFNpYmxpbmcpe2FhKGFlKX12YXIgYWQ9YWIubm9kZU5hbWU7aWYoXCJCUlwiPT09YWR8fFwiTElcIj09PWFkKXtYW1ddPVwiXFxuXCI7WltXPDwxXT1UKys7WlsoVysrPDwxKXwxXT1hYn1icmVhaztjYXNlIDM6Y2FzZSA0OnZhciBhYz1hYi5ub2RlVmFsdWU7aWYoYWMubGVuZ3RoKXtpZighWSl7YWM9YWMucmVwbGFjZSgvWyBcXHRcXHJcXG5dKy9nLFwiIFwiKX1lbHNle2FjPWFjLnJlcGxhY2UoL1xcclxcbj8vZyxcIlxcblwiKX1YW1ddPWFjO1pbVzw8MV09VDtUKz1hYy5sZW5ndGg7WlsoVysrPDwxKXwxXT1hYn1icmVha319YWEoVik7cmV0dXJue3NvdXJjZUNvZGU6WC5qb2luKFwiXCIpLnJlcGxhY2UoL1xcbiQvLFwiXCIpLHNwYW5zOlp9fWZ1bmN0aW9uIEIoUyxVLFcsVCl7aWYoIVUpe3JldHVybn12YXIgVj17c291cmNlQ29kZTpVLGJhc2VQb3M6U307VyhWKTtULnB1c2guYXBwbHkoVCxWLmRlY29yYXRpb25zKX12YXIgdj0vXFxTLztmdW5jdGlvbiBvKFMpe3ZhciBWPXVuZGVmaW5lZDtmb3IodmFyIFU9Uy5maXJzdENoaWxkO1U7VT1VLm5leHRTaWJsaW5nKXt2YXIgVD1VLm5vZGVUeXBlO1Y9KFQ9PT0xKT8oVj9TOlUpOihUPT09Myk/KHYudGVzdChVLm5vZGVWYWx1ZSk/UzpWKTpWfXJldHVybiBWPT09Uz91bmRlZmluZWQ6Vn1mdW5jdGlvbiBnKFUsVCl7dmFyIFM9e307dmFyIFY7KGZ1bmN0aW9uKCl7dmFyIGFkPVUuY29uY2F0KFQpO3ZhciBhaD1bXTt2YXIgYWc9e307Zm9yKHZhciBhYj0wLFo9YWQubGVuZ3RoO2FiPFo7KythYil7dmFyIFk9YWRbYWJdO3ZhciBhYz1ZWzNdO2lmKGFjKXtmb3IodmFyIGFlPWFjLmxlbmd0aDstLWFlPj0wOyl7U1thYy5jaGFyQXQoYWUpXT1ZfX12YXIgYWY9WVsxXTt2YXIgYWE9XCJcIithZjtpZighYWcuaGFzT3duUHJvcGVydHkoYWEpKXthaC5wdXNoKGFmKTthZ1thYV09bnVsbH19YWgucHVzaCgvW1xcMC1cXHVmZmZmXS8pO1Y9ayhhaCl9KSgpO3ZhciBYPVQubGVuZ3RoO3ZhciBXPWZ1bmN0aW9uKGFoKXt2YXIgWj1haC5zb3VyY2VDb2RlLFk9YWguYmFzZVBvczt2YXIgYWQ9W1ksRl07dmFyIGFmPTA7dmFyIGFuPVoubWF0Y2goVil8fFtdO3ZhciBhaj17fTtmb3IodmFyIGFlPTAsYXE9YW4ubGVuZ3RoO2FlPGFxOysrYWUpe3ZhciBhZz1hblthZV07dmFyIGFwPWFqW2FnXTt2YXIgYWk9dm9pZCAwO3ZhciBhbTtpZih0eXBlb2YgYXA9PT1cInN0cmluZ1wiKXthbT1mYWxzZX1lbHNle3ZhciBhYT1TW2FnLmNoYXJBdCgwKV07aWYoYWEpe2FpPWFnLm1hdGNoKGFhWzFdKTthcD1hYVswXX1lbHNle2Zvcih2YXIgYW89MDthbzxYOysrYW8pe2FhPVRbYW9dO2FpPWFnLm1hdGNoKGFhWzFdKTtpZihhaSl7YXA9YWFbMF07YnJlYWt9fWlmKCFhaSl7YXA9Rn19YW09YXAubGVuZ3RoPj01JiZcImxhbmctXCI9PT1hcC5zdWJzdHJpbmcoMCw1KTtpZihhbSYmIShhaSYmdHlwZW9mIGFpWzFdPT09XCJzdHJpbmdcIikpe2FtPWZhbHNlO2FwPUp9aWYoIWFtKXthalthZ109YXB9fXZhciBhYj1hZjthZis9YWcubGVuZ3RoO2lmKCFhbSl7YWQucHVzaChZK2FiLGFwKX1lbHNle3ZhciBhbD1haVsxXTt2YXIgYWs9YWcuaW5kZXhPZihhbCk7dmFyIGFjPWFrK2FsLmxlbmd0aDtpZihhaVsyXSl7YWM9YWcubGVuZ3RoLWFpWzJdLmxlbmd0aDthaz1hYy1hbC5sZW5ndGh9dmFyIGFyPWFwLnN1YnN0cmluZyg1KTtCKFkrYWIsYWcuc3Vic3RyaW5nKDAsYWspLFcsYWQpO0IoWSthYithayxhbCxxKGFyLGFsKSxhZCk7QihZK2FiK2FjLGFnLnN1YnN0cmluZyhhYyksVyxhZCl9fWFoLmRlY29yYXRpb25zPWFkfTtyZXR1cm4gV31mdW5jdGlvbiBpKFQpe3ZhciBXPVtdLFM9W107aWYoVC50cmlwbGVRdW90ZWRTdHJpbmdzKXtXLnB1c2goW0MsL14oPzpcXCdcXCdcXCcoPzpbXlxcJ1xcXFxdfFxcXFxbXFxzXFxTXXxcXCd7MSwyfSg/PVteXFwnXSkpKig/OlxcJ1xcJ1xcJ3wkKXxcXFwiXFxcIlxcXCIoPzpbXlxcXCJcXFxcXXxcXFxcW1xcc1xcU118XFxcInsxLDJ9KD89W15cXFwiXSkpKig/OlxcXCJcXFwiXFxcInwkKXxcXCcoPzpbXlxcXFxcXCddfFxcXFxbXFxzXFxTXSkqKD86XFwnfCQpfFxcXCIoPzpbXlxcXFxcXFwiXXxcXFxcW1xcc1xcU10pKig/OlxcXCJ8JCkpLyxudWxsLFwiJ1xcXCJcIl0pfWVsc2V7aWYoVC5tdWx0aUxpbmVTdHJpbmdzKXtXLnB1c2goW0MsL14oPzpcXCcoPzpbXlxcXFxcXCddfFxcXFxbXFxzXFxTXSkqKD86XFwnfCQpfFxcXCIoPzpbXlxcXFxcXFwiXXxcXFxcW1xcc1xcU10pKig/OlxcXCJ8JCl8XFxgKD86W15cXFxcXFxgXXxcXFxcW1xcc1xcU10pKig/OlxcYHwkKSkvLG51bGwsXCInXFxcImBcIl0pfWVsc2V7Vy5wdXNoKFtDLC9eKD86XFwnKD86W15cXFxcXFwnXFxyXFxuXXxcXFxcLikqKD86XFwnfCQpfFxcXCIoPzpbXlxcXFxcXFwiXFxyXFxuXXxcXFxcLikqKD86XFxcInwkKSkvLG51bGwsXCJcXFwiJ1wiXSl9fWlmKFQudmVyYmF0aW1TdHJpbmdzKXtTLnB1c2goW0MsL15AXFxcIig/OlteXFxcIl18XFxcIlxcXCIpKig/OlxcXCJ8JCkvLG51bGxdKX12YXIgWT1ULmhhc2hDb21tZW50cztpZihZKXtpZihULmNTdHlsZUNvbW1lbnRzKXtpZihZPjEpe1cucHVzaChbaiwvXiMoPzojIyg/OlteI118Iyg/ISMjKSkqKD86IyMjfCQpfC4qKS8sbnVsbCxcIiNcIl0pfWVsc2V7Vy5wdXNoKFtqLC9eIyg/Oig/OmRlZmluZXxlbGlmfGVsc2V8ZW5kaWZ8ZXJyb3J8aWZkZWZ8aW5jbHVkZXxpZm5kZWZ8bGluZXxwcmFnbWF8dW5kZWZ8d2FybmluZylcXGJ8W15cXHJcXG5dKikvLG51bGwsXCIjXCJdKX1TLnB1c2goW0MsL148KD86KD86KD86XFwuXFwuXFwvKSp8XFwvPykoPzpbXFx3LV0rKD86XFwvW1xcdy1dKykrKT9bXFx3LV0rXFwuaHxbYS16XVxcdyopPi8sbnVsbF0pfWVsc2V7Vy5wdXNoKFtqLC9eI1teXFxyXFxuXSovLG51bGwsXCIjXCJdKX19aWYoVC5jU3R5bGVDb21tZW50cyl7Uy5wdXNoKFtqLC9eXFwvXFwvW15cXHJcXG5dKi8sbnVsbF0pO1MucHVzaChbaiwvXlxcL1xcKltcXHNcXFNdKj8oPzpcXCpcXC98JCkvLG51bGxdKX1pZihULnJlZ2V4TGl0ZXJhbHMpe3ZhciBYPShcIi8oPz1bXi8qXSkoPzpbXi9cXFxceDVCXFxcXHg1Q118XFxcXHg1Q1tcXFxcc1xcXFxTXXxcXFxceDVCKD86W15cXFxceDVDXFxcXHg1RF18XFxcXHg1Q1tcXFxcc1xcXFxTXSkqKD86XFxcXHg1RHwkKSkrL1wiKTtTLnB1c2goW1wibGFuZy1yZWdleFwiLG5ldyBSZWdFeHAoXCJeXCIrTStcIihcIitYK1wiKVwiKV0pfXZhciBWPVQudHlwZXM7aWYoVil7Uy5wdXNoKFtPLFZdKX12YXIgVT0oXCJcIitULmtleXdvcmRzKS5yZXBsYWNlKC9eIHwgJC9nLFwiXCIpO2lmKFUubGVuZ3RoKXtTLnB1c2goW3osbmV3IFJlZ0V4cChcIl4oPzpcIitVLnJlcGxhY2UoL1tcXHMsXSsvZyxcInxcIikrXCIpXFxcXGJcIiksbnVsbF0pfVcucHVzaChbRiwvXlxccysvLG51bGwsXCIgXFxyXFxuXFx0XFx4QTBcIl0pO1MucHVzaChbRywvXkBbYS16XyRdW2Etel8kQDAtOV0qL2ksbnVsbF0sW08sL14oPzpbQF9dP1tBLVpdK1thLXpdW0EtWmEtel8kQDAtOV0qfFxcdytfdFxcYikvLG51bGxdLFtGLC9eW2Etel8kXVthLXpfJEAwLTldKi9pLG51bGxdLFtHLG5ldyBSZWdFeHAoXCJeKD86MHhbYS1mMC05XSt8KD86XFxcXGQoPzpfXFxcXGQrKSpcXFxcZCooPzpcXFxcLlxcXFxkKik/fFxcXFwuXFxcXGRcXFxcKykoPzplWytcXFxcLV0/XFxcXGQrKT8pW2Etel0qXCIsXCJpXCIpLG51bGwsXCIwMTIzNDU2Nzg5XCJdLFtGLC9eXFxcXFtcXHNcXFNdPy8sbnVsbF0sW0wsL14uW15cXHNcXHdcXC4kQFxcJ1xcXCJcXGBcXC9cXCNcXFxcXSovLG51bGxdKTtyZXR1cm4gZyhXLFMpfXZhciBLPWkoe2tleXdvcmRzOkEsaGFzaENvbW1lbnRzOnRydWUsY1N0eWxlQ29tbWVudHM6dHJ1ZSxtdWx0aUxpbmVTdHJpbmdzOnRydWUscmVnZXhMaXRlcmFsczp0cnVlfSk7ZnVuY3Rpb24gUShWLGFnKXt2YXIgVT0vKD86XnxcXHMpbm9jb2RlKD86XFxzfCQpLzt2YXIgYWI9L1xcclxcbj98XFxuLzt2YXIgYWM9Vi5vd25lckRvY3VtZW50O3ZhciBTO2lmKFYuY3VycmVudFN0eWxlKXtTPVYuY3VycmVudFN0eWxlLndoaXRlU3BhY2V9ZWxzZXtpZih3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSl7Uz1hYy5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKFYsbnVsbCkuZ2V0UHJvcGVydHlWYWx1ZShcIndoaXRlLXNwYWNlXCIpfX12YXIgWj1TJiZcInByZVwiPT09Uy5zdWJzdHJpbmcoMCwzKTt2YXIgYWY9YWMuY3JlYXRlRWxlbWVudChcIkxJXCIpO3doaWxlKFYuZmlyc3RDaGlsZCl7YWYuYXBwZW5kQ2hpbGQoVi5maXJzdENoaWxkKX12YXIgVz1bYWZdO2Z1bmN0aW9uIGFlKGFsKXtzd2l0Y2goYWwubm9kZVR5cGUpe2Nhc2UgMTppZihVLnRlc3QoYWwuY2xhc3NOYW1lKSl7YnJlYWt9aWYoXCJCUlwiPT09YWwubm9kZU5hbWUpe2FkKGFsKTtpZihhbC5wYXJlbnROb2RlKXthbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGFsKX19ZWxzZXtmb3IodmFyIGFuPWFsLmZpcnN0Q2hpbGQ7YW47YW49YW4ubmV4dFNpYmxpbmcpe2FlKGFuKX19YnJlYWs7Y2FzZSAzOmNhc2UgNDppZihaKXt2YXIgYW09YWwubm9kZVZhbHVlO3ZhciBhaj1hbS5tYXRjaChhYik7aWYoYWope3ZhciBhaT1hbS5zdWJzdHJpbmcoMCxhai5pbmRleCk7YWwubm9kZVZhbHVlPWFpO3ZhciBhaD1hbS5zdWJzdHJpbmcoYWouaW5kZXgrYWpbMF0ubGVuZ3RoKTtpZihhaCl7dmFyIGFrPWFsLnBhcmVudE5vZGU7YWsuaW5zZXJ0QmVmb3JlKGFjLmNyZWF0ZVRleHROb2RlKGFoKSxhbC5uZXh0U2libGluZyl9YWQoYWwpO2lmKCFhaSl7YWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChhbCl9fX1icmVha319ZnVuY3Rpb24gYWQoYWspe3doaWxlKCFhay5uZXh0U2libGluZyl7YWs9YWsucGFyZW50Tm9kZTtpZighYWspe3JldHVybn19ZnVuY3Rpb24gYWkoYWwsYXIpe3ZhciBhcT1hcj9hbC5jbG9uZU5vZGUoZmFsc2UpOmFsO3ZhciBhbz1hbC5wYXJlbnROb2RlO2lmKGFvKXt2YXIgYXA9YWkoYW8sMSk7dmFyIGFuPWFsLm5leHRTaWJsaW5nO2FwLmFwcGVuZENoaWxkKGFxKTtmb3IodmFyIGFtPWFuO2FtO2FtPWFuKXthbj1hbS5uZXh0U2libGluZzthcC5hcHBlbmRDaGlsZChhbSl9fXJldHVybiBhcX12YXIgYWg9YWkoYWsubmV4dFNpYmxpbmcsMCk7Zm9yKHZhciBhajsoYWo9YWgucGFyZW50Tm9kZSkmJmFqLm5vZGVUeXBlPT09MTspe2FoPWFqfVcucHVzaChhaCl9Zm9yKHZhciBZPTA7WTxXLmxlbmd0aDsrK1kpe2FlKFdbWV0pfWlmKGFnPT09KGFnfDApKXtXWzBdLnNldEF0dHJpYnV0ZShcInZhbHVlXCIsYWcpfXZhciBhYT1hYy5jcmVhdGVFbGVtZW50KFwiT0xcIik7YWEuY2xhc3NOYW1lPVwibGluZW51bXNcIjt2YXIgWD1NYXRoLm1heCgwLCgoYWctMSkpfDApfHwwO2Zvcih2YXIgWT0wLFQ9Vy5sZW5ndGg7WTxUOysrWSl7YWY9V1tZXTthZi5jbGFzc05hbWU9XCJMXCIrKChZK1gpJTEwKTtpZighYWYuZmlyc3RDaGlsZCl7YWYuYXBwZW5kQ2hpbGQoYWMuY3JlYXRlVGV4dE5vZGUoXCJcXHhBMFwiKSl9YWEuYXBwZW5kQ2hpbGQoYWYpfVYuYXBwZW5kQ2hpbGQoYWEpfWZ1bmN0aW9uIEQoYWMpe3ZhciBhaj0vXFxiTVNJRVxcYi8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTt2YXIgYW09L1xcbi9nO3ZhciBhbD1hYy5zb3VyY2VDb2RlO3ZhciBhbj1hbC5sZW5ndGg7dmFyIFY9MDt2YXIgYWE9YWMuc3BhbnM7dmFyIFQ9YWEubGVuZ3RoO3ZhciBhaD0wO3ZhciBYPWFjLmRlY29yYXRpb25zO3ZhciBZPVgubGVuZ3RoO3ZhciBaPTA7WFtZXT1hbjt2YXIgYXIsYXE7Zm9yKGFxPWFyPTA7YXE8WTspe2lmKFhbYXFdIT09WFthcSsyXSl7WFthcisrXT1YW2FxKytdO1hbYXIrK109WFthcSsrXX1lbHNle2FxKz0yfX1ZPWFyO2ZvcihhcT1hcj0wO2FxPFk7KXt2YXIgYXQ9WFthcV07dmFyIGFiPVhbYXErMV07dmFyIFc9YXErMjt3aGlsZShXKzI8PVkmJlhbVysxXT09PWFiKXtXKz0yfVhbYXIrK109YXQ7WFthcisrXT1hYjthcT1XfVk9WC5sZW5ndGg9YXI7dmFyIGFlPW51bGw7d2hpbGUoYWg8VCl7dmFyIGFmPWFhW2FoXTt2YXIgUz1hYVthaCsyXXx8YW47dmFyIGFnPVhbWl07dmFyIGFwPVhbWisyXXx8YW47dmFyIFc9TWF0aC5taW4oUyxhcCk7dmFyIGFrPWFhW2FoKzFdO3ZhciBVO2lmKGFrLm5vZGVUeXBlIT09MSYmKFU9YWwuc3Vic3RyaW5nKFYsVykpKXtpZihhail7VT1VLnJlcGxhY2UoYW0sXCJcXHJcIil9YWsubm9kZVZhbHVlPVU7dmFyIGFpPWFrLm93bmVyRG9jdW1lbnQ7dmFyIGFvPWFpLmNyZWF0ZUVsZW1lbnQoXCJTUEFOXCIpO2FvLmNsYXNzTmFtZT1YW1orMV07dmFyIGFkPWFrLnBhcmVudE5vZGU7YWQucmVwbGFjZUNoaWxkKGFvLGFrKTthby5hcHBlbmRDaGlsZChhayk7aWYoVjxTKXthYVthaCsxXT1haz1haS5jcmVhdGVUZXh0Tm9kZShhbC5zdWJzdHJpbmcoVyxTKSk7YWQuaW5zZXJ0QmVmb3JlKGFrLGFvLm5leHRTaWJsaW5nKX19Vj1XO2lmKFY+PVMpe2FoKz0yfWlmKFY+PWFwKXtaKz0yfX19dmFyIHQ9e307ZnVuY3Rpb24gYyhVLFYpe2Zvcih2YXIgUz1WLmxlbmd0aDstLVM+PTA7KXt2YXIgVD1WW1NdO2lmKCF0Lmhhc093blByb3BlcnR5KFQpKXt0W1RdPVV9ZWxzZXtpZih3aW5kb3cuY29uc29sZSl7Y29uc29sZS53YXJuKFwiY2Fubm90IG92ZXJyaWRlIGxhbmd1YWdlIGhhbmRsZXIgJXNcIixUKX19fX1mdW5jdGlvbiBxKFQsUyl7aWYoIShUJiZ0Lmhhc093blByb3BlcnR5KFQpKSl7VD0vXlxccyo8Ly50ZXN0KFMpP1wiZGVmYXVsdC1tYXJrdXBcIjpcImRlZmF1bHQtY29kZVwifXJldHVybiB0W1RdfWMoSyxbXCJkZWZhdWx0LWNvZGVcIl0pO2MoZyhbXSxbW0YsL15bXjw/XSsvXSxbRSwvXjwhXFx3W14+XSooPzo+fCQpL10sW2osL148XFwhLS1bXFxzXFxTXSo/KD86LVxcLT58JCkvXSxbXCJsYW5nLVwiLC9ePFxcPyhbXFxzXFxTXSs/KSg/OlxcPz58JCkvXSxbXCJsYW5nLVwiLC9ePCUoW1xcc1xcU10rPykoPzolPnwkKS9dLFtMLC9eKD86PFslP118WyU/XT4pL10sW1wibGFuZy1cIiwvXjx4bXBcXGJbXj5dKj4oW1xcc1xcU10rPyk8XFwveG1wXFxiW14+XSo+L2ldLFtcImxhbmctanNcIiwvXjxzY3JpcHRcXGJbXj5dKj4oW1xcc1xcU10qPykoPFxcL3NjcmlwdFxcYltePl0qPikvaV0sW1wibGFuZy1jc3NcIiwvXjxzdHlsZVxcYltePl0qPihbXFxzXFxTXSo/KSg8XFwvc3R5bGVcXGJbXj5dKj4pL2ldLFtcImxhbmctaW4udGFnXCIsL14oPFxcLz9bYS16XVtePD5dKj4pL2ldXSksW1wiZGVmYXVsdC1tYXJrdXBcIixcImh0bVwiLFwiaHRtbFwiLFwibXhtbFwiLFwieGh0bWxcIixcInhtbFwiLFwieHNsXCJdKTtjKGcoW1tGLC9eW1xcc10rLyxudWxsLFwiIFxcdFxcclxcblwiXSxbbiwvXig/OlxcXCJbXlxcXCJdKlxcXCI/fFxcJ1teXFwnXSpcXCc/KS8sbnVsbCxcIlxcXCInXCJdXSxbW20sL15ePFxcLz9bYS16XSg/OltcXHcuOi1dKlxcdyk/fFxcLz8+JC9pXSxbUCwvXig/IXN0eWxlW1xccz1dfG9uKVthLXpdKD86W1xcdzotXSpcXHcpPy9pXSxbXCJsYW5nLXVxLnZhbFwiLC9ePVxccyooW14+XFwnXFxcIlxcc10qKD86W14+XFwnXFxcIlxcc1xcL118XFwvKD89XFxzKSkpL10sW0wsL15bPTw+XFwvXSsvXSxbXCJsYW5nLWpzXCIsL15vblxcdytcXHMqPVxccypcXFwiKFteXFxcIl0rKVxcXCIvaV0sW1wibGFuZy1qc1wiLC9eb25cXHcrXFxzKj1cXHMqXFwnKFteXFwnXSspXFwnL2ldLFtcImxhbmctanNcIiwvXm9uXFx3K1xccyo9XFxzKihbXlxcXCJcXCc+XFxzXSspL2ldLFtcImxhbmctY3NzXCIsL15zdHlsZVxccyo9XFxzKlxcXCIoW15cXFwiXSspXFxcIi9pXSxbXCJsYW5nLWNzc1wiLC9ec3R5bGVcXHMqPVxccypcXCcoW15cXCddKylcXCcvaV0sW1wibGFuZy1jc3NcIiwvXnN0eWxlXFxzKj1cXHMqKFteXFxcIlxcJz5cXHNdKykvaV1dKSxbXCJpbi50YWdcIl0pO2MoZyhbXSxbW24sL15bXFxzXFxTXSsvXV0pLFtcInVxLnZhbFwiXSk7YyhpKHtrZXl3b3JkczpsLGhhc2hDb21tZW50czp0cnVlLGNTdHlsZUNvbW1lbnRzOnRydWUsdHlwZXM6ZX0pLFtcImNcIixcImNjXCIsXCJjcHBcIixcImN4eFwiLFwiY3ljXCIsXCJtXCJdKTtjKGkoe2tleXdvcmRzOlwibnVsbCx0cnVlLGZhbHNlXCJ9KSxbXCJqc29uXCJdKTtjKGkoe2tleXdvcmRzOlIsaGFzaENvbW1lbnRzOnRydWUsY1N0eWxlQ29tbWVudHM6dHJ1ZSx2ZXJiYXRpbVN0cmluZ3M6dHJ1ZSx0eXBlczplfSksW1wiY3NcIl0pO2MoaSh7a2V5d29yZHM6eCxjU3R5bGVDb21tZW50czp0cnVlfSksW1wiamF2YVwiXSk7YyhpKHtrZXl3b3JkczpILGhhc2hDb21tZW50czp0cnVlLG11bHRpTGluZVN0cmluZ3M6dHJ1ZX0pLFtcImJzaFwiLFwiY3NoXCIsXCJzaFwiXSk7YyhpKHtrZXl3b3JkczpJLGhhc2hDb21tZW50czp0cnVlLG11bHRpTGluZVN0cmluZ3M6dHJ1ZSx0cmlwbGVRdW90ZWRTdHJpbmdzOnRydWV9KSxbXCJjdlwiLFwicHlcIl0pO2MoaSh7a2V5d29yZHM6cyxoYXNoQ29tbWVudHM6dHJ1ZSxtdWx0aUxpbmVTdHJpbmdzOnRydWUscmVnZXhMaXRlcmFsczp0cnVlfSksW1wicGVybFwiLFwicGxcIixcInBtXCJdKTtjKGkoe2tleXdvcmRzOmYsaGFzaENvbW1lbnRzOnRydWUsbXVsdGlMaW5lU3RyaW5nczp0cnVlLHJlZ2V4TGl0ZXJhbHM6dHJ1ZX0pLFtcInJiXCJdKTtjKGkoe2tleXdvcmRzOncsY1N0eWxlQ29tbWVudHM6dHJ1ZSxyZWdleExpdGVyYWxzOnRydWV9KSxbXCJqc1wiXSk7YyhpKHtrZXl3b3JkczpyLGhhc2hDb21tZW50czozLGNTdHlsZUNvbW1lbnRzOnRydWUsbXVsdGlsaW5lU3RyaW5nczp0cnVlLHRyaXBsZVF1b3RlZFN0cmluZ3M6dHJ1ZSxyZWdleExpdGVyYWxzOnRydWV9KSxbXCJjb2ZmZWVcIl0pO2MoZyhbXSxbW0MsL15bXFxzXFxTXSsvXV0pLFtcInJlZ2V4XCJdKTtmdW5jdGlvbiBkKFYpe3ZhciBVPVYubGFuZ0V4dGVuc2lvbjt0cnl7dmFyIFM9YShWLnNvdXJjZU5vZGUpO3ZhciBUPVMuc291cmNlQ29kZTtWLnNvdXJjZUNvZGU9VDtWLnNwYW5zPVMuc3BhbnM7Vi5iYXNlUG9zPTA7cShVLFQpKFYpO0QoVil9Y2F0Y2goVyl7aWYoXCJjb25zb2xlXCIgaW4gd2luZG93KXtjb25zb2xlLmxvZyhXJiZXLnN0YWNrP1cuc3RhY2s6Vyl9fX1mdW5jdGlvbiB5KFcsVixVKXt2YXIgUz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiUFJFXCIpO1MuaW5uZXJIVE1MPVc7aWYoVSl7UShTLFUpfXZhciBUPXtsYW5nRXh0ZW5zaW9uOlYsbnVtYmVyTGluZXM6VSxzb3VyY2VOb2RlOlN9O2QoVCk7cmV0dXJuIFMuaW5uZXJIVE1MfWZ1bmN0aW9uIGIoYWQpe2Z1bmN0aW9uIFkoYWYpe3JldHVybiBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShhZil9dmFyIGFjPVtZKFwicHJlXCIpLFkoXCJjb2RlXCIpLFkoXCJ4bXBcIildO3ZhciBUPVtdO2Zvcih2YXIgYWE9MDthYTxhYy5sZW5ndGg7KythYSl7Zm9yKHZhciBaPTAsVj1hY1thYV0ubGVuZ3RoO1o8VjsrK1ope1QucHVzaChhY1thYV1bWl0pfX1hYz1udWxsO3ZhciBXPURhdGU7aWYoIVcubm93KXtXPXtub3c6ZnVuY3Rpb24oKXtyZXR1cm4gKyhuZXcgRGF0ZSl9fX12YXIgWD0wO3ZhciBTO3ZhciBhYj0vXFxibGFuZyg/OnVhZ2UpPy0oW1xcdy5dKykoPyFcXFMpLzt2YXIgYWU9L1xcYnByZXR0eXByaW50XFxiLztmdW5jdGlvbiBVKCl7dmFyIGFnPSh3aW5kb3cuUFJfU0hPVUxEX1VTRV9DT05USU5VQVRJT04/Vy5ub3coKSsyNTA6SW5maW5pdHkpO2Zvcig7WDxULmxlbmd0aCYmVy5ub3coKTxhZztYKyspe3ZhciBhaj1UW1hdO3ZhciBhaT1hai5jbGFzc05hbWU7aWYoYWkuaW5kZXhPZihcInByZXR0eXByaW50XCIpPj0wKXt2YXIgYWg9YWkubWF0Y2goYWIpO3ZhciBhbTtpZighYWgmJihhbT1vKGFqKSkmJlwiQ09ERVwiPT09YW0udGFnTmFtZSl7YWg9YW0uY2xhc3NOYW1lLm1hdGNoKGFiKX1pZihhaCl7YWg9YWhbMV19dmFyIGFsPWZhbHNlO2Zvcih2YXIgYWs9YWoucGFyZW50Tm9kZTthazthaz1hay5wYXJlbnROb2RlKXtpZigoYWsudGFnTmFtZT09PVwicHJlXCJ8fGFrLnRhZ05hbWU9PT1cImNvZGVcInx8YWsudGFnTmFtZT09PVwieG1wXCIpJiZhay5jbGFzc05hbWUmJmFrLmNsYXNzTmFtZS5pbmRleE9mKFwicHJldHR5cHJpbnRcIik+PTApe2FsPXRydWU7YnJlYWt9fWlmKCFhbCl7dmFyIGFmPWFqLmNsYXNzTmFtZS5tYXRjaCgvXFxibGluZW51bXNcXGIoPzo6KFxcZCspKT8vKTthZj1hZj9hZlsxXSYmYWZbMV0ubGVuZ3RoPythZlsxXTp0cnVlOmZhbHNlO2lmKGFmKXtRKGFqLGFmKX1TPXtsYW5nRXh0ZW5zaW9uOmFoLHNvdXJjZU5vZGU6YWosbnVtYmVyTGluZXM6YWZ9O2QoUyl9fX1pZihYPFQubGVuZ3RoKXtzZXRUaW1lb3V0KFUsMjUwKX1lbHNle2lmKGFkKXthZCgpfX19VSgpfXdpbmRvdy5wcmV0dHlQcmludE9uZT15O3dpbmRvdy5wcmV0dHlQcmludD1iO3dpbmRvdy5QUj17Y3JlYXRlU2ltcGxlTGV4ZXI6ZyxyZWdpc3RlckxhbmdIYW5kbGVyOmMsc291cmNlRGVjb3JhdG9yOmksUFJfQVRUUklCX05BTUU6UCxQUl9BVFRSSUJfVkFMVUU6bixQUl9DT01NRU5UOmosUFJfREVDTEFSQVRJT046RSxQUl9LRVlXT1JEOnosUFJfTElURVJBTDpHLFBSX05PQ09ERTpOLFBSX1BMQUlOOkYsUFJfUFVOQ1RVQVRJT046TCxQUl9TT1VSQ0U6SixQUl9TVFJJTkc6QyxQUl9UQUc6bSxQUl9UWVBFOk99fSkoKTtQUi5yZWdpc3RlckxhbmdIYW5kbGVyKFBSLmNyZWF0ZVNpbXBsZUxleGVyKFtdLFtbUFIuUFJfREVDTEFSQVRJT04sL148IVxcd1tePl0qKD86PnwkKS9dLFtQUi5QUl9DT01NRU5ULC9ePFxcIS0tW1xcc1xcU10qPyg/Oi1cXC0+fCQpL10sW1BSLlBSX1BVTkNUVUFUSU9OLC9eKD86PFslP118WyU/XT4pL10sW1wibGFuZy1cIiwvXjxcXD8oW1xcc1xcU10rPykoPzpcXD8+fCQpL10sW1wibGFuZy1cIiwvXjwlKFtcXHNcXFNdKz8pKD86JT58JCkvXSxbXCJsYW5nLVwiLC9ePHhtcFxcYltePl0qPihbXFxzXFxTXSs/KTxcXC94bXBcXGJbXj5dKj4vaV0sW1wibGFuZy1oYW5kbGViYXJzXCIsL148c2NyaXB0XFxiW14+XSp0eXBlXFxzKj1cXHMqWydcIl0/dGV4dFxcL3gtaGFuZGxlYmFycy10ZW1wbGF0ZVsnXCJdP1xcYltePl0qPihbXFxzXFxTXSo/KSg8XFwvc2NyaXB0XFxiW14+XSo+KS9pXSxbXCJsYW5nLWpzXCIsL148c2NyaXB0XFxiW14+XSo+KFtcXHNcXFNdKj8pKDxcXC9zY3JpcHRcXGJbXj5dKj4pL2ldLFtcImxhbmctY3NzXCIsL148c3R5bGVcXGJbXj5dKj4oW1xcc1xcU10qPykoPFxcL3N0eWxlXFxiW14+XSo+KS9pXSxbXCJsYW5nLWluLnRhZ1wiLC9eKDxcXC8/W2Etel1bXjw+XSo+KS9pXSxbUFIuUFJfREVDTEFSQVRJT04sL157e1sjXj4vXT9cXHMqW1xcdy5dW159XSp9fS9dLFtQUi5QUl9ERUNMQVJBVElPTiwvXnt7Jj9cXHMqW1xcdy5dW159XSp9fS9dLFtQUi5QUl9ERUNMQVJBVElPTiwvXnt7ez4/XFxzKltcXHcuXVtefV0qfX19L10sW1BSLlBSX0NPTU1FTlQsL157eyFbXn1dKn19L11dKSxbXCJoYW5kbGViYXJzXCIsXCJoYnNcIl0pO1BSLnJlZ2lzdGVyTGFuZ0hhbmRsZXIoUFIuY3JlYXRlU2ltcGxlTGV4ZXIoW1tQUi5QUl9QTEFJTiwvXlsgXFx0XFxyXFxuXFxmXSsvLG51bGwsXCIgXFx0XFxyXFxuXFxmXCJdXSxbW1BSLlBSX1NUUklORywvXlxcXCIoPzpbXlxcblxcclxcZlxcXFxcXFwiXXxcXFxcKD86XFxyXFxuP3xcXG58XFxmKXxcXFxcW1xcc1xcU10pKlxcXCIvLG51bGxdLFtQUi5QUl9TVFJJTkcsL15cXCcoPzpbXlxcblxcclxcZlxcXFxcXCddfFxcXFwoPzpcXHJcXG4/fFxcbnxcXGYpfFxcXFxbXFxzXFxTXSkqXFwnLyxudWxsXSxbXCJsYW5nLWNzcy1zdHJcIiwvXnVybFxcKChbXlxcKVxcXCJcXCddKilcXCkvaV0sW1BSLlBSX0tFWVdPUkQsL14oPzp1cmx8cmdifFxcIWltcG9ydGFudHxAaW1wb3J0fEBwYWdlfEBtZWRpYXxAY2hhcnNldHxpbmhlcml0KSg/PVteXFwtXFx3XXwkKS9pLG51bGxdLFtcImxhbmctY3NzLWt3XCIsL14oLT8oPzpbX2Etel18KD86XFxcXFswLTlhLWZdKyA/KSkoPzpbX2EtejAtOVxcLV18XFxcXCg/OlxcXFxbMC05YS1mXSsgPykpKilcXHMqOi9pXSxbUFIuUFJfQ09NTUVOVCwvXlxcL1xcKlteKl0qXFwqKyg/OlteXFwvKl1bXipdKlxcKispKlxcLy9dLFtQUi5QUl9DT01NRU5ULC9eKD86PCEtLXwtLT4pL10sW1BSLlBSX0xJVEVSQUwsL14oPzpcXGQrfFxcZCpcXC5cXGQrKSg/OiV8W2Etel0rKT8vaV0sW1BSLlBSX0xJVEVSQUwsL14jKD86WzAtOWEtZl17M30pezEsMn0vaV0sW1BSLlBSX1BMQUlOLC9eLT8oPzpbX2Etel18KD86XFxcXFtcXGRhLWZdKyA/KSkoPzpbX2EtelxcZFxcLV18XFxcXCg/OlxcXFxbXFxkYS1mXSsgPykpKi9pXSxbUFIuUFJfUFVOQ1RVQVRJT04sL15bXlxcc1xcd1xcJ1xcXCJdKy9dXSksW1wiY3NzXCJdKTtQUi5yZWdpc3RlckxhbmdIYW5kbGVyKFBSLmNyZWF0ZVNpbXBsZUxleGVyKFtdLFtbUFIuUFJfS0VZV09SRCwvXi0/KD86W19hLXpdfCg/OlxcXFxbXFxkYS1mXSsgPykpKD86W19hLXpcXGRcXC1dfFxcXFwoPzpcXFxcW1xcZGEtZl0rID8pKSovaV1dKSxbXCJjc3Mta3dcIl0pO1BSLnJlZ2lzdGVyTGFuZ0hhbmRsZXIoUFIuY3JlYXRlU2ltcGxlTGV4ZXIoW10sW1tQUi5QUl9TVFJJTkcsL15bXlxcKVxcXCJcXCddKy9dXSksW1wiY3NzLXN0clwiXSk7XG4iXX0=