aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/suite/SputnikGlobalScope.js2
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A1.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A1.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A10.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A10.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A11_T1.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A11_T1.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A11_T2.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A11_T2.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A11_T3.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A11_T3.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A11_T4.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A11_T4.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A12_T1.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A12_T1.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A12_T2.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A12_T2.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A13_T1.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A13_T1.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A13_T2.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A13_T2.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A13_T3.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A13_T3.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A14.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A14.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A15_T1.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A15_T1.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A15_T2.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A15_T2.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A15_T3.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A15_T3.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A15_T4.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A15_T4.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A15_T5.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A15_T5.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A16.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A16.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A17_T1.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A17_T1.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A17_T2.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A17_T2.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A18.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A18.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A19_T1.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A19_T1.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A19_T2.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A19_T2.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A2_T1.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A2_T1.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A2_T2.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A2_T2.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A2_T3.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A2_T3.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A3_T1.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A3_T1.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A3_T2.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A3_T2.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A3_T3.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A3_T3.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A4_T1.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A4_T1.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A4_T2.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A4_T2.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A4_T3.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A4_T3.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A4_T4.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A4_T4.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A5.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A5.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A6_T1.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A6_T1.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A6_T2.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A6_T2.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A7_T1.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A7_T1.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A7_T2.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A7_T2.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A7_T3.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A7_T3.js)0
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A8_T1.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A8_T1.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A8_T2.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A8_T2.js)4
-rw-r--r--test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A9.js (renamed from test/suite/sputnik_converted/13_Function_Definition/S13_A9.js)4
-rw-r--r--test/suite/sputnik_converted/14_Program/14.0_Chapter/S14.0_A1.js (renamed from test/suite/sputnik_converted/14_Program/S14_A1.js)4
-rw-r--r--test/suite/sputnik_converted/14_Program/14.0_Chapter/S14.0_A2.js (renamed from test/suite/sputnik_converted/14_Program/S14_A2.js)4
-rw-r--r--test/suite/sputnik_converted/14_Program/14.0_Chapter/S14.0_A3.js (renamed from test/suite/sputnik_converted/14_Program/S14_A3.js)4
-rw-r--r--test/suite/sputnik_converted/14_Program/14.0_Chapter/S14.0_A5_T1.js (renamed from test/suite/sputnik_converted/14_Program/S14_A5_T1.js)4
-rw-r--r--test/suite/sputnik_converted/14_Program/14.0_Chapter/S14.0_A5_T2.js (renamed from test/suite/sputnik_converted/14_Program/S14_A5_T2.js)4
-rw-r--r--tools/SputnikConverter/SputnikTestCase.cs29
-rw-r--r--tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.exebin24064 -> 24064 bytes
-rw-r--r--tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.pdbbin52736 -> 48640 bytes
-rw-r--r--website/resources/scripts/testcases/13_Function_Definition.json2
-rw-r--r--website/resources/scripts/testcases/14_Program.json2
-rw-r--r--website/resources/scripts/testcases/SputnikGlobalScope.js2
-rw-r--r--website/resources/scripts/testcases/testcaseslist.json2
55 files changed, 106 insertions, 117 deletions
diff --git a/test/suite/SputnikGlobalScope.js b/test/suite/SputnikGlobalScope.js
index e4908e6ec..e728bfebd 100644
--- a/test/suite/SputnikGlobalScope.js
+++ b/test/suite/SputnikGlobalScope.js
@@ -346,7 +346,7 @@ GlobalScopeTests["S12.9_A1_T6"]={"assertion":"Appearing of \"return\" without a
GlobalScopeTests["S12.9_A1_T7"]={"assertion":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return x\" with no function, placed inside Block, fails","id":"S12.9_A1_T7","path":"12_Statement\\12.9_The_return_Statement\\S12.9_A1_T7.js","negative":"."};
GlobalScopeTests["S12.9_A1_T8"]={"assertion":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return x\" with no function, placed into a loop, fails","id":"S12.9_A1_T8","path":"12_Statement\\12.9_The_return_Statement\\S12.9_A1_T8.js","negative":"."};
GlobalScopeTests["S12.9_A1_T9"]={"assertion":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return\", placed into a catch Block, fails","id":"S12.9_A1_T9","path":"12_Statement\\12.9_The_return_Statement\\S12.9_A1_T9.js","negative":"."};
-GlobalScopeTests["S13_A7_T3"]={"assertion":"The FunctionBody must be SourceElements","description":"Checking if execution of \"function __func(){\\A\\B\\C}\" fails","id":"S13_A7_T3","path":"13_Function_Definition\\S13_A7_T3.js","negative":"."};
+GlobalScopeTests["S13.0_A7_T3"]={"assertion":"The FunctionBody must be SourceElements","description":"Checking if execution of \"function __func(){\\A\\B\\C}\" fails","id":"S13.0_A7_T3","path":"13_Function_Definition\\13.0_Chapter\\S13.0_A7_T3.js","negative":"."};
GlobalScopeTests["S15.10.2.11_A1_T2"]={"assertion":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"It is an error if n is greater than the total number of left capturing parentheses in the entire regular expression","id":"S15.10.2.11_A1_T2","path":"15_Native\\15.10_RegExp_Objects\\15.10.2_Pattern_Semantics\\15.10.2.11_DecimalEscape\\S15.10.2.11_A1_T2.js","negative":"."};
GlobalScopeTests["S15.10.2.11_A1_T3"]={"assertion":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"It is an error if n is greater than the total number of left capturing parentheses in the entire regular expression","id":"S15.10.2.11_A1_T3","path":"15_Native\\15.10_RegExp_Objects\\15.10.2_Pattern_Semantics\\15.10.2.11_DecimalEscape\\S15.10.2.11_A1_T3.js","negative":"."};
GlobalScopeTests["S15.1_A1_T1"]={"assertion":"The global object does not have a [[Construct]] property","description":"It is not possible to use the global object as a constructor","id":"S15.1_A1_T1","path":"15_Native\\15.1_The_Global_Object\\S15.1_A1_T1.js","negative":"."};
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A1.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A1.js
index 9fa4f391d..e5d1b3bd5 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A1.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A1.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A1",
+id: "S13.0_A1",
-path: "13_Function_Definition\S13_A1.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A1.js",
assertion: "\"x=function y(){}\" statement does not store a reference to the new function in the varaible y(Identifier)",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A10.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A10.js
index 925b69297..fce489689 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A10.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A10.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A10",
+id: "S13.0_A10",
-path: "13_Function_Definition\S13_A10.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A10.js",
assertion: "Function is a data",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A11_T1.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A11_T1.js
index 11a8f98e5..639f2c1e3 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A11_T1.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A11_T1.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A11_T1",
+id: "S13.0_A11_T1",
-path: "13_Function_Definition\S13_A11_T1.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A11_T1.js",
assertion: "Since arguments property has attribute { DontDelete }, only its elements can be deleted",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A11_T2.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A11_T2.js
index f8cc57b94..7e8047f77 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A11_T2.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A11_T2.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A11_T2",
+id: "S13.0_A11_T2",
-path: "13_Function_Definition\S13_A11_T2.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A11_T2.js",
assertion: "Since arguments property has attribute { DontDelete }, only its elements can be deleted",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A11_T3.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A11_T3.js
index 65c40fa5d..e548f8bf2 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A11_T3.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A11_T3.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A11_T3",
+id: "S13.0_A11_T3",
-path: "13_Function_Definition\S13_A11_T3.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A11_T3.js",
assertion: "Since arguments property has attribute { DontDelete }, only its elements can be deleted",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A11_T4.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A11_T4.js
index 9dea9d5a3..c131c5dca 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A11_T4.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A11_T4.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A11_T4",
+id: "S13.0_A11_T4",
-path: "13_Function_Definition\S13_A11_T4.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A11_T4.js",
assertion: "Since arguments property has attribute { DontDelete }, only its elements can be deleted",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A12_T1.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A12_T1.js
index 6f2f7e0a1..8a2b42ceb 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A12_T1.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A12_T1.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A12_T1",
+id: "S13.0_A12_T1",
-path: "13_Function_Definition\S13_A12_T1.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A12_T1.js",
assertion: "Function declarations in global or function scope are {DontDelete}",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A12_T2.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A12_T2.js
index 3ed56a429..1ffc8a9ed 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A12_T2.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A12_T2.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A12_T2",
+id: "S13.0_A12_T2",
-path: "13_Function_Definition\S13_A12_T2.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A12_T2.js",
assertion: "Function declarations in global or function scope are {DontDelete}",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A13_T1.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A13_T1.js
index d65defe85..d078990eb 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A13_T1.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A13_T1.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A13_T1",
+id: "S13.0_A13_T1",
-path: "13_Function_Definition\S13_A13_T1.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A13_T1.js",
assertion: "Deleting arguments[i] leads to breaking the connection to local reference",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A13_T2.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A13_T2.js
index 0afcd6f6f..05b25fca0 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A13_T2.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A13_T2.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A13_T2",
+id: "S13.0_A13_T2",
-path: "13_Function_Definition\S13_A13_T2.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A13_T2.js",
assertion: "Deleting arguments[i] leads to breaking the connection to local reference",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A13_T3.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A13_T3.js
index e542eaa0a..a364d2984 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A13_T3.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A13_T3.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A13_T3",
+id: "S13.0_A13_T3",
-path: "13_Function_Definition\S13_A13_T3.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A13_T3.js",
assertion: "Deleting arguments[i] leads to breaking the connection to local reference",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A14.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A14.js
index 6019ff847..0c2a78c7c 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A14.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A14.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A14",
+id: "S13.0_A14",
-path: "13_Function_Definition\S13_A14.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A14.js",
assertion: "Unicode symbols in function name are allowed",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A15_T1.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A15_T1.js
index 1a9da0a55..e899143ab 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A15_T1.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A15_T1.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A15_T1",
+id: "S13.0_A15_T1",
-path: "13_Function_Definition\S13_A15_T1.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A15_T1.js",
assertion: "\'\'arguments\'\' variable overrides ActivationObject.arguments",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A15_T2.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A15_T2.js
index 0ff19fdac..68ceec55d 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A15_T2.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A15_T2.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A15_T2",
+id: "S13.0_A15_T2",
-path: "13_Function_Definition\S13_A15_T2.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A15_T2.js",
assertion: "\'\'arguments\'\' variable overrides ActivationObject.arguments",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A15_T3.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A15_T3.js
index fae2f22ef..55a10b243 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A15_T3.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A15_T3.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A15_T3",
+id: "S13.0_A15_T3",
-path: "13_Function_Definition\S13_A15_T3.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A15_T3.js",
assertion: "\'\'arguments\'\' variable overrides ActivationObject.arguments",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A15_T4.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A15_T4.js
index e1281e828..0bd171434 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A15_T4.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A15_T4.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A15_T4",
+id: "S13.0_A15_T4",
-path: "13_Function_Definition\S13_A15_T4.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A15_T4.js",
assertion: "\'\'arguments\'\' variable overrides ActivationObject.arguments",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A15_T5.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A15_T5.js
index d66249248..264862332 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A15_T5.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A15_T5.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A15_T5",
+id: "S13.0_A15_T5",
-path: "13_Function_Definition\S13_A15_T5.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A15_T5.js",
assertion: "\'\'arguments\'\' variable overrides ActivationObject.arguments",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A16.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A16.js
index e26d18c67..f9a05154e 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A16.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A16.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A16",
+id: "S13.0_A16",
-path: "13_Function_Definition\S13_A16.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A16.js",
assertion: "Any separators are admitted between declaration chunks",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A17_T1.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A17_T1.js
index 6d5d42b95..bf9e509a0 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A17_T1.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A17_T1.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A17_T1",
+id: "S13.0_A17_T1",
-path: "13_Function_Definition\S13_A17_T1.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A17_T1.js",
assertion: "Function call cannot appear in the program before the FunctionExpression appears",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A17_T2.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A17_T2.js
index 73227cfc1..b2e72970e 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A17_T2.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A17_T2.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A17_T2",
+id: "S13.0_A17_T2",
-path: "13_Function_Definition\S13_A17_T2.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A17_T2.js",
assertion: "Function call cannot appear in the program before the FunctionExpression appears",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A18.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A18.js
index 16cefd1c6..d6159e94b 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A18.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A18.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A18",
+id: "S13.0_A18",
-path: "13_Function_Definition\S13_A18.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A18.js",
assertion: "Closures are admitted",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A19_T1.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A19_T1.js
index db864b2ea..063edfb9d 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A19_T1.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A19_T1.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A19_T1",
+id: "S13.0_A19_T1",
-path: "13_Function_Definition\S13_A19_T1.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A19_T1.js",
assertion: "\"var\" does not override function declaration",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A19_T2.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A19_T2.js
index d9c501933..625279fe0 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A19_T2.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A19_T2.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A19_T2",
+id: "S13.0_A19_T2",
-path: "13_Function_Definition\S13_A19_T2.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A19_T2.js",
assertion: "\"var\" does not override function declaration",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A2_T1.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A2_T1.js
index c15f0f96e..7dbf1a6f1 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A2_T1.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A2_T1.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A2_T1",
+id: "S13.0_A2_T1",
-path: "13_Function_Definition\S13_A2_T1.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A2_T1.js",
assertion: "function must be evaluated inside the expression",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A2_T2.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A2_T2.js
index 2f82fcfce..4fc27472b 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A2_T2.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A2_T2.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A2_T2",
+id: "S13.0_A2_T2",
-path: "13_Function_Definition\S13_A2_T2.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A2_T2.js",
assertion: "function must be evaluated inside the expression",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A2_T3.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A2_T3.js
index c9773286a..e04b5e594 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A2_T3.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A2_T3.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A2_T3",
+id: "S13.0_A2_T3",
-path: "13_Function_Definition\S13_A2_T3.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A2_T3.js",
assertion: "function must be evaluated inside the expression",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A3_T1.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A3_T1.js
index 5d4a6a134..e56965a1a 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A3_T1.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A3_T1.js
@@ -13,9 +13,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A3_T1",
+id: "S13.0_A3_T1",
-path: "13_Function_Definition\S13_A3_T1.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A3_T1.js",
assertion: "The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression\'s FunctionBody to allow the function calling itself recursively",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A3_T2.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A3_T2.js
index d24af9143..22d0e7233 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A3_T2.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A3_T2.js
@@ -13,9 +13,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A3_T2",
+id: "S13.0_A3_T2",
-path: "13_Function_Definition\S13_A3_T2.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A3_T2.js",
assertion: "The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression\'s FunctionBody to allow the function calling itself recursively",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A3_T3.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A3_T3.js
index 31afd57c4..df51055e2 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A3_T3.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A3_T3.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A3_T3",
+id: "S13.0_A3_T3",
-path: "13_Function_Definition\S13_A3_T3.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A3_T3.js",
assertion: "The Identifier in a FunctionExpression can be referenced from inside the FunctionExpression\'s FunctionBody to allow the function calling itself recursively",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A4_T1.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A4_T1.js
index 3c995e556..ac9b0604f 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A4_T1.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A4_T1.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A4_T1",
+id: "S13.0_A4_T1",
-path: "13_Function_Definition\S13_A4_T1.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A4_T1.js",
assertion: "The production FunctionDeclaration: \"function Identifier ( FormalParameterList_opt ) { FunctionBody }\" is processed by function declarations",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A4_T2.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A4_T2.js
index 974c0a68f..0fb0ab7aa 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A4_T2.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A4_T2.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A4_T2",
+id: "S13.0_A4_T2",
-path: "13_Function_Definition\S13_A4_T2.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A4_T2.js",
assertion: "The production FunctionDeclaration: \"function Identifier ( FormalParameterList_opt ) { FunctionBody }\" is processed by function declarations",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A4_T3.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A4_T3.js
index 498f128f9..3eace539e 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A4_T3.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A4_T3.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A4_T3",
+id: "S13.0_A4_T3",
-path: "13_Function_Definition\S13_A4_T3.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A4_T3.js",
assertion: "The production FunctionDeclaration: \"function Identifier ( FormalParameterList_opt ) { FunctionBody }\" is processed by function declarations",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A4_T4.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A4_T4.js
index 752f2275f..0b1b8c522 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A4_T4.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A4_T4.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A4_T4",
+id: "S13.0_A4_T4",
-path: "13_Function_Definition\S13_A4_T4.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A4_T4.js",
assertion: "The production FunctionDeclaration: \"function Identifier ( FormalParameterList_opt ) { FunctionBody }\" is processed by function declarations",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A5.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A5.js
index 948d844b9..2a633e9fc 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A5.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A5.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A5",
+id: "S13.0_A5",
-path: "13_Function_Definition\S13_A5.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A5.js",
assertion: "Only FormalParameterList as arguments list is allowed",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A6_T1.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A6_T1.js
index 46135dc29..c5a47e61f 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A6_T1.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A6_T1.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A6_T1",
+id: "S13.0_A6_T1",
-path: "13_Function_Definition\S13_A6_T1.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A6_T1.js",
assertion: "FunctionDeclaration can be overrided by other FunctionDeclaration with the same Identifier",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A6_T2.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A6_T2.js
index b0abf64da..4032e82ca 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A6_T2.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A6_T2.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A6_T2",
+id: "S13.0_A6_T2",
-path: "13_Function_Definition\S13_A6_T2.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A6_T2.js",
assertion: "FunctionDeclaration can be overrided by other FunctionDeclaration with the same Identifier",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A7_T1.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A7_T1.js
index bd18503e2..9ac3a942b 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A7_T1.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A7_T1.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A7_T1",
+id: "S13.0_A7_T1",
-path: "13_Function_Definition\S13_A7_T1.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A7_T1.js",
assertion: "The FunctionBody must be SourceElements",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A7_T2.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A7_T2.js
index 695050e6d..fb6bf3042 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A7_T2.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A7_T2.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A7_T2",
+id: "S13.0_A7_T2",
-path: "13_Function_Definition\S13_A7_T2.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A7_T2.js",
assertion: "The FunctionBody must be SourceElements",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A7_T3.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A7_T3.js
index 7e1f5eadb..7e1f5eadb 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A7_T3.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A7_T3.js
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A8_T1.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A8_T1.js
index 967b6b2bd..4d7e971ad 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A8_T1.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A8_T1.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A8_T1",
+id: "S13.0_A8_T1",
-path: "13_Function_Definition\S13_A8_T1.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A8_T1.js",
assertion: "Arguments property of activation object contains real params to be passed",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A8_T2.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A8_T2.js
index edca44fe5..2aa502859 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A8_T2.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A8_T2.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A8_T2",
+id: "S13.0_A8_T2",
-path: "13_Function_Definition\S13_A8_T2.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A8_T2.js",
assertion: "Arguments property of activation object contains real params to be passed",
diff --git a/test/suite/sputnik_converted/13_Function_Definition/S13_A9.js b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A9.js
index 97e973786..a3d641ea3 100644
--- a/test/suite/sputnik_converted/13_Function_Definition/S13_A9.js
+++ b/test/suite/sputnik_converted/13_Function_Definition/13.0_Chapter/S13.0_A9.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S13_A9",
+id: "S13.0_A9",
-path: "13_Function_Definition\S13_A9.js",
+path: "13_Function_Definition\13.0_Chapter\S13.0_A9.js",
assertion: "Function can be passed as argument",
diff --git a/test/suite/sputnik_converted/14_Program/S14_A1.js b/test/suite/sputnik_converted/14_Program/14.0_Chapter/S14.0_A1.js
index bb7662f08..bad1dd6b9 100644
--- a/test/suite/sputnik_converted/14_Program/S14_A1.js
+++ b/test/suite/sputnik_converted/14_Program/14.0_Chapter/S14.0_A1.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S14_A1",
+id: "S14.0_A1",
-path: "14_Program\S14_A1.js",
+path: "14_Program\14.0_Chapter\S14.0_A1.js",
assertion: "FunctionExpression must be localed in a reacheable fragment of the program",
diff --git a/test/suite/sputnik_converted/14_Program/S14_A2.js b/test/suite/sputnik_converted/14_Program/14.0_Chapter/S14.0_A2.js
index 92c3e231e..d91281be2 100644
--- a/test/suite/sputnik_converted/14_Program/S14_A2.js
+++ b/test/suite/sputnik_converted/14_Program/14.0_Chapter/S14.0_A2.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S14_A2",
+id: "S14.0_A2",
-path: "14_Program\S14_A2.js",
+path: "14_Program\14.0_Chapter\S14.0_A2.js",
assertion: "FunctionDeclaration cannot be localed inside an Expression",
diff --git a/test/suite/sputnik_converted/14_Program/S14_A3.js b/test/suite/sputnik_converted/14_Program/14.0_Chapter/S14.0_A3.js
index 50dba470e..e3b3d2464 100644
--- a/test/suite/sputnik_converted/14_Program/S14_A3.js
+++ b/test/suite/sputnik_converted/14_Program/14.0_Chapter/S14.0_A3.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S14_A3",
+id: "S14.0_A3",
-path: "14_Program\S14_A3.js",
+path: "14_Program\14.0_Chapter\S14.0_A3.js",
assertion: "Global FunctionDeclaration cannot be defined within the body of another FunctionDeclaration",
diff --git a/test/suite/sputnik_converted/14_Program/S14_A5_T1.js b/test/suite/sputnik_converted/14_Program/14.0_Chapter/S14.0_A5_T1.js
index d0f6a52f1..ba449abfc 100644
--- a/test/suite/sputnik_converted/14_Program/S14_A5_T1.js
+++ b/test/suite/sputnik_converted/14_Program/14.0_Chapter/S14.0_A5_T1.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S14_A5_T1",
+id: "S14.0_A5_T1",
-path: "14_Program\S14_A5_T1.js",
+path: "14_Program\14.0_Chapter\S14.0_A5_T1.js",
assertion: "The Identifer within a FunctionDeclaration can be written in both letters and unicode",
diff --git a/test/suite/sputnik_converted/14_Program/S14_A5_T2.js b/test/suite/sputnik_converted/14_Program/14.0_Chapter/S14.0_A5_T2.js
index e2ec24467..f8d13791c 100644
--- a/test/suite/sputnik_converted/14_Program/S14_A5_T2.js
+++ b/test/suite/sputnik_converted/14_Program/14.0_Chapter/S14.0_A5_T2.js
@@ -12,9 +12,9 @@
// Converted for Test262 from original Sputnik source
ES5Harness.registerTest( {
-id: "S14_A5_T2",
+id: "S14.0_A5_T2",
-path: "14_Program\S14_A5_T2.js",
+path: "14_Program\14.0_Chapter\S14.0_A5_T2.js",
assertion: "The Identifer within a FunctionDeclaration can be written in both letters and unicode",
diff --git a/tools/SputnikConverter/SputnikTestCase.cs b/tools/SputnikConverter/SputnikTestCase.cs
index af9621bc3..4f0f2e4c2 100644
--- a/tools/SputnikConverter/SputnikTestCase.cs
+++ b/tools/SputnikConverter/SputnikTestCase.cs
@@ -251,7 +251,13 @@ namespace Microsoft.Sputnik.Interop.ParserEngine
int indexOfRoot = this.FullPath.IndexOf(root, StringComparison.InvariantCulture) + root.Length + 1;
this.pathFromRoot = this.FullPath.Substring(indexOfRoot, this.FullPath.Length - indexOfRoot);
-
+ Regex regx = new Regex("\\\\S([0-9]+)_([^\\\\]+)\\.js$");
+ if (regx.IsMatch(this.pathFromRoot))
+ {
+ Match tempMatch = regx.Match(this.pathFromRoot);
+ String tempDir = "\\" + tempMatch.Groups[1].Value + ".0_Chapter";
+ this.pathFromRoot = regx.Replace(this.pathFromRoot, tempDir + "\\S$1.0_$2.js");
+ }
ReadSimpleTestCase(fullFile);
}
@@ -290,11 +296,11 @@ namespace Microsoft.Sputnik.Interop.ParserEngine
if (commentKey.Contains(ResourceClass.LookFor_Name))
{
this.id = this.pathFromRoot.Substring(this.pathFromRoot.LastIndexOf("\\") + 1);
- this.id = GetRealId(this.id.Remove(this.id.Length - 3));
+ this.id = this.id.Remove(this.id.Length - 3);
}
if (commentKey.Contains(ResourceClass.LookFor_Section))
{
- this.path = GetRealSectionName(this.pathFromRoot);
+ this.path = this.pathFromRoot;
}
if (commentKey.Contains(ResourceClass.LookFor_Assertion))
{
@@ -317,22 +323,5 @@ namespace Microsoft.Sputnik.Interop.ParserEngine
this.PossibleChecksCount = 1;
}
-
-
-
- private static string GetRealId(string id)
- {
- Regex regx = new Regex("^ S([0-9]+)_");
- return regx.Replace(id, " S$1.0_", 1);
- }
- private static string GetRealSectionName(string sectionName)
- {
- Regex regx = new Regex("^ ([0-9]+)$");
- if (! regx.IsMatch(sectionName)) {
- return sectionName;
- }
-
- return regx.Replace(sectionName, " $1.0", 1);
- }
}
}
diff --git a/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.exe b/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.exe
index cf1ac1444..bd47f0985 100644
--- a/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.exe
+++ b/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.exe
Binary files differ
diff --git a/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.pdb b/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.pdb
index a1b1a7266..002465ffe 100644
--- a/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.pdb
+++ b/tools/SputnikConverter/bin/Debug/Microsoft.Sputnik.Interop.ParserEngine.pdb
Binary files differ
diff --git a/website/resources/scripts/testcases/13_Function_Definition.json b/website/resources/scripts/testcases/13_Function_Definition.json
index 7a6084296..17d338a46 100644
--- a/website/resources/scripts/testcases/13_Function_Definition.json
+++ b/website/resources/scripts/testcases/13_Function_Definition.json
@@ -1 +1 @@
-{"testsCollection":{"name":"Chapter - 13_Function_Definition","numTests":"107","tests":[{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTEiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0ExLmpzIiwKCmFzc2VydGlvbjogIlwieD1mdW5jdGlvbiB5KCl7fVwiIHN0YXRlbWVudCBkb2VzIG5vdCBzdG9yZSBhIHJlZmVyZW5jZSB0byB0aGUgbmV3IGZ1bmN0aW9uIGluIHRoZSB2YXJhaWJsZSB5KElkZW50aWZpZXIpIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgdGhlIHR5cGUgb2YgeSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uIF9fZXhwX19mdW5jKCl7cmV0dXJuIDA7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19mdW5jICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIF9fZXhwX19mdW5jICE9PSAidW5kZWZpbmVkIil7CiAgICAkRVJST1IoJyMyOiB0eXBlb2YgX19leHBfX2Z1bmMgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IHR5cGVvZiBfX2V4cF9fZnVuYyA9PT0nK3R5cGVvZiBfX2V4cF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13_A1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTEwIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTAuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24gaXMgYSBkYXRhIiwKCmRlc2NyaXB0aW9uOiAiVXNpbmcgZnVuY3Rpb24gYXMgYSBwcm9wZXJ0eSBvZiBhbiBvYmplY3QiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9femlnZ3lfX2Z1bmMoKXtyZXR1cm4gInppZ2d5IHN0YXJkdXN0In0KCnZhciBfX211c2ljX2JveD17fTsKCl9fbXVzaWNfYm94LnppZ2d5ID0gX196aWdneV9fZnVuYzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAodHlwZW9mIF9fbXVzaWNfYm94LnppZ2d5ICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19tdXNpY19ib3guemlnZ3kgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fbXVzaWNfYm94LnppZ2d5ID09PScrdHlwZW9mIF9fbXVzaWNfYm94LnppZ2d5KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbXVzaWNfYm94LnppZ2d5KCkgIT09ICJ6aWdneSBzdGFyZHVzdCIpIHsKCSRFUlJPUignIzI6IF9fbXVzaWNfYm94LnppZ2d5KCkgPT09ICJ6aWdneSBzdGFyZHVzdCIuIEFjdHVhbDogX19tdXNpY19ib3guemlnZ3koKSA9PT0nK19fbXVzaWNfYm94LnppZ2d5KCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13_A10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTExX1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTFfVDEuanMiLAoKYXNzZXJ0aW9uOiAiU2luY2UgYXJndW1lbnRzIHByb3BlcnR5IGhhcyBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0sIG9ubHkgaXRzIGVsZW1lbnRzIGNhbiBiZSBkZWxldGVkIiwKCmRlc2NyaXB0aW9uOiAiUmV0dXJuaW5nIHJlc3VsdCBvZiBcImRlbGV0ZSBhcmd1bWVudHNcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX19mdW5jKCl7IHJldHVybiBkZWxldGUgYXJndW1lbnRzO30KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygiQSIsIkIiLDEsMikpIHsKCSRFUlJPUignIzE6IGFyZ3VtZW50cyBwcm9wZXJ0eSBoYXMgYXR0cmlidXRlIHsgRG9udERlbGV0ZSB9Jyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13_A11_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTExX1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTFfVDIuanMiLAoKYXNzZXJ0aW9uOiAiU2luY2UgYXJndW1lbnRzIHByb3BlcnR5IGhhcyBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0sIG9ubHkgaXRzIGVsZW1lbnRzIGNhbiBiZSBkZWxldGVkIiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGFyZ3VtZW50cyBwcm9wZXJ0eSBmYWlscyBhbmQgdGhlbiByZXR1cm5pbmcgaXQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYygpeyAKICAgIGRlbGV0ZSBhcmd1bWVudHM7CiAgICByZXR1cm4gYXJndW1lbnRzOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19mdW5jKCJBIiwiQiIsMSwyKSAhPT0gIm9iamVjdCIpIHsKCSRFUlJPUignIzE6IGFyZ3VtZW50cyBwcm9wZXJ0eSBoYXMgYXR0cmlidXRlIHsgRG9udERlbGV0ZSB9Jyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13_A11_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTExX1QzIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTFfVDMuanMiLAoKYXNzZXJ0aW9uOiAiU2luY2UgYXJndW1lbnRzIHByb3BlcnR5IGhhcyBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0sIG9ubHkgaXRzIGVsZW1lbnRzIGNhbiBiZSBkZWxldGVkIiwKCmRlc2NyaXB0aW9uOiAiRGVsZXRpbmcgYXJndW1lbnRzW2ldIGFuZCByZXR1cm5pbmcgcmVzdWx0IG9mIHRoZSBvcGVyYXRpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYygpewogICAgd2FzX2RlbD1mYWxzZTsKICAgIGZvciAoaT0wOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKQogICAgICAgd2FzX2RlbD0gd2FzX2RlbCB8fCBkZWxldGUgYXJndW1lbnRzW2ldOwogICAgcmV0dXJuIHdhc19kZWw7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCFfX2Z1bmMoIkEiLCJCIiwxLDIpKSB7CgkkRVJST1IoJyMxOiBTaW5jZSBhcmd1bWVudHMgcHJvcGVydHkgaGFzIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSBlbGVtZW50cyBvZiBhcmd1bWVudHMgY2FuIGJlIGRlbGV0ZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13_A11_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTExX1Q0IiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTFfVDQuanMiLAoKYXNzZXJ0aW9uOiAiU2luY2UgYXJndW1lbnRzIHByb3BlcnR5IGhhcyBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0sIG9ubHkgaXRzIGVsZW1lbnRzIGNhbiBiZSBkZWxldGVkIiwKCmRlc2NyaXB0aW9uOiAiRGVsZXRpbmcgYXJndW1lbnRzW2ldIGFuZCBjaGVja2luZyB0aGUgdHlwZSBvZiBhcmd1bWVudHNbaV0iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYygpewogICAgaXNfdW5kZWY9dHJ1ZTsKICAgIGZvciAoaT0wOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKQogICAgewogICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbaV07CiAgICAgICAgaXNfdW5kZWY9IGlzX3VuZGVmICYmICh0eXBlb2YgYXJndW1lbnRzW2ldID09PSAidW5kZWZpbmVkIik7CiAgICB9OyAgICAgICAKICAgIHJldHVybiBpc191bmRlZjsKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCFfX2Z1bmMoIkEiLCJCIiwxLDIpKSB7CgkkRVJST1IoJyMxOiBTaW5jZSBhcmd1bWVudHMgcHJvcGVydHkgaGFzIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSwgYnV0IGVsZW1lbnRzIG9mIGFyZ3VtZW50cyBjYW4gYmUgZGVsZXRlZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13_A11_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTEyX1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTJfVDEuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24gZGVjbGFyYXRpb25zIGluIGdsb2JhbCBvciBmdW5jdGlvbiBzY29wZSBhcmUge0RvbnREZWxldGV9IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgZGVsZXRpbmcgYSBmdW5jdGlvbiB0aGF0IGlzIGRlY2xhcmVkIGluIGdsb2JhbCBzY29wZSBmYWlscyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgQUxJVkU9IkxldG92IGlzIGFsaXZlIgoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICByZXR1cm4gQUxJVkU7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChkZWxldGUgX19mdW5jKSB7CgkkRVJST1IoJyMxOiBkZWxldGUgX19mdW5jIHJldHVybmluZyBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCkgIT09IEFMSVZFKSB7CgkkRVJST1IoJyMyOiBfX2Z1bmMoKSA9PT0gQUxJVkUuIEFjdHVhbDogX19mdW5jKCkgPT09JytfX2Z1bmMoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13_A12_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTEyX1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTJfVDIuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24gZGVjbGFyYXRpb25zIGluIGdsb2JhbCBvciBmdW5jdGlvbiBzY29wZSBhcmUge0RvbnREZWxldGV9IiwKCmRlc2NyaXB0aW9uOiAiQ2hlY2tpbmcgaWYgZGVsZXRpbmcgYSBmdW5jdGlvbiB0aGF0IGlzIGRlY2xhcmVkIGluIGZ1bmN0aW9uIHNjb3BlIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBBTElWRT0iTGV0b3YgaXMgYWxpdmUiCgpmdW5jdGlvbiBfX2NvbnQoKXsKCiAgICBmdW5jdGlvbiBfX2Z1bmMoKXsKICAgICAgICByZXR1cm4gQUxJVkU7CiAgICB9OwogICAgCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIC8vQ0hFQ0sjMQogICAgaWYgKGRlbGV0ZSBfX2Z1bmMpIHsKICAgIAkkRVJST1IoJyMxOiBkZWxldGUgX19mdW5jIHJldHVybmluZyBmYWxzZScpOwogICAgfQogICAgLy8KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIC8vQ0hFQ0sjMgogICAgaWYgKF9fZnVuYygpICE9PSBBTElWRSkgewogICAgCSRFUlJPUignIzI6IF9fZnVuYygpID09PSBBTElWRS4gQWN0dWFsOiBfX2Z1bmMoKSA9PT0nK19fZnVuYygpKTsKICAgIH0KICAgIC8vCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KfTsKCl9fY29udCgpOwoKIH0KfSk7Cgo=","id":"S13_A12_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTEzX1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTNfVDEuanMiLAoKYXNzZXJ0aW9uOiAiRGVsZXRpbmcgYXJndW1lbnRzW2ldIGxlYWRzIHRvIGJyZWFraW5nIHRoZSBjb25uZWN0aW9uIHRvIGxvY2FsIHJlZmVyZW5jZSIsCgpkZXNjcmlwdGlvbjogIkRlbGV0aW5nIGFyZ3VtZW50c1tpXSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX19mdW5jKF9fYXJnKXsKICBkZWxldGUgYXJndW1lbnRzWzBdOwogIGlmIChhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCkgewogICAgJEVSUk9SKCcjMS4xOiBhcmd1bWVudHNbMF0gPT09IHVuZGVmaW5lZCcpOwogIH0KICByZXR1cm4gX19hcmc7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygxKSAhPT0gMSkgewoJJEVSUk9SKCcjMS4yOiBfX2Z1bmMoMSkgPT09IDEuIEFjdHVhbDogX19mdW5jKDEpID09PScrX19mdW5jKDEpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13_A13_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTEzX1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTNfVDIuanMiLAoKYXNzZXJ0aW9uOiAiRGVsZXRpbmcgYXJndW1lbnRzW2ldIGxlYWRzIHRvIGJyZWFraW5nIHRoZSBjb25uZWN0aW9uIHRvIGxvY2FsIHJlZmVyZW5jZSIsCgpkZXNjcmlwdGlvbjogIkNoYW5naW5nIGFyZ3VtZW50cyB2YWx1ZSBhbmQgdGhlbiBkZWxldGluZyB0aGUgYXJndW1lbnQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYyhfX2FyZyl7CiAgX19hcmcgPSAyOwogIGRlbGV0ZSBhcmd1bWVudHNbMF07CiAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoJyMxLjE6IGFyZ3VtZW50c1swXSA9PT0gdW5kZWZpbmVkJyk7CiAgfQogIHJldHVybiBfX2FyZzsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKDEpICE9PSAyKSB7CgkkRVJST1IoJyMxLjI6IF9fZnVuYygxKSA9PT0gMi4gQWN0dWFsOiBfX2Z1bmMoMSkgPT09JytfX2Z1bmMoMSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13_A13_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTEzX1QzIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTNfVDMuanMiLAoKYXNzZXJ0aW9uOiAiRGVsZXRpbmcgYXJndW1lbnRzW2ldIGxlYWRzIHRvIGJyZWFraW5nIHRoZSBjb25uZWN0aW9uIHRvIGxvY2FsIHJlZmVyZW5jZSIsCgpkZXNjcmlwdGlvbjogIkNoYW5naW5nIGFyZ3VtZW50IHZhbHVlLCBkZWxldGluZyB0aGUgYXJndW1lbnQgYW5kIHRoZW4gZGVmaW5pbmcgYSBuZXcgdmFsdWUgZm9yIGFyZ3VtZW50c1tpXSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX19mdW5jKF9fYXJnKXsKICBfX2FyZyA9IDI7CiAgZGVsZXRlIGFyZ3VtZW50c1swXTsKICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQpIHsKICAgICRFUlJPUignIzEuMTogYXJndW1lbnRzWzBdID09PSB1bmRlZmluZWQnKTsKICB9CiAgYXJndW1lbnRzWzBdID0gIkEiOwogIGlmIChhcmd1bWVudHNbMF0gIT09ICJBIikgewogICAgJEVSUk9SKCcjMS4yOiBhcmd1bWVudHNbMF0gPT09ICJBIicpOwogIH0KICByZXR1cm4gX19hcmc7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygxKSAhPT0gMikgewoJJEVSUk9SKCcjMS4zOiBfX2Z1bmMoMSkgPT09IDIuIEFjdHVhbDogX19mdW5jKDEpID09PScrX19mdW5jKDEpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13_A13_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTE0IiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTQuanMiLAoKYXNzZXJ0aW9uOiAiVW5pY29kZSBzeW1ib2xzIGluIGZ1bmN0aW9uIG5hbWUgYXJlIGFsbG93ZWQiLAoKZGVzY3JpcHRpb246ICJEZWZpbmluZyBmdW5jdGlvbiBuYW1lIHdpdGggdW5pY29kZSBzeW1ib2xzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBldmFsKCJmdW5jdGlvbiBfX2Z1bmNcdTAwNDEoX19hcmcpe3JldHVybiBfX2FyZzt9OyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuY0EgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IHVuaWNvZGUgc3ltYm9scyBpbiBmdW5jdGlvbiBuYW1lIGFyZSBhbGxvd2VkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13_A14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTE1X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTVfVDEuanMiLAoKYXNzZXJ0aW9uOiAiXCdcJ2FyZ3VtZW50c1wnXCcgdmFyaWFibGUgb3ZlcnJpZGVzIEFjdGl2YXRpb25PYmplY3QuYXJndW1lbnRzIiwKCmRlc2NyaXB0aW9uOiAiRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCBcIl9fZnVuYyhhcmd1bWVudHMpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYyhhcmd1bWVudHMpewogICAgcmV0dXJuIGFyZ3VtZW50czsKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYyg0MikgIT09IDQyKSB7CgkkRVJST1IoJyMxOiAiYXJndW1lbnRzIiB2YXJpYWJsZSBvdmVycmlkZXMgQWN0aXZhdGlvbk9iamVjdC5hcmd1bWVudHMnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13_A15_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTE1X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTVfVDIuanMiLAoKYXNzZXJ0aW9uOiAiXCdcJ2FyZ3VtZW50c1wnXCcgdmFyaWFibGUgb3ZlcnJpZGVzIEFjdGl2YXRpb25PYmplY3QuYXJndW1lbnRzIiwKCmRlc2NyaXB0aW9uOiAiT3ZlcnJpZGluZyBhcmd1bWVudHMgd2l0aGluIGZ1bmN0aW9ucyBib2R5IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBUSEVfQU5TV0VSPSJBbnN3ZXIgdG8gTGlmZSwgdGhlIFVuaXZlcnNlLCBhbmQgRXZlcnl0aGluZyI7CgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHZhciBhcmd1bWVudHMgPSBUSEVfQU5TV0VSOwogICAgcmV0dXJuIGFyZ3VtZW50czsKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYyg0Miw0Miw0MikgIT09IFRIRV9BTlNXRVIpIHsKCSRFUlJPUignIzE6ICAiYXJndW1lbnRzIiB2YXJpYWJsZSBvdmVycmlkZXMgQWN0aXZhdGlvbk9iamVjdC5hcmd1bWVudHMnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13_A15_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTE1X1QzIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTVfVDMuanMiLAoKYXNzZXJ0aW9uOiAiXCdcJ2FyZ3VtZW50c1wnXCcgdmFyaWFibGUgb3ZlcnJpZGVzIEFjdGl2YXRpb25PYmplY3QuYXJndW1lbnRzIiwKCmRlc2NyaXB0aW9uOiAiRGVjbGFyaW5nIGEgdmFyaWFibGUgbmFtZWQgd2l0aCBcImFyZ3VtZW50c1wiIHdpdGhvdXQgYSBmdW5jdGlvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgVEhFX0FOU1dFUj0iQW5zd2VyIHRvIExpZmUsIHRoZSBVbml2ZXJzZSwgYW5kIEV2ZXJ5dGhpbmciOwoKdmFyIGFyZ3VtZW50cyA9IFRIRV9BTlNXRVI7CgpmdW5jdGlvbiBfX2Z1bmMoYXJndW1lbnRzKXsKICAgIHJldHVybiBhcmd1bWVudHM7CiAgICAKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX2Z1bmMoKSAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2Z1bmMoKSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYygpID09PScrdHlwZW9mIF9fZnVuYygpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZnVuYygiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIikgIT09ICJUaGUgVWx0aW1hdGUgUXVlc3Rpb24iKSB7CgkkRVJST1IoJyMyOiBfX2Z1bmMoIlRoZSBVbHRpbWF0ZSBRdWVzdGlvbiIpID09PSAiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIi4gQWN0dWFsOiBfX2Z1bmMoIlRoZSBVbHRpbWF0ZSBRdWVzdGlvbiIpPT09JytfX2Z1bmMoIlRoZSBVbHRpbWF0ZSBRdWVzdGlvbiIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13_A15_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTE1X1Q0IiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTVfVDQuanMiLAoKYXNzZXJ0aW9uOiAiXCdcJ2FyZ3VtZW50c1wnXCcgdmFyaWFibGUgb3ZlcnJpZGVzIEFjdGl2YXRpb25PYmplY3QuYXJndW1lbnRzIiwKCmRlc2NyaXB0aW9uOiAiRGVjbGFyaW5nIGEgdmFyaWFibGUgbmFtZWQgd2l0aCBcImFyZ3VtZW50c1wiIGFuZCBmb2xsb3dpbmcgYSBcInJldHVyblwiIHN0YXRlbWVudCB3aXRoaW4gYSBmdW5jdGlvbiBib2R5IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBUSEVfQU5TV0VSPSJBbnN3ZXIgdG8gTGlmZSwgdGhlIFVuaXZlcnNlLCBhbmQgRXZlcnl0aGluZyI7CgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHJldHVybiB0eXBlb2YgYXJndW1lbnRzOwogICAgdmFyIGFyZ3VtZW50cyA9IFRIRV9BTlNXRVI7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoNDIsNDIsNDIpICE9PSAib2JqZWN0IikgewoJJEVSUk9SKCcjMTogX19mdW5jKDQyLDQyLDQyKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogX19mdW5jKDQyLDQyLDQyKT09PScrX19mdW5jKDQyLDQyLDQyKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13_A15_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTE1X1Q1IiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTVfVDUuanMiLAoKYXNzZXJ0aW9uOiAiXCdcJ2FyZ3VtZW50c1wnXCcgdmFyaWFibGUgb3ZlcnJpZGVzIEFjdGl2YXRpb25PYmplY3QuYXJndW1lbnRzIiwKCmRlc2NyaXB0aW9uOiAiQ3JlYXRpbmcgYSB2YXJpYWJsZSBuYW1lZCB3aXRoIFwiYXJndW1lbnRzXCIgd2l0aG91dCBhIGZ1bmN0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBUSEVfQU5TV0VSPSJBbnN3ZXIgdG8gTGlmZSwgdGhlIFVuaXZlcnNlLCBhbmQgRXZlcnl0aGluZyI7Cgp2YXIgYXJndW1lbnRzID0gVEhFX0FOU1dFUjsKCmZ1bmN0aW9uIF9fZnVuYygpewogICAgcmV0dXJuIGFyZ3VtZW50czsKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCBfX2Z1bmMoKSA9PT0gVEhFX0FOU1dFUikgewoJJEVSUk9SKCcjMTogX19mdW5jKCkgIT09IFRIRV9BTlNXRVInKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZnVuYygiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIikgPT09ICJUaGUgVWx0aW1hdGUgUXVlc3Rpb24iKSB7CgkkRVJST1IoJyMyOiBfX2Z1bmMoIlRoZSBVbHRpbWF0ZSBRdWVzdGlvbiIpICE9PSAiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13_A15_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTE2IiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTYuanMiLAoKYXNzZXJ0aW9uOiAiQW55IHNlcGFyYXRvcnMgYXJlIGFkbWl0dGVkIGJldHdlZW4gZGVjbGFyYXRpb24gY2h1bmtzIiwKCmRlc2NyaXB0aW9uOiAiSW5zZXJ0aW5nIHNlcGFyYXRvcnMgYmV0d2VlbiBkZWNsYXJhdGlvbiBjaHVua3MiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uCngKKAopCnsKfQo7Cgp4KCk7CgpmdW5jdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7fTsKCnkoKTsKCmZ1bmN0aW9uCgp6CgooCgopCgp7CiAgICAKfQoKOwoKeigpOwoKZXZhbCgiZnVuY3Rpb25cdTAwMDlcdTIwMjl3KFx1MDAwQylcdTAwQTB7XHUwMDBEfTsiKTsKCncoKTsKCiB9Cn0pOwoK","id":"S13_A16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTE3X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTdfVDEuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24gY2FsbCBjYW5ub3QgYXBwZWFyIGluIHRoZSBwcm9ncmFtIGJlZm9yZSB0aGUgRnVuY3Rpb25FeHByZXNzaW9uIGFwcGVhcnMiLAoKZGVzY3JpcHRpb246ICJUcnlpbmcgdG8gY2FsbCBhIGZ1bmN0aW9uIGJlZm9yZSB0aGUgRnVuY3Rpb25FeHByZXNzaW9uIGFwcGVhcnMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewogICAgdmFyIF9fcmVzdWx0ID0gX19mdW5jKCk7CgkkRkFJTCgiIzEuMTogdmFyIF9fcmVzdWx0ID0gX19mdW5jKCkgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24iKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBmdW5jIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciAgQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX2Z1bmMgPSBmdW5jdGlvbiAoKXtyZXR1cm4gIk9ORSI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdmFyIF9fcmVzdWx0ID0gX19mdW5jKCk7CmlmIChfX3Jlc3VsdCAhPT0gIk9ORSIpIHsKCSRFUlJPUignIzI6IF9fcmVzdWx0ID09PSAiT05FIi4gQWN0dWFsOiBfX3Jlc3VsdCA9PT0nK19fcmVzdWx0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fZnVuYyA9IGZ1bmN0aW9uICgpe3JldHVybiAiVFdPIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKTsKaWYgKF9fcmVzdWx0ICE9PSAiVFdPIikgewoJJEVSUk9SKCcjMzogX19yZXN1bHQgPT09ICJUV08iLiBBY3R1YWw6IF9fcmVzdWx0ID09PScrX19yZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13_A17_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTE3X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTdfVDIuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24gY2FsbCBjYW5ub3QgYXBwZWFyIGluIHRoZSBwcm9ncmFtIGJlZm9yZSB0aGUgRnVuY3Rpb25FeHByZXNzaW9uIGFwcGVhcnMiLAoKZGVzY3JpcHRpb246ICJUcnlpbmcgdG8gY2FsbCBhIGZ1bmN0aW9uIGJlZm9yZSB0aGUgRnVuY3Rpb25FeHByZXNzaW9uIGFwcGVhcnMgYW5kIHRoZW4gdXNpbmcgdGhlIEZ1bmN0aW9uRXhwcmVzc2lvbiBvbmUgbW9yZSB0aW1lIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeXsKICAgIHZhciBfX3Jlc3VsdCA9IF9fZnVuYygpOwoJJEVSUk9SKCIjMTogdmFyIF9fcmVzdWx0ID0gX19mdW5jKCkgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24iKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBmdW5jIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciAgQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vIG5vdyB3ZSByZWFjaCB0aGUgX19mdW5jIG92ZXJ3cml0aW5nIGJ5IG5ldyBleHByZXNzaW9uCnZhciBfX2Z1bmMgPSBmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gIk9ORSI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdmFyIF9fcmVzdWx0ID0gX19mdW5jKCk7CmlmIChfX3Jlc3VsdCAhPT0gIk9ORSIpIHsKCSRFUlJPUignIzI6IF9fcmVzdWx0ID09PSAiT05FIi4gQWN0dWFsOiBfX3Jlc3VsdCA9PT0nK19fcmVzdWx0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fZnVuYyA9IGZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAiVFdPIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKTsKaWYgKF9fcmVzdWx0ICE9PSAiVFdPIikgewoJJEVSUk9SKCcjMzogX19yZXN1bHQgPT09ICJUV08iLiBBY3R1YWw6IF9fcmVzdWx0ID09PScrX19yZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13_A17_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTE4IiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTguanMiLAoKYXNzZXJ0aW9uOiAiQ2xvc3VyZXMgYXJlIGFkbWl0dGVkIiwKCmRlc2NyaXB0aW9uOiAiVXNpbmcgYSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBhcyBhIGZ1bmN0aW9uIHBhcmFtZXRlciIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIHNpbnggIT09ICd1bmRlZmluZWQnKSB7CgkkRVJST1IoJyMxOiB0eXBlb2Ygc2lueCA9PT0gXCd1bmRlZmluZWRcJy4gQWN0dWFsOiB0eXBlb2Ygc2lueCA9PT0nK3R5cGVvZiBzaW54KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX3ZhbCA9IGZ1bmN0aW9uIGRlcml2YXRpdmUoZiwgZHgpIHsKICAgIHJldHVybiBmdW5jdGlvbih4KSB7CiAgICAgIHJldHVybiAoZih4ICsgZHgpIC0gZih4KSkgLyBkeDsKICAgIH07Cn0oZnVuY3Rpb24gc2lueCh4KXtyZXR1cm4gTWF0aC5zaW4oeCk7fSwuMDAwMSkoMC41KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHR5cGVvZiBzaW54ICE9PSAndW5kZWZpbmVkJykgewoJJEVSUk9SKCcjMjogdHlwZW9mIHNpbnggPT09IFwndW5kZWZpbmVkXCcuIEFjdHVhbDogdHlwZW9mIHNpbnggPT09Jyt0eXBlb2Ygc2lueCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13_A18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTE5X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTlfVDEuanMiLAoKYXNzZXJ0aW9uOiAiXCJ2YXJcIiBkb2VzIG5vdCBvdmVycmlkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiIsCgpkZXNjcmlwdGlvbjogIkNyZWF0aW5nIGEgZnVuY3Rpb24gYW5kIGEgdmFyaWFibGUgd2l0aCBpZGVudGljYWwgSWRlbnRpZmllcnMgaW4gZ2xvYmFsIHNjb3BlIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvLyBzaW5jZSAidmFyIiBkb2VzIG5vdCBvdmVycmlkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBfX2RlY2wgaXMgc2V0IHRvIGZ1bmN0aW9uCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX2RlY2wgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2RlY2wgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fZGVjbCA9PT0nK3R5cGVvZiBfX2RlY2wpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fZGVjbCA9IDE7CgovL3NpbmNlIHN0YXRlbWVudCB3YXMgZXZhbHV0ZWQgX19kZWNsIHR1cm5zIHRvIDEgZnJvbSBmdW5jdGlvbgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2RlY2wgIT09IDEpIHsKCSRFUlJPUignIzI6IF9fZGVjbCA9PT0gMS4gQWN0dWFsOiBfX2RlY2wgPT09JytfX2RlY2wpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19kZWNsKCl7cmV0dXJuIDE7fQoKIH0KfSk7Cgo=","id":"S13_A19_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTE5X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXFMxM19BMTlfVDIuanMiLAoKYXNzZXJ0aW9uOiAiXCJ2YXJcIiBkb2VzIG5vdCBvdmVycmlkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiIsCgpkZXNjcmlwdGlvbjogIkNyZWF0aW5nIGEgZnVuY3Rpb24gYW5kIGEgdmFyaWFibGUgd2l0aCBpZGVudGljYWwgSWRlbnRpZmllcnMgd2l0aGluIGZ1bmN0aW9uIHNjb3BlIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAoZnVuY3Rpb24gKCl7CgogICAgLy8gc2luY2UgInZhciIgZG9lcyBub3Qgb3ZlcnJpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24gX19kZWNsIGlzIHNldCB0byBmdW5jdGlvbgogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAvL0NIRUNLIzEKICAgIGlmICh0eXBlb2YgX19kZWNsICE9PSAiZnVuY3Rpb24iKSB7CiAgICAJJEVSUk9SKCcjMTogdHlwZW9mIF9fZGVjbCA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19kZWNsID09PScrdHlwZW9mIF9fZGVjbCk7CiAgICB9CiAgICAvLwogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAKICAgIHZhciBfX2RlY2wgPSAxOwogICAgCiAgICAvL3NpbmNlIHN0YXRlbWVudCB3YXMgZXZhbHV0ZWQgX19kZWNsIHR1cm5zIHRvIDEgZnJvbSBmdW5jdGlvbgogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAvL0NIRUNLIzIKICAgIGlmIChfX2RlY2wgIT09IDEpIHsKICAgIAkkRVJST1IoJyMyOiBfX2RlY2wgPT09IDEuIEFjdHVhbDogX19kZWNsID09PScrX19kZWNsKTsKICAgIH0KICAgIC8vCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiAgICBmdW5jdGlvbiBfX2RlY2woKXtyZXR1cm4gMTt9Cn0pKCk7ICAgIAoKIH0KfSk7Cgo=","id":"S13_A19_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTJfVDEiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0EyX1QxLmpzIiwKCmFzc2VydGlvbjogImZ1bmN0aW9uIG11c3QgYmUgZXZhbHVhdGVkIGluc2lkZSB0aGUgZXhwcmVzc2lvbiIsCgpkZXNjcmlwdGlvbjogIkRlZmluaW5nIGZ1bmN0aW9uIGJvZHkgd2l0aCBcInJldHVybiBhcmdcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIHggPSAoZnVuY3Rpb24gX19mdW5jKGFyZyl7cmV0dXJuIGFyZ30pKDEpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoeCAhPT0gMSkgewoJJEVSUk9SKCcjMTogeCA9PT0gMS4gQWN0dWFsOiB4ID09PScreCk7Cn0KCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIF9fZnVuYyAhPT0gJ3VuZGVmaW5lZCcpIHsKCSRFUlJPUignIzI6IHR5cGVvZiBfX2Z1bmMgPT09IFwndW5kZWZpbmVkXCcuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTJfVDIiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0EyX1QyLmpzIiwKCmFzc2VydGlvbjogImZ1bmN0aW9uIG11c3QgYmUgZXZhbHVhdGVkIGluc2lkZSB0aGUgZXhwcmVzc2lvbiIsCgpkZXNjcmlwdGlvbjogIkRlZmluaW5nIGZ1bmN0aW9uIGJvZHkgd2l0aCBcInJldHVybiBhcmcgKyBhcmd1bWVudHNbMV1cIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIHggPSAoZnVuY3Rpb24gX19mdW5jKGFyZyl7cmV0dXJuIGFyZyArIGFyZ3VtZW50c1sxXX0pKDEsIjEiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHggIT09ICIxMSIpIHsKCSRFUlJPUignIzE6IHggPT09ICIxMSIuIEFjdHVhbDogeCA9PT0nK3gpOwp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICd1bmRlZmluZWQnKSB7CgkkRVJST1IoJyMyOiB0eXBlb2YgX19mdW5jID09PSBcJ3VuZGVmaW5lZFwnLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTJfVDMiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0EyX1QzLmpzIiwKCmFzc2VydGlvbjogImZ1bmN0aW9uIG11c3QgYmUgZXZhbHVhdGVkIGluc2lkZSB0aGUgZXhwcmVzc2lvbiIsCgpkZXNjcmlwdGlvbjogIkRlZmluaW5nIGZ1bmN0aW9uIGJvZHkgd2l0aCBcInJldHVybiBhcmd1bWVudHNbMF0gK1wiLVwiKyBhcmd1bWVudHNbMV1cIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIHggPSAoZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuIGFyZ3VtZW50c1swXSArIi0iKyBhcmd1bWVudHNbMV19KSgiT2JpIiwiV2FuIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4ICE9PSAiT2JpLVdhbiIpIHsKCSRFUlJPUignIzE6IHggPT09ICJPYmktV2FuIi4gQWN0dWFsOiB4ID09PScreCk7Cn0KCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIF9fZnVuYyAhPT0gJ3VuZGVmaW5lZCcpIHsKCSRFUlJPUignIzI6IHR5cGVvZiBfX2Z1bmMgPT09IFwndW5kZWZpbmVkXCcuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13_A2_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTNfVDEiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0EzX1QxLmpzIiwKCmFzc2VydGlvbjogIlRoZSBJZGVudGlmaWVyIGluIGEgRnVuY3Rpb25FeHByZXNzaW9uIGNhbiBiZSByZWZlcmVuY2VkIGZyb20gaW5zaWRlIHRoZSBGdW5jdGlvbkV4cHJlc3Npb25cJ3MgRnVuY3Rpb25Cb2R5IHRvIGFsbG93IHRoZSBmdW5jdGlvbiBjYWxsaW5nIGl0c2VsZiByZWN1cnNpdmVseSIsCgpkZXNjcmlwdGlvbjogIkNyZWF0aW5nIGEgcmVjdXJzaXZlIGZ1bmN0aW9uIHRoYXQgY2FsY3VsYXRlcyBmYWN0b3JpYWwsIGFzIGEgdmFyaWFibGUuIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgX19mdW5jID0gZnVuY3Rpb24gX19leHBfX2Z1bmMoYXJnKXsKICAgIGlmIChhcmcgPT09IDEpIHsKICAgIAlyZXR1cm4gYXJnOwogICAgfSBlbHNlIHsKICAgIAlyZXR1cm4gX19leHBfX2Z1bmMoYXJnLTEpKmFyZzsKICAgIH0KfTsKCnZhciBmYWN0X29mXzMgPSAgX19mdW5jKDMpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZmFjdF9vZl8zICE9PSA2KSB7CgkkRVJST1IoIiMxOiBmYWN0X29mXzMgPT09IDYuIEFjdHVhbDogZmFjdF9vZl8zID09PSIrZmFjdF9vZl8zKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTNfVDIiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0EzX1QyLmpzIiwKCmFzc2VydGlvbjogIlRoZSBJZGVudGlmaWVyIGluIGEgRnVuY3Rpb25FeHByZXNzaW9uIGNhbiBiZSByZWZlcmVuY2VkIGZyb20gaW5zaWRlIHRoZSBGdW5jdGlvbkV4cHJlc3Npb25cJ3MgRnVuY3Rpb25Cb2R5IHRvIGFsbG93IHRoZSBmdW5jdGlvbiBjYWxsaW5nIGl0c2VsZiByZWN1cnNpdmVseSIsCgpkZXNjcmlwdGlvbjogIkNyZWF0aW5nIGEgcmVjdXJzaXZlIGZ1bmN0aW9uIHRoYXQgY2FsY3VsYXRlcyBmYWN0b3JpYWwsIGFzIGEgdmFyaWFibGUuIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgX19mdW5jID0gZnVuY3Rpb24gKGFyZyl7CiAgICBpZiAoYXJnID09PSAxKSB7CiAgICAJcmV0dXJuIGFyZzsKICAgIH0gZWxzZSB7CiAgICAJcmV0dXJuIF9fZnVuYyhhcmctMSkqYXJnOwogICAgfQp9OwoKdmFyIGZhY3Rfb2ZfMyA9ICBfX2Z1bmMoMyk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChmYWN0X29mXzMgIT09IDYpIHsKCSRFUlJPUigiIzE6IGZhY3Rfb2ZfMyA9PT0gNi4gQWN0dWFsOiBmYWN0X29mXzMgPT09IitmYWN0X29mXzMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTNfVDMiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0EzX1QzLmpzIiwKCmFzc2VydGlvbjogIlRoZSBJZGVudGlmaWVyIGluIGEgRnVuY3Rpb25FeHByZXNzaW9uIGNhbiBiZSByZWZlcmVuY2VkIGZyb20gaW5zaWRlIHRoZSBGdW5jdGlvbkV4cHJlc3Npb25cJ3MgRnVuY3Rpb25Cb2R5IHRvIGFsbG93IHRoZSBmdW5jdGlvbiBjYWxsaW5nIGl0c2VsZiByZWN1cnNpdmVseSIsCgpkZXNjcmlwdGlvbjogIkNyZWF0aW5nIHNpbXBsZSByZWN1cnNpdmUgZnVuY3Rpb24gdGhhdCBjYWxjdWxhdGVzIGZhY3RvcmlhbCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX19mdW5jKGFyZyl7CiAgICBpZiAoYXJnID09PSAxKSB7CiAgICAJcmV0dXJuIGFyZzsKICAgIH0gZWxzZSB7CiAgICAJcmV0dXJuIF9fZnVuYyhhcmctMSkqYXJnOwogICAgfQp9OwoKdmFyIGZhY3Rfb2ZfMyA9ICBfX2Z1bmMoMyk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChmYWN0X29mXzMgIT09IDYpIHsKCSRFUlJPUigiIzE6IGZhY3Rfb2ZfMyA9PT0gNi4gQWN0dWFsOiBmYWN0X29mXzMgPT09IitmYWN0X29mXzMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13_A3_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTRfVDEiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0E0X1QxLmpzIiwKCmFzc2VydGlvbjogIlRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uRGVjbGFyYXRpb246IFwiZnVuY3Rpb24gSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0ICkgeyBGdW5jdGlvbkJvZHkgfVwiIGlzIHByb2Nlc3NlZCBieSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMiLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgc3RyaW5nIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gInppZy16aWctc3B1dG5payI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEgCmlmICh0eXBlb2YgX19mdW5jICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZnVuYygpICE9PSAiemlnLXppZy1zcHV0bmlrIikgewoJJEVSUk9SKCcjMjogX19mdW5jKCkgPT09ICJ6aWctemlnLXNwdXRuaWsiLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13_A4_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTRfVDIiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0E0X1QyLmpzIiwKCmFzc2VydGlvbjogIlRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uRGVjbGFyYXRpb246IFwiZnVuY3Rpb24gSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0ICkgeyBGdW5jdGlvbkJvZHkgfVwiIGlzIHByb2Nlc3NlZCBieSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMiLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSBmdW5jdGlvbiB0aGF0IHVzZXMgcHJlZml4IGluY3JlbWVudCBvcGVyYXRvciB3aXRoaW4gaXRzIFwicmV0dXJuXCIgRXhwcmVzc2lvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX19mdW5jKGFyZyl7cmV0dXJuICsrYXJnO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxIAppZiAodHlwZW9mIF9fZnVuYyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2Z1bmMoMSkgIT09IDIpIHsKCSRFUlJPUignIzI6IF9fZnVuYygxKSA9PT0gMi4gQWN0dWFsOiBfX2Z1bmMoMSkgPT09JytfX2Z1bmMoMSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13_A4_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTRfVDMiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0E0X1QzLmpzIiwKCmFzc2VydGlvbjogIlRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uRGVjbGFyYXRpb246IFwiZnVuY3Rpb24gSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0ICkgeyBGdW5jdGlvbkJvZHkgfVwiIGlzIHByb2Nlc3NlZCBieSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMiLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSBmdW5jdGlvbiB0aGF0IHVzZXMgYXJpdGhtZXRpY2FsIG9wZXJhdG9ycyB3aXRoaW4gaXRzIFwicmV0dXJuXCIgRXhwcmVzc2lvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX19mdW5jKGFyZzEsIGFyZzIsIGFyZzMpe3JldHVybiBhcmcxKz0oYXJnMis9YXJnMyk7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEgCmlmICh0eXBlb2YgX19mdW5jICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZnVuYygxMCwgMjAsIDMwKSAhPT0gNjApIHsKCSRFUlJPUignIzI6IF9fZnVuYygxMCwgMjAsIDMwKSA9PT0gNjAuIEFjdHVhbDogX19mdW5jKDEwLDIwLDMwKSA9PT0nK19fZnVuYygxMCwyMCwzMCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13_A4_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTRfVDQiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0E0X1Q0LmpzIiwKCmFzc2VydGlvbjogIlRoZSBwcm9kdWN0aW9uIEZ1bmN0aW9uRGVjbGFyYXRpb246IFwiZnVuY3Rpb24gSWRlbnRpZmllciAoIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0ICkgeyBGdW5jdGlvbkJvZHkgfVwiIGlzIHByb2Nlc3NlZCBieSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMiLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSBmdW5jdGlvbiB0aGF0IHVzZXMgc3RyaW5ncyBjb25jYXRlbmFpb24gb3BlYXRvciB3aXRoaW4gaXRzIFwicmV0dXJuXCIgRXhwcmVzc2lvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuIGFyZ3VtZW50c1swXS5uYW1lICsgIiAiICsgYXJndW1lbnRzWzBdLnN1cm5hbWU7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEgCmlmICh0eXBlb2YgX19mdW5jICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZnVuYyh7bmFtZTonZm94Jywgc3VybmFtZTonbWFsZGVyJ30pICE9PSAiZm94IG1hbGRlciIpIHsKCSRFUlJPUignIzI6IF9fZnVuYyh7bmFtZTpcJ2ZveFwnLCBzdXJuYW1lOlwnbWFsZGVyXCd9KSA9PT0gImZveCBtYWxkZXIiLiBBY3R1YWw6IF9fZnVuYyh7bmFtZTpcJ2ZveFwnLCBzdXJuYW1lOlwnbWFsZGVyXCd9KSA9PT0nK19fZnVuYyh7bmFtZTonZm94Jywgc3VybmFtZTonbWFsZGVyJ30pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIGZ1bmNfXyhhcmcpe3JldHVybiBhcmcubmFtZSArICIgIiArIGFyZy5zdXJuYW1lO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzIAppZiAodHlwZW9mIGZ1bmNfXyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMzogdHlwZW9mIGZ1bmNfXyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChmdW5jX18oe25hbWU6J2pvaG4nLCBzdXJuYW1lOidsZW5ub24nfSkgIT09ICJqb2huIGxlbm5vbiIpIHsKCSRFUlJPUignIzQ6IGZ1bmNfXyh7bmFtZTpcJ2pvaG5cJywgc3VybmFtZTpcJ2xlbm5vblwnfSkgPT09ICJqb2huIGxlbm5vbiIuIEFjdHVhbDogX19mdW5jKHtuYW1lOlwnam9oblwnLCBzdXJuYW1lOlwnbGVubm9uXCd9KSA9PT0nK19fZnVuYyh7bmFtZTonam9obicsIHN1cm5hbWU6J2xlbm5vbid9KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13_A4_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTUiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0E1LmpzIiwKCmFzc2VydGlvbjogIk9ubHkgRm9ybWFsUGFyYW1ldGVyTGlzdCBhcyBhcmd1bWVudHMgbGlzdCBpcyBhbGxvd2VkIiwKCmRlc2NyaXB0aW9uOiAiVHJ5aW5nIHRvIHVzZSBbYXJnMSwgYXJnMiwgYXJnM10sIChhcmcxLCBhcmcyLCBhcmczKSwgZXRjLiBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3QiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewoJZXZhbCgiZnVuY3Rpb24gX19mdW5jKFthcmcxLCBhcmcyLCBhcmczXSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fSIpOwoJJEVSUk9SKCcjMTogZXZhbCgiZnVuY3Rpb24gX19mdW5jKFthcmcxLCBhcmcyLCBhcmczXSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fSIpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2goZSl7CglpZighKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpewoJCSRFUlJPUignIzEuMTogZXZhbCgiZnVuY3Rpb24gX19mdW5jKFthcmcxLCBhcmcyLCBhcmczXSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fSIpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uIG9mIFN5bnRheEVycm9yLiBBY3R1YWw6IGV4Y2VwdGlvbiBpcyAnK2UpOwoJfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp0cnl7CglldmFsKCJmdW5jdGlvbiBfX2Z1bmMoKGFyZzEsIGFyZzIsIGFyZzMpKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDt9Iik7CgkkRVJST1IoJyMyOiBldmFsKCJmdW5jdGlvbiBfX2Z1bmMoKGFyZzEsIGFyZzIsIGFyZzMpKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDt9IikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKQp9IGNhdGNoKGUpewoJaWYoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKXsKCQkkRVJST1IoJyMyLjE6IGV2YWwoImZ1bmN0aW9uIF9fZnVuYygoYXJnMSwgYXJnMiwgYXJnMykpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoO30iKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiBvZiBTeW50YXhFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKdHJ5ewoJZXZhbCgiZnVuY3Rpb24gX19mdW5jKGFyZzEsIGFyZzIsIGFyZzMsKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDt9Iik7CgkkRVJST1IoJyMzOiBldmFsKCJmdW5jdGlvbiBfX2Z1bmMoYXJnMSwgYXJnMiwgYXJnMywpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoO30iKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpCn0gY2F0Y2goZSl7CglpZighKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpewoJCSRFUlJPUignIzMuMTogZXZhbCgiZnVuY3Rpb24gX19mdW5jKGFyZzEsIGFyZzIsIGFyZzMsKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDt9IikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb2YgU3ludGF4RXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7Cgl9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13_A5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTZfVDEiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0E2X1QxLmpzIiwKCmFzc2VydGlvbjogIkZ1bmN0aW9uRGVjbGFyYXRpb24gY2FuIGJlIG92ZXJyaWRlZCBieSBvdGhlciBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGggdGhlIHNhbWUgSWRlbnRpZmllciIsCgpkZXNjcmlwdGlvbjogIkR1cGxpY2F0aW5nIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gMX07CiAKdmFyIF9fc3RvcmVfX2Z1bmMgPSBfX2Z1bmM7CiAKdmFyIF9fMSA9IF9fZnVuYygpOwogCiBmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gJ0EnfTsKIAp2YXIgX19BID0gX19mdW5jKCk7CiAKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdG9yZV9fZnVuYyAhPT0gX19mdW5jKSB7CgkkRVJST1IoJyMxOiBfX3N0b3JlX19mdW5jID09PSBfX2Z1bmMuIEFjdHVhbDogX19zdG9yZV9fZnVuYyA9PT0nK19fc3RvcmVfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAKIAovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfXzEgIT09IF9fQSkgewoJJEVSUk9SKCcjMjogX18xID09PSBfX0EuIEFjdHVhbDogX18xID09PScrX18xKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13_A6_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTZfVDIiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0E2X1QyLmpzIiwKCmFzc2VydGlvbjogIkZ1bmN0aW9uRGVjbGFyYXRpb24gY2FuIGJlIG92ZXJyaWRlZCBieSBvdGhlciBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGggdGhlIHNhbWUgSWRlbnRpZmllciIsCgpkZXNjcmlwdGlvbjogIkNhbGxpbmcgYSBmdW5jdGlvbiBiZWZvcmUgaXQgaXMgZGVjbGFyZWQgb25lIG1vcmUgdGltZSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CiAgICB2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKTsKfSBjYXRjaChlKSB7CiAgICAkRkFJTCgiIzE6IEZ1bmN0aW9uIGNhbGwgY2FuIGFwcGVhcnMgaW4gdGhlIHByb2dyYW0gYmVmb3JlIHRoZSBGdW5jdGlvbkRlY2xhcmF0aW9uIGFwcGVhcnMiKTsKfQppZiAoX19yZXN1bHQgIT09ICJTRUNPTkQiKSB7CgkkRVJST1IoJyMxLjE6IF9fcmVzdWx0ID09PSAiU0VDT05EIi4gQWN0dWFsOiBfX3Jlc3VsdCA9PT0nK19fcmVzdWx0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAiRklSU1QiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCl9fcmVzdWx0ID0gX19mdW5jKCk7CmlmIChfX3Jlc3VsdCAhPT0gIlNFQ09ORCIpIHsKCSRFUlJPUignIzI6IF9fcmVzdWx0ID09PSAiU0VDT05EIi4gQWN0dWFsOiBfX3Jlc3VsdCA9PT0nK19fcmVzdWx0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAiU0VDT05EIjt9OwoKIH0KfSk7Cgo=","id":"S13_A6_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTdfVDEiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0E3X1QxLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbkJvZHkgbXVzdCBiZSBTb3VyY2VFbGVtZW50cyIsCgpkZXNjcmlwdGlvbjogIlVzaW5nIG9ubHkgU291cmNlRWxlbWVudHMgd2l0aGluIHRoZSBGdW5jdGlvbkJvZHkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYygpeydncm91bmQgY29udHJvbCB0byBtYWpvciB0b20nfTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmNfXzIoKXtifTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIF9fZnVuY19fMiAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMjogdHlwZW9mIF9fZnVuY19fMiA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jX18yID09PScrdHlwZW9mIF9fZnVuY19fMik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmNfXzMoKXsxfTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fZnVuY19fMyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMzogdHlwZW9mIF9fZnVuY19fMyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jX18zID09PScrdHlwZW9mIF9fZnVuY19fMyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmNfXzQoKXsxK2N9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmICh0eXBlb2YgX19mdW5jX180ICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyM0OiB0eXBlb2YgX19mdW5jX180ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmNfXzQgPT09Jyt0eXBlb2YgX19mdW5jX180KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fZnVuY19fNSgpe2luYyhkKX07Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX2Z1bmNfXzUgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzU6IHR5cGVvZiBfX2Z1bmNfXzUgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fZnVuY19fNSA9PT0nK3R5cGVvZiBfX2Z1bmNfXzUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19mdW5jX182KCl7dmFyIFx1MDA0MiA9IDE7fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNgppZiAodHlwZW9mIF9fZnVuY19fNiAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjNjogdHlwZW9mIF9fZnVuY19fNiA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jX182ID09PScrdHlwZW9mIF9fZnVuY19fNik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovL2Z1bmN0aW9uIF9fZnVuY19fNygpe3ZhciBcdTAwM2QgPSAxO307Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vLy9DSEVDSyM3Ci8vaWYgKHR5cGVvZiBfX2Z1bmNfXzcgIT09ICJmdW5jdGlvbiIpIHsKLy8JJEVSUk9SKCcjNzogVGhlIEZ1bmN0aW9uQm9keSBtdXN0IGJlIFNvdXJjZUVsZW1lbnRzJyk7Ci8vfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13_A7_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTdfVDIiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0E3X1QyLmpzIiwKCmFzc2VydGlvbjogIlRoZSBGdW5jdGlvbkJvZHkgbXVzdCBiZSBTb3VyY2VFbGVtZW50cyIsCgpkZXNjcmlwdGlvbjogIkluc2VydGluZyBlbGVtZW50cyB0aGF0IGlzIGRpZmZlcmVudCBmcm9tIFNvdXJjZUVsZW1lbnRzIGludG8gdGhlIEZ1bmN0aW9uQm9keSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CglldmFsKCJmdW5jdGlvbiBfX2Z1bmMoKXsvIEFCQ30iKTsKCSRFUlJPUignIzE6IGV2YWwoImZ1bmN0aW9uIF9fZnVuYygpey8gQUJDfSIpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2goZSl7CglpZighKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpewoJCSRFUlJPUignIzEuMTogZXZhbCgiZnVuY3Rpb24gX19mdW5jKCl7LyBBQkN9IikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb2YgU3ludGF4RXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7Cgl9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnRyeXsKCWV2YWwoImZ1bmN0aW9uIF9fZnVuYygpeyYxfSIpOwoJJEVSUk9SKCcjMzogZXZhbCgiZnVuY3Rpb24gX19mdW5jKCl7JjF9IikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaChlKXsKCWlmKCEoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSl7CgkJJEVSUk9SKCcjMy4xOiBldmFsKCJmdW5jdGlvbiBfX2Z1bmMoKXsmMX0iKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiBvZiBTeW50YXhFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKdHJ5ewoJZXZhbCgiZnVuY3Rpb24gX19mdW5jKCl7IyBBQkN9Iik7CgkkRVJST1IoJyM0OiBldmFsKCJmdW5jdGlvbiBfX2Z1bmMoKXsjIEFCQ30iKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewoJaWYoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKXsKCQkkRVJST1IoJyM0LjE6IGV2YWwoImZ1bmN0aW9uIF9fZnVuYygpeyMgQUJDfSIpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uIG9mIFN5bnRheEVycm9yLiBBY3R1YWw6IGV4Y2VwdGlvbiBpcyAnK2UpOwoJfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13_A7_T2"},{"code":"IGZ1bmN0aW9uIF9fZnVuYygpe1xBXEJcQ307CiAKCg==","id":"S13_A7_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQThfVDEiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0E4X1QxLmpzIiwKCmFzc2VydGlvbjogIkFyZ3VtZW50cyBwcm9wZXJ0eSBvZiBhY3RpdmF0aW9uIG9iamVjdCBjb250YWlucyByZWFsIHBhcmFtcyB0byBiZSBwYXNzZWQiLAoKZGVzY3JpcHRpb246ICJDcmVhdGluZyBhIGZ1bmN0aW9uIGRlY2xhcmVkIHdpdGggXCJmdW5jdGlvbiBfX2Z1bmMocGFyYW0xLCBwYXJhbTIsIHBhcmFtMylcIiBhbmQgdXNpbmcgYXJndW1lbnRzLmxlbmd0aCBwcm9wZXJ0eSBpbiBvcmRlciB0byBwZXJmb3JtIHRoZSB0ZXN0IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMocGFyYW0xLCBwYXJhbTIsIHBhcmFtMykgewogCXJldHVybiBhcmd1bWVudHMubGVuZ3RoOwogfQogCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygnQScpICE9PSAxKSB7CiAJJEVSUk9SKCcjMTogX19mdW5jKFwnQVwnKSA9PT0gMS4gQWN0dWFsOiBfX2Z1bmMoXCdBXCcpID09PScrX19mdW5jKCdBJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCdBJywgJ0InLCAxLCAyLF9fZnVuYykgIT09IDUpIHsKCSRFUlJPUignIzI6IF9fZnVuYyhcJ0FcJywgXCdCXCcsIDEsIDIsX19mdW5jKSA9PT0gNS4gQWN0dWFsOiBfX2Z1bmMoXCdBXCcsIFwnQlwnLCAxLCAyLF9fZnVuYykgPT09JytfX2Z1bmMoJ0EnLCAnQicsIDEsIDIsX19mdW5jKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAKIAogCgogfQp9KTsKCg==","id":"S13_A8_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQThfVDIiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0E4X1QyLmpzIiwKCmFzc2VydGlvbjogIkFyZ3VtZW50cyBwcm9wZXJ0eSBvZiBhY3RpdmF0aW9uIG9iamVjdCBjb250YWlucyByZWFsIHBhcmFtcyB0byBiZSBwYXNzZWQiLAoKZGVzY3JpcHRpb246ICJDcmVhdGluZyBhIGZ1bmN0aW9uIHdpdGggbm8gcGFyYW1ldGVycyBhbmQgdXNpbmcgYXJndW1lbnRzLmxlbmd0aCBwcm9wZXJ0eSBpbiBvcmRlciB0byBwZXJmb3JtIHRoZSB0ZXN0IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoKSB7CiAJcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7CiB9CiAKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKCdBJykgIT09IDEpIHsKIAkkRVJST1IoJyMxOiBfX2Z1bmMoXCdBXCcpID09PSAxLiBBY3R1YWw6IF9fZnVuYyhcJ0FcJykgPT09JytfX2Z1bmMoJ0EnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2Z1bmMoJ0EnLCAnQicsIDEsIDIsX19mdW5jKSAhPT0gNSkgewoJJEVSUk9SKCcjMjogX19mdW5jKFwnQVwnLCBcJ0JcJywgMSwgMixfX2Z1bmMpID09PSA1LiBBY3R1YWw6IF9fZnVuYyhcJ0FcJywgXCdCXCcsIDEsIDIsX19mdW5jKSA9PT0nK19fZnVuYygnQScsICdCJywgMSwgMixfX2Z1bmMpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fZnVuYygpICE9PSAwKSB7CgkkRVJST1IoJyMzOiBfX2Z1bmMoKSA9PT0gMC4gQWN0dWFsOiBfX2Z1bmMoKSA9PT0nK19fZnVuYygpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13_A8_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTNfQTkiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cUzEzX0E5LmpzIiwKCmFzc2VydGlvbjogIkZ1bmN0aW9uIGNhbiBiZSBwYXNzZWQgYXMgYXJndW1lbnQiLAoKZGVzY3JpcHRpb246ICJVc2luZyBmdW5jdGlvbiBhcyBhcmd1bWVudCBvZiBhbm90aGVyIGZ1bmN0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmNfX0lOQyhhcmcpe3JldHVybiBhcmcgKyAxO307CmZ1bmN0aW9uIF9fZnVuY19fTVVMVChpbmNyZW1lbnRhdG9yLCBhcmcsIG11bHQpeyByZXR1cm4gaW5jcmVtZW50YXRvcihhcmcpKm11bHQ7IH07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmNfX01VTFQoX19mdW5jX19JTkMsIDIsIDIpICE9PSA2KSB7CgkkRVJST1IoJyMxOiBmdW5jdGlvbiAgY2FuIGJlIHBhc3NlZCBhcyBhcmd1bWVudCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCiB9Cn0pOwoK","id":"S13_A9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0ExX1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0ExX1QxLmpzIiwKCmFzc2VydGlvbjogIlRoZSBkZXB0aCBvZiBuZXN0ZWQgZnVuY3Rpb24gY2FsbHMgcmVhY2hlcyAzMiIsCgpkZXNjcmlwdGlvbjogIkNyZWF0aW5nIGZ1bmN0aW9uIGNhbGxzIDMyIGVsZW1lbnRzIGRlcHRoIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAoZnVuY3Rpb24oKXsKICAgIChmdW5jdGlvbigpewogICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpe30pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgfSkoKQogICAgICAgIH0pKCkKICAgIH0pKCkKfSkoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiB9Cn0pOwoK","id":"S13.2.1_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E0X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E0X1QxLmpzIiwKCmFzc2VydGlvbjogIk9iamVjdHMgYXMgYXJndW1lbnRzIGFyZSBwYXNzZWQgYnkgcmVmZXJlbmNlIiwKCmRlc2NyaXB0aW9uOiAiQWRkaW5nIG5ldyBudW1iZXIgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoX19hcmcpewogICAgX19hcmcuZm9vPTc7Cn0KCnZhciBfX29iaj17fTsKCl9fZnVuYyhfX29iaik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5mb28gIT09IDcpIHsKCSRFUlJPUignIzE6IF9fb2JqLmZvbyA9PT0gNy4gQWN0dWFsOiBfX29iai5mb28gPT09JytfX29iai5mb28pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.1_A4_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E0X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E0X1QyLmpzIiwKCmFzc2VydGlvbjogIk9iamVjdHMgYXMgYXJndW1lbnRzIGFyZSBwYXNzZWQgYnkgcmVmZXJlbmNlIiwKCmRlc2NyaXB0aW9uOiAiQWRkaW5nIG5ldyBzdHJpbmcgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoX19hcmcpewogICAgX19hcmcuZm9vPSJ3aGlza2V5IGdvZ28iOwp9Cgp2YXIgX19vYmo9e307CgogX19mdW5jKF9fb2JqKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLmZvbyAhPT0gIndoaXNrZXkgZ29nbyIpIHsKCSRFUlJPUignIzE6IF9fb2JqLmZvbyA9PT0gIndoaXNrZXkgZ29nbyIuIEFjdHVhbDogX19vYmouZm9vID09PScrX19vYmouZm9vKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.1_A4_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E0X1QzIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E0X1QzLmpzIiwKCmFzc2VydGlvbjogIk9iamVjdHMgYXMgYXJndW1lbnRzIGFyZSBwYXNzZWQgYnkgcmVmZXJlbmNlIiwKCmRlc2NyaXB0aW9uOiAiQWRkaW5nIG5ldyBudW1iZXIgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIGFyZ3VtZW50c1swXVsiUEkiXT0zLjE0Owp9Cgp2YXIgX19vYmo9e307CgpfX2Z1bmMoX19vYmopOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmouUEkgIT09IDMuMTQpIHsKCSRFUlJPUignIzE6IF9fb2JqLlBJID09PSAzLjE0LiBBY3R1YWw6IF9fb2JqLlBJID09PScrX19vYmouUEkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.1_A4_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E0X1Q0IiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E0X1Q0LmpzIiwKCmFzc2VydGlvbjogIk9iamVjdHMgYXMgYXJndW1lbnRzIGFyZSBwYXNzZWQgYnkgcmVmZXJlbmNlIiwKCmRlc2NyaXB0aW9uOiAiQWRkaW5nIG5ldyBudW1iZXIgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIGFyZ3VtZW50c1swXVsiRSJdPTIuNzQ7Cn0KCnZhciBfX29iaj17fTsKCl9fZnVuYyhfX29iaik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5FICE9PSAyLjc0KSB7CgkkRVJST1IoJyMxOiBfX29iai5FID09PSAyLjc0LiBBY3R1YWw6IF9fb2JqLkUgPT09JytfX29iai5FKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.1_A4_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E1X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E1X1QxLmpzIiwKCmFzc2VydGlvbjogIkNsb3N1cmVzIGFyZSBhZG1pdHRlZCIsCgpkZXNjcmlwdGlvbjogIlNvcnRpbmcgd2l0aCBjbG9zdXJlIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgX19hcnIgPSBbNCwzLDIsMSw0LDMsMiwxLDQsMywyLDFdOwovL1NvcnQgdXNlcyBjbG9zdXJlCi8vCl9fYXJyLnNvcnQoCglmdW5jdGlvbih4LHkpIHsgCgkJaWYgKHg+eSl7cmV0dXJuIC0xO30gCgkJaWYgKHg8eSl7cmV0dXJuIDE7fSAKCQlpZiAoeD09eSl7cmV0dXJuIDA7fSAKCX0KKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fYXJyLnRvU3RyaW5nKCkgIT09IFs0LDQsNCwzLDMsMywyLDIsMiwxLDEsMV0udG9TdHJpbmcoKSkgewoJJEVSUk9SKCcjMTogX19hcnIudG9TdHJpbmcoKSA9PT0gWzQsNCw0LDMsMywzLDIsMiwyLDEsMSwxXS50b1N0cmluZygpLiBBY3R1YWw6IF9fYXJyLnRvU3RyaW5nKCkgPT09JytfX2Fyci50b1N0cmluZygpKTsKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICAKCiB9Cn0pOwoK","id":"S13.2.1_A5_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E1X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E1X1QyLmpzIiwKCmFzc2VydGlvbjogIkNsb3N1cmVzIGFyZSBhZG1pdHRlZCIsCgpkZXNjcmlwdGlvbjogIlJldHVybmluZyBhIGZ1bmN0aW9uIHRoYXQgYXBwcm94aW1hdGVzIHRoZSBkZXJpdmF0aXZlIG9mIGYiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vIFJldHVybiBhIGZ1bmN0aW9uIHRoYXQgYXBwcm94aW1hdGVzIHRoZSBkZXJpdmF0aXZlIG9mIGYKLy8gdXNpbmcgYW4gaW50ZXJ2YWwgb2YgZHgsIHdoaWNoIHNob3VsZCBiZSBhcHByb3ByaWF0ZWx5IHNtYWxsLgpmdW5jdGlvbiBkZXJpdmF0aXZlKGYsIGR4KSB7CiAgICByZXR1cm4gZnVuY3Rpb24oeCkgewogICAgICByZXR1cm4gKGYoeCArIGR4KSAtIGYoeCkpIC8gZHg7CiAgICB9Owp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChNYXRoLmFicyhkZXJpdmF0aXZlKE1hdGguc2luLCAwLjAwMDEpKDApIC0gZGVyaXZhdGl2ZShNYXRoLnNpbiwgMC4wMDAxKSgyKk1hdGguUEkpKSA+PSAxLzY1NTM2LjApIHsKCSRFUlJPUignIzE6IE1hdGguYWJzKGRlcml2YXRpdmUoTWF0aC5zaW4sIDAuMDAwMSkoMCkgLSBkZXJpdmF0aXZlKE1hdGguc2luLCAwLjAwMDEpKDIqTWF0aC5QSSkpIDw9IDEvNjU1MzYuMCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.1_A5_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E2X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E2X1QxLmpzIiwKCmFzc2VydGlvbjogIlByaW1pdGl2ZSB0eXBlcyBhcmUgcGFzc2VkIGJ5IHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAiRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCBcImZ1bmN0aW9uIF9fZnVuYyhhcmcxLCBhcmcyKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoYXJnMSwgYXJnMil7CiAgICBhcmcxKys7CiAgICBhcmcyKz0iQkEiOwp9OwoKdmFyIHg9MTsKeT0yOwp2YXIgYT0iQUIiCmI9IlNBTSI7CgpfX2Z1bmMoeCxhKTsKX19mdW5jKHksYik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4IT09MSB8fCB5IT09MiB8fCBhIT09IkFCIiB8fCBiIT09IlNBTSIpIHsKCSRFUlJPUignIzE6IHggPT09IDEgYW5kIHkgPT09IDIgYW5kIGEgPT09ICJBQiIgYW5kIGIgPT09ICJTQU0iLiBBY3R1YWw6IHggPT09Jyt4KycgYW5kIHkgPT09Jyt5KycgYW5kIGEgPT09JythKycgYW5kIGIgPT09JytiKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.1_A6_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E2X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E2X1QyLmpzIiwKCmFzc2VydGlvbjogIlByaW1pdGl2ZSB0eXBlcyBhcmUgcGFzc2VkIGJ5IHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAiRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCBcIl9fZnVuYyA9IGZ1bmN0aW9uKGFyZzEsIGFyZzIpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIF9fZnVuYyA9IGZ1bmN0aW9uKGFyZzEsIGFyZzIpewogICAgYXJnMSsrOwogICAgYXJnMis9IkJBIjsKfTsKCnZhciB4PTE7Cnk9MjsKdmFyIGE9IkFCIgpiPSJTQU0iOwoKX19mdW5jKHgsYSk7Cl9fZnVuYyh5LGIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoeCE9PTEgfHwgeSE9PTIgfHwgYSE9PSJBQiIgfHwgYiE9PSJTQU0iKSB7CgkkRVJST1IoJyMxOiB4ID09PSAxIGFuZCB5ID09PSAyIGFuZCBhID09PSAiQUIiIGFuZCBiID09PSAiU0FNIi4gQWN0dWFsOiB4ID09PScreCsnIGFuZCB5ID09PScreSsnIGFuZCBhID09PScrYSsnIGFuZCBiID09PScrYik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.1_A6_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E3X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E3X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiUmV0dXJuaW5nIG51bGwuIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX2Z1bmMoKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHZhciB4ID0gbnVsbDsKICAgIHJldHVybiB4Owp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeXsKICAgIHZhciB4PV9fZnVuYygpOwp9IGNhdGNoKGUpewogICAgJEVSUk9SKCcjMTogdmFyIHg9X19mdW5jKCkgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24uIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.1_A7_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E3X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E3X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiUmV0dXJuaW5nIG51bGwuIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJ2YXIgX19mdW5jID0gZnVuY3Rpb24gKClcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uICgpewogICAgdmFyIHggPSBudWxsOwogICAgcmV0dXJuIHg7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewogICAgdmFyIHg9X19mdW5jKCk7Cn0gY2F0Y2goZSl7CiAgICAkRVJST1IoJyMxOiB2YXIgeD1fX2Z1bmMoKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbi4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.1_A7_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E3X1QzIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E3X1QzLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiUmV0dXJuaW5nIG51bWJlci4gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCBcImZ1bmN0aW9uIF9fZnVuYygpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYygpewogICAgeCA9IDE7CiAgICByZXR1cm4geDsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCnRyeSB7Cgl4PXg7CgkkRVJST1IoJyMwOiAieD14IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewogICAgdmFyIF9feD1fX2Z1bmMoKQp9IGNhdGNoKGUpewogICAgJEVSUk9SKCcjMTogdmFyIF9feD1fX2Z1bmMoKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbi4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9feCAhPT0gMSkgewoJJEVSUk9SKCcjMjogX194ID09PSAxLiBBY3R1YWw6IF9feCA9PT0nK19feCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh4ICE9PSAxKSB7CgkkRVJST1IoJyMzOiB4ID09PSAxLiBBY3R1YWw6IHggPT09Jyt4KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgogfQp9KTsKCg==","id":"S13.2.1_A7_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E3X1Q0IiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E3X1Q0LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiUmV0dXJuaW5nIGJvb2xlYW4uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX2Z1bmMoKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHZhciB4ID0gdHJ1ZTsKICAgIHJldHVybiB4Owp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKdHJ5IHsKCXg9eDsKCSRFUlJPUignIzA6ICJ4PXgiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHt9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CiAgICB2YXIgX194PV9fZnVuYygpCn0gY2F0Y2goZSl7CiAgICAkRVJST1IoJyMxOiB2YXIgX194PV9fZnVuYygpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uLiBBY3R1YWw6IGV4Y2VwdGlvbiBpcyAnK2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIShfX3gpKSB7CgkkRVJST1IoJyMyOiBfX3ggPT09IHRydWUuIEFjdHVhbDogX194ID09PScrX194KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKdHJ5IHsKCXg9eDsKCSRFUlJPUignIzM6ICJ4PXgiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHt9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCiB9Cn0pOwoK","id":"S13.2.1_A7_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E4X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E4X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVGhyb3dpbmcgYW4gZXhjZXB0aW9uIHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHkuIERlY2xhcmluZyBmdW5jdGlvbiB3aXRoIFwiZnVuY3Rpb24gX19mdW5jKClcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX19mdW5jKCl7CiAgICB2YXIgeCA9IDE7CiAgICB0aHJvdyAoIkNhdGNoIE1lIElmIFlvdSBDYW4iKQogICAgcmV0dXJuIHg7Cn0KCnRyeXsKICAgIHZhciB4PV9fZnVuYygpCiAgICAkRVJST1IoJyMwOiB2YXIgeD1fX2Z1bmMoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewogICAgaWYgKGUgIT09ICJDYXRjaCBNZSBJZiBZb3UgQ2FuIikgewogICAgCSRFUlJPUignIzE6IEV4Y2VwdGlvbiA9PT0gIkNhdGNoIE1lIElmIFlvdSBDYW4iLiBBY3R1YWw6IGV4Y2VwdGlvbiA9PT0nK2UpOwogICAgfQp9CgogfQp9KTsKCg==","id":"S13.2.1_A8_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E4X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E4X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVGhyb3dpbmcgYW4gZXhjZXB0aW9uIHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHkuIERlY2xhcmluZyBmdW5jdGlvbiB3aXRoIFwidmFyIF9fZnVuYyA9IGZ1bmN0aW9uIChtZXNzYWdlKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgQ0FUQ0hfTUVfSUZfWU9VX0NBTiA9IHRydWU7Cgp2YXIgX19mdW5jID0gZnVuY3Rpb24gKG1lc3NhZ2UpewogICAgdmFyIHggPSAxOwogICAgdGhyb3cgKG1lc3NhZ2UpCiAgICByZXR1cm4geDsKfQoKdHJ5ewogICAgdmFyIHg9X19mdW5jKENBVENIX01FX0lGX1lPVV9DQU4pCiAgICAkRVJST1IoJyMwOiB2YXIgeD1fX2Z1bmMoQ0FUQ0hfTUVfSUZfWU9VX0NBTikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaChlKXsKICAgIGlmICghZSkgewogICAgCSRFUlJPUignIzE6IEV4Y2VwdGlvbiA9PT0gdHJ1ZS4gQWN0dWFsOiBleGNlcHRpb24gPT09JytlKTsKICAgIH0KfQoKIH0KfSk7Cgo=","id":"S13.2.1_A8_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E5LjFfVDEiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMl9DcmVhdGluZ19GdW5jdGlvbl9PYmplY3RzXFMxMy4yLjFfQTkuMV9UMS5qcyIsCgphc3NlcnRpb246ICJXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgaXMgY2FsbGVkLCIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX2Z1bmMoKVwiIGFuZCBubyBcInJldHVyblwiIGluIHRoZSBmdW5jdGlvbiBib2R5IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgeDsKCmZ1bmN0aW9uIF9fZnVuYygpewogICAgeCA9IHRydWU7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygpICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19mdW5jKCkgPT09JytfX2Z1bmMoKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIXgpIHsKCSRFUlJPUignIzI6IHggPT09IHRydWUuIEFjdHVhbDogeCA9PT0gJyt4KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.1_A9.1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E5LjFfVDIiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMl9DcmVhdGluZ19GdW5jdGlvbl9PYmplY3RzXFMxMy4yLjFfQTkuMV9UMi5qcyIsCgphc3NlcnRpb246ICJXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgaXMgY2FsbGVkLCIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJ2YXIgX19mdW5jID0gZnVuY3Rpb24oKVwiIGFuZCBubyBcInJldHVyblwiIGluIHRoZSBmdW5jdGlvbiBib2R5IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgeDsKCnZhciBfX2Z1bmMgPSBmdW5jdGlvbigpewogICAgeCA9IHRydWU7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygpICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19mdW5jKCkgPT09JytfX2Z1bmMoKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIXgpIHsKCSRFUlJPUignIzI6IHggPT09IHRydWUuIEFjdHVhbDogeCA9PT0gJyt4KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.1_A9.1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E5X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E5X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBpcyBjYWxsZWQsIiwKCmRlc2NyaXB0aW9uOiAiVXNpbmcgXCJyZXR1cm5cIiB3aXRoIG5vIGV4cHJlc3Npb24uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX2Z1bmMoKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgeDsgCgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHggPSAxOwogICAgcmV0dXJuOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoKSAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2Z1bmMoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHghPT0xKSB7CgkkRVJST1IoJyMyOiB4ID09PSAxLiBBY3R1YWw6IHggPT09ICcreCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.1_A9_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E5X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E5X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBpcyBjYWxsZWQsIiwKCmRlc2NyaXB0aW9uOiAiVXNpbmcgXCJyZXR1cm5cIiB3aXRoIG5vIGV4cHJlc3Npb24uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJ2YXIgX19mdW5jID0gZnVuY3Rpb24oKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgeDsgCgp2YXIgX19mdW5jID0gZnVuY3Rpb24oKXsKICAgIHggPSAxOwogICAgcmV0dXJuOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoKSAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2Z1bmMoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHghPT0xKSB7CgkkRVJST1IoJyMyOiB4ID09PSAxLiBBY3R1YWw6IHggPT09ICcreCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.1_A9_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExMCIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTAuanMiLAoKYXNzZXJ0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgaXMgcG9zc2libGUgYXMgbG9uZyBhcyB0aGlzLmFueV9GdW5jdGlvbiBpcyBkZWNsYXJlZCIsCgpkZXNjcmlwdGlvbjogIkNhbGxpbmcgYSBmdW5jdGlvbiBhcyBhIGNvbnN0cnVjdG9yIGFmdGVyIGl0IGhhcyBiZWVuIGRlY2xhcmVkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7CiAgIHRoaXMuaWQgPSAwOwogICAKICAgdGhpcy5mdW5jID0gZnVuY3Rpb24gKCl7CiAgICAgIHJldHVybiA1OwogICB9CiAgIAogICB0aGlzLmlkID0gdGhpcy5mdW5jKCk7CiAgICAgCn0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCk7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzE6IHZhciBvYmogPSBuZXcgRkFDVE9SWSgpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAob2JqLmlkICE9PSA1KSB7CgkkRVJST1IoJyMyOiBvYmouaWQgPT09IDUuIEFjdHVhbDogb2JqLmlkID09PScrb2JqLmlkKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.2_A10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTEuanMiLAoKYXNzZXJ0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgaXMgcG9zc2libGUgYXMgbG9uZyBhcyB0aGlzLmFueV9GdW5jdGlvbiBpcyBkZWNsYXJlZCBhbmQgY2FsbGVkIiwKCmRlc2NyaXB0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgYWZ0ZXIgaXQgaGFzIGJlZW4gZGVjbGFyZWQgd2l0aCBcImZ1bmN0aW9uIGZ1bmMoKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7CiAgIHRoaXMuaWQgPSAwOwogICAgICAKICAgdGhpcy5pZCA9IHRoaXMuZnVuYygpOwogICAKICAgZnVuY3Rpb24gZnVuYygpewogICAgICByZXR1cm4gImlkX3N0cmluZyI7CiAgIH0KICAgICAKfQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cgl2YXIgb2JqID0gbmV3IEZBQ1RPUlkoKTsKCSRFUlJPUignIzE6IHZhciBvYmogPSBuZXcgRkFDVE9SWSgpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHt9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCiB9Cn0pOwoK","id":"S13.2.2_A11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTIuanMiLAoKYXNzZXJ0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgaXMgcG9zc2libGUgYXMgbG9uZyBhcyB0aGlzLmFueV9GdW5jdGlvbiBpcyBkZWNsYXJlZCBhbmQgY2FsbGVkIiwKCmRlc2NyaXB0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgYWZ0ZXIgaXQgaGFzIGJlZW4gZGVjbGFyZWQgd2l0aCBcImZ1bmN0aW9uIGZ1bmMoKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7CiAgIHRoaXMuaWQgPSAwOwogICAgICAKICAgdGhpcy5pZCA9IGZ1bmMoKTsKICAgCiAgIGZ1bmN0aW9uIGZ1bmMoKXsKICAgICAgcmV0dXJuICJpZF9zdHJpbmciOwogICB9CiAgICAgCn0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCk7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzE6IHZhciBvYmogPSBuZXcgRkFDVE9SWSgpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAob2JqLmlkICE9PSAiaWRfc3RyaW5nIikgewoJJEVSUk9SKCcjMjogb2JqLmlkID09PSAiaWRfc3RyaW5nIi4gQWN0dWFsOiBvYmouaWQgPT09JytvYmouaWQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExMyIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTMuanMiLAoKYXNzZXJ0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgaXMgaW5hZG1pc3NpYmxlIGFzIGxvbmcgYXMgdGhpcy5hbnlfRnVuY3Rpb24gaXMgZGVjbGFyZWQgYnkgZXZhbCBhbmQgY2FsbGVkIiwKCmRlc2NyaXB0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgYWZ0ZXIgaXQgaGFzIGJlZW4gZGVjbGFyZWQgYnkgZXZhbCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gRkFDVE9SWSgpewogICB0aGlzLmlkID0gMDsKICAgICAgCiAgIHRoaXMuaWQgPSBmdW5jKCk7CiAgIAogICBldmFsKCJmdW5jdGlvbiBmdW5jKCl7cmV0dXJuIFwiaWRfc3RyaW5nXCI7fSIpOwogICAgIAp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCXZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwoJJEVSUk9SKCcjMTogdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCkgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkge30KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNCIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTQuanMiLAoKYXNzZXJ0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgaXMgaW5hZG1pc3NpYmxlIGFzIGxvbmcgYXMgdGhpcy5hbnlfRnVuY3Rpb24gaXMgZGVjbGFyZWQgYnkgZXZhbCBhbmQgY2FsbGVkIiwKCmRlc2NyaXB0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgYWZ0ZXIgaXQgaGFzIGJlZW4gZGVjbGFyZWQgYnkgZXZhbCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gRkFDVE9SWSgpewogICB0aGlzLmlkID0gMDsKICAgCiAgIGV2YWwoImZ1bmN0aW9uIGZ1bmMoKXtyZXR1cm4gXCJpZF9zdHJpbmdcIjt9Iik7CiAgICAgIAogICB0aGlzLmlkID0gZnVuYygpOwogICAgIAp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCXZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyMxOiB2YXIgb2JqID0gbmV3IEZBQ1RPUlkoKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNV9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTVfVDEuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gZGVjbGFyZWQgYXQgdGhlIGVuZCBvZiB0aGUgcHJvZ3JhbSBhbmQgXCJvYmpcIiBwcm9wZXJ0eSBpcyBkZWNsYXJlZCB3aXRoIFwidmFyIG9iaiA9IHt9XCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX29iaiA9IG5ldyBfX0ZBQ1RPUlkoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmogIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMxOiB0eXBlb2Ygb2JqID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiB0eXBlb2Ygb2JqID09PScrdHlwZW9mIG9iaik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iai5wcm9wICE9PSAiQSIpIHsKCSRFUlJPUignIzI6IF9fb2JqLnByb3AgPT09ICJBIi4gQWN0dWFsOiBfX29iai5wcm9wID09PScrX19vYmoucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX29iai5zbG90LnByb3AgIT09MSkgewoJJEVSUk9SKCcjMzogX19vYmouc2xvdC5wcm9wID09PTEuIEFjdHVhbDogX19vYmouc2xvdC5wcm9wID09PScrX19vYmouc2xvdC5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fRkFDVE9SWSgpewogICAgdGhpcy5wcm9wID0gMTsKICAgIHZhciBvYmogPSB7fTsKICAgIG9iai5wcm9wID0gIkEiOwogICAgb2JqLnNsb3QgPSB0aGlzOwogICAgcmV0dXJuIG9iajsKfQoKIH0KfSk7Cgo=","id":"S13.2.2_A15_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNV9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTVfVDIuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gZGVjbGFyZWQgYXQgdGhlIGVuZCBvZiB0aGUgcHJvZ3JhbSBhbmQgXCJvYmpcIiBwcm9wZXJ0eSBpcyBkZWNsYXJlZCB3aXRoIFwib2JqID0ge31cIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIF9fb2JqID0gbmV3IF9fRkFDVE9SWSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAob2JqLnByb3AgIT09ICJBIikgewoJJEVSUk9SKCcjMTogb2JqLnByb3AgPT09ICJBIi4gQWN0dWFsOiBvYmoucHJvcCA9PT0nK29iai5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLnByb3AgIT09ICJBIikgewoJJEVSUk9SKCcjMjogX19vYmoucHJvcCA9PT0gIkEiLiBBY3R1YWw6IF9fb2JqLnByb3AgPT09JytfX29iai5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fb2JqLnNsb3QucHJvcCAhPT0xKSB7CgkkRVJST1IoJyMzOiBfX29iai5zbG90LnByb3AgPT09IDEuIEFjdHVhbDogX19vYmouc2xvdC5wcm9wID09PScrX19vYmouc2xvdC5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fRkFDVE9SWSgpewogICAgdGhpcy5wcm9wID0gMTsKICAgIG9iaiA9IHt9OwogICAgb2JqLnByb3AgPSAiQSI7CiAgICBvYmouc2xvdCA9IHRoaXM7CiAgICByZXR1cm4gb2JqOwp9CgogfQp9KTsKCg==","id":"S13.2.2_A15_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNV9UMyIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTVfVDMuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gZGVjbGFyZWQgYXQgdGhlIGVuZCBvZiB0aGUgcHJvZ3JhbSBhbmQgXCJvYmpcIiBwcm9wZXJ0eSBpcyBkZWNsYXJlZCB3aXRoIFwidmFyIG9iaiA9IHt9XCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIF9fRkFDVE9SWSA9IGZ1bmN0aW9uICgpewogICAgdGhpcy5wcm9wID0gMTsKICAgIHZhciBvYmogPSB7fTsKICAgIG9iai5wcm9wID0gIkEiOwogICAgb2JqLnNsb3QgPSB0aGlzOwogICAgcmV0dXJuIG9iajsKfQoKX19vYmogPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIG9iaiA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIG9iaiA9PT0nK3R5cGVvZiBvYmopOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoucHJvcCAhPT0gIkEiKSB7CgkkRVJST1IoJyMyOiBfX29iai5wcm9wID09PSAiQSIuIEFjdHVhbDogX19vYmoucHJvcCA9PT0nK19fb2JqLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19vYmouc2xvdC5wcm9wICE9PTEpIHsKCSRFUlJPUignIzM6IF9fb2JqLnNsb3QucHJvcCA9PT0xLiBBY3R1YWw6IF9fb2JqLnNsb3QucHJvcCA9PT0nK19fb2JqLnNsb3QucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A15_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNV9UNCIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTVfVDQuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gZGVjbGFyZWQgYXQgdGhlIGVuZCBvZiB0aGUgcHJvZ3JhbSBhbmQgXCJvYmpcIiBwcm9wZXJ0eSBpcyBkZWNsYXJlZCB3aXRoIFwib2JqID0ge31cIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgX19GQUNUT1JZID0gZnVuY3Rpb24oKXsKICAgIHRoaXMucHJvcCA9IDE7CiAgICBvYmogPSB7fTsKICAgIG9iai5wcm9wID0gIkEiOwogICAgb2JqLnNsb3QgPSB0aGlzOwogICAgcmV0dXJuIG9iajsKfQoKX19vYmogPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChvYmoucHJvcCAhPT0gIkEiKSB7CgkkRVJST1IoJyMxOiBvYmoucHJvcCA9PT0gIkEiLiBBY3R1YWw6IG9iai5wcm9wID09PScrb2JqLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoucHJvcCAhPT0gIkEiKSB7CgkkRVJST1IoJyMyOiBfX29iai5wcm9wID09PSAiQSIuIEFjdHVhbDogX19vYmoucHJvcCA9PT0nK29iai5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fb2JqLnNsb3QucHJvcCAhPT0xKSB7CgkkRVJST1IoJyMzOiBfX29iai5zbG90LnByb3AgPT09MS4gQWN0dWFsOiBfX29iai5zbG90LnByb3AgPT09JytvYmouc2xvdC5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgogfQp9KTsKCg==","id":"S13.2.2_A15_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNl9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTZfVDEuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25FeHByZXNzaW9uIHdpdGhpbiBhIG5ldyBzdGF0ZW1lbnQgaXMgYWRtaXR0ZWQiLAoKZGVzY3JpcHRpb246ICJVc2luZyBcImlzIF9fb2JqID0gbmV3IGZ1bmN0aW9uIF9fZnVuYygpe3RoaXMucHJvcD0xO31cIiBhcyBGdW5jdGlvbkV4cHJlc3Npb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBuZXcgZnVuY3Rpb24gX19mdW5jKCl7dGhpcy5wcm9wPTE7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLnByb3AgIT09IDEpIHsKCSRFUlJPUignIzI6IF9fb2JqLnByb3AgPT09IDEuIEFjdHVhbDogX19vYmoucHJvcCA9PT0nK19fb2JqLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fZnVuYyAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzU6IHR5cGVvZiBfX2Z1bmMgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.2_A16_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNl9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTZfVDIuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25FeHByZXNzaW9uIHdpdGhpbiBhIG5ldyBzdGF0ZW1lbnQgaXMgYWRtaXR0ZWQiLAoKZGVzY3JpcHRpb246ICJVc2luZyBcInZhciBfX29iaiA9IG5ldyBmdW5jdGlvbiBfX2Z1bmMoYXJnKXt0aGlzLnByb3A9YXJnO30oNSlcIiBhcyBGdW5jdGlvbkV4cHJlc3Npb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBuZXcgZnVuY3Rpb24gX19mdW5jKGFyZyl7dGhpcy5wcm9wPWFyZzt9KDUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoucHJvcCAhPT0gNSkgewoJJEVSUk9SKCcjMjogX19vYmoucHJvcCA9PT0gNS4gQWN0dWFsOiBfX29iai5wcm9wID09PScrX19vYmoucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19mdW5jICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMzogdHlwZW9mIF9fZnVuYyA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A16_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNl9UMyIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTZfVDMuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25FeHByZXNzaW9uIHdpdGhpbiBhIG5ldyBzdGF0ZW1lbnQgaXMgYWRtaXR0ZWQiLAoKZGVzY3JpcHRpb246ICJVc2luZyBcImlzIF9fb2JqID0gbmV3IGZ1bmN0aW9uIF9fZnVuYyhhcmcpe3RoaXMucHJvcD1hcmc7IHJldHVybiB7ZmVhdDogKythcmd9fSg1KVwiIGFzIEZ1bmN0aW9uRXhwcmVzc2lvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYyAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2Z1bmMgPT09ICJ1bmRlZmluZWQiJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBuZXcgZnVuY3Rpb24gX19mdW5jKGFyZyl7dGhpcy5wcm9wPWFyZzsgcmV0dXJuIHtmZWF0OiArK2FyZ319KDUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoucHJvcCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMyOiBfX29iai5wcm9wID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19vYmoucHJvcCA9PT0nK19fb2JqLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19vYmouZmVhdCAhPT0gNikgewoJJEVSUk9SKCcjMzogX19vYmouZmVhdCA9PT0gNi4gQWN0dWFsOiBfX29iai5mZWF0ID09PScrX19vYmouZmVhdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmICh0eXBlb2YgX19mdW5jICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjNDogdHlwZW9mIF9fZnVuYyA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A16_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExN19UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTdfVDIuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25FeHByZXNzaW9uIGNvbnRhaW5pbmcgXCJ3aXRoXCIgc3RhdGVtZW50IGlzIGFkbWl0dGVkIiwKCmRlc2NyaXB0aW9uOiAiVGhyb3dpbmcgYW4gZXhjZXB0aW9uIHdpdGhpbiBcIndpdGhcIiBzdGF0ZW1lbnQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHRoaXMucDE9ImFsZXJ0IjsKCl9fb2JqPXtwMToxLGdldFJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuICJyaWdodCI7fX07CgpnZXRSaWdodD1mdW5jdGlvbigpe3JldHVybiAibmFwcmF2byI7fTsKCnRyeSB7CgkoZnVuY3Rpb24oKXsKICAgICAgICB3aXRoKF9fb2JqKXsKICAgICAgICAgICAgcDE9IncxIjsKICAgICAgICAgICAgZ2V0UmlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fQogICAgICAgICAgICB0aHJvdyBwMTsKICAgICAgICB9CiAgICB9KSgpOwp9IGNhdGNoIChlKSB7CglyZXN1a3QgPSBwMTsKfQoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHAxIT09ImFsZXJ0IikgewoJJEVSUk9SKCcjMTogcDEgPT09ICJhbGVydCIuIEFjdHVhbDogcDE9PT0nK3AxKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKGdldFJpZ2h0KCkhPT0ibmFwcmF2byIpIHsKCSRFUlJPUignIzI6IGdldFJpZ2h0KCkgPT09ICJuYXByYXZvIi4gQWN0dWFsOiBnZXRSaWdodCgpID09PSAnK2dldFJpZ2h0KCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19vYmoucDEhPT0idzEiKSB7CgkkRVJST1IoJyMzOiBfX29iai5wMSA9PT0gIncxIi4gQWN0dWFsOiBfX29iai5wMSA9PT0nK19fb2JqLnAxKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fb2JqLmdldFJpZ2h0KCkhPT1mYWxzZSkgewoJJEVSUk9SKCcjNDogX19vYmouZ2V0UmlnaHQoKSA9PT0gZmFsc2UuIEFjdHVhbDogX19vYmouZ2V0UmlnaHQoKSA9PT0gJytfX29iai5nZXRSaWdodCgpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHJlc3VrdCAhPT0gImFsZXJ0IikgewoJJEVSUk9SKCcjNTogcmVzdWt0ID09PSAiYWxlcnQiLiBBY3R1YWw6IHJlc3VrdCA9PT0nK3Jlc3VrdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgcmVzdWt0OwoKCiB9Cn0pOwoK","id":"S13.2.2_A17_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExN19UMyIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTdfVDMuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25FeHByZXNzaW9uIGNvbnRhaW5pbmcgXCJ3aXRoXCIgc3RhdGVtZW50IGlzIGFkbWl0dGVkIiwKCmRlc2NyaXB0aW9uOiAiSW4gdGhlIGNoZWNrIDQgd2UgcG9wdWxhdGUgZmllbGQgZ2V0UmlnaHQgaW4gX19vYmogb2JqZWN0IHNpbmNlIHZhciBnZXRSaWdodCBkZWNsYXJhdGlvbiBhZGRzIHZhcmlhYmxlIHRvIGZ1bmN0aW9uIHNjb3BlIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBwMT0iYWxlcnQiOwoKdGhpcy5fX29iaj17cDE6MSxnZXRSaWdodDpmdW5jdGlvbigpe3JldHVybiAicmlnaHQiO319OwoKdmFyIGdldFJpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuICJuYXByYXZvIjt9OwoKcmVzdWt0PShmdW5jdGlvbigpewogICAgd2l0aChfX29iail7CiAgICAgICAgcDE9IncxIjsKICAgICAgICB2YXIgZ2V0UmlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fTsKICAgICAgICByZXR1cm4gcDE7CiAgICB9Cn0pKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChwMSE9PSJhbGVydCIpIHsKCSRFUlJPUignIzE6IHAxID09PSAiYWxlcnQiLiBBY3R1YWw6IHAxPT09JytwMSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChnZXRSaWdodCgpIT09Im5hcHJhdm8iKSB7CgkkRVJST1IoJyMyOiBnZXRSaWdodCgpID09PSAibmFwcmF2byIuIEFjdHVhbDogZ2V0UmlnaHQoKT09PScrZ2V0UmlnaHQoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX29iai5wMSE9PSJ3MSIpIHsKCSRFUlJPUignIzM6IF9fb2JqLnAxID09PSAidzEiLiBBY3R1YWw6IF9fb2JqLnAxID09PScrX19vYmoucDEpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19vYmouZ2V0UmlnaHQoKSE9PWZhbHNlKSB7CgkkRVJST1IoJyM0OiBfX29iai5nZXRSaWdodCgpID09PSBmYWxzZS4gQWN0dWFsOiBfX29iai5nZXRSaWdodCgpPT09JytfX29iai5nZXRSaWdodCgpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHJlc3VrdCAhPT0gIncxIikgewoJJEVSUk9SKCcjNTogcmVzdWt0ID09PSAidzEiLiBBY3R1YWw6IHJlc3VrdCA9PT0nK3Jlc3VrdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgcmVzdWt0OwoKCiB9Cn0pOwoK","id":"S13.2.2_A17_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExOV9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTlfVDEuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25cJ3Mgc2NvcGUgY2hhaW4gaXMgc3RhcnRlZCB3aGVuIGl0IGlzIGRlY2xhcmVkIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gaXMgZGVjbGFyZWQgaW4gdGhlIGdsb2JhbCBzY29wZSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGEgPSAxOwoKdmFyIF9fZnVuYz0gZnVuY3Rpb24oKXtyZXR1cm4gYTt9OwoKdmFyIF9fb2JqID0ge2E6Mn07Cgp3aXRoIChfX29iaikKewogICAgcmVzdWx0ID0gX19mdW5jKCk7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHJlc3VsdCAhPT0gMSkgewoJJEVSUk9SKCcjMTogcmVzdWx0ID09PSAxLiBBY3R1YWw6IHJlc3VsdCA9PT0nK3Jlc3VsdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A19_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExOV9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTlfVDIuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25cJ3Mgc2NvcGUgY2hhaW4gaXMgc3RhcnRlZCB3aGVuIGl0IGlzIGRlY2xhcmVkIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gaXMgZGVjbGFyZWQgaW4gdGhlIG9iamVjdCBzY29wZS4gVXNpbmcgXCJ3aXRoXCIgc3RhdGVtZW50IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYSA9IDE7Cgp2YXIgX19vYmogPSB7YToyfTsKCndpdGggKF9fb2JqKQp7CiAgICByZXN1bHQgPSAoZnVuY3Rpb24oKXtyZXR1cm4gYTt9KSgpOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChyZXN1bHQgIT09IDIpIHsKCSRFUlJPUignIzE6IHJlc3VsdCA9PT0gMi4gQWN0dWFsOiByZXN1bHQgPT09JytyZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A19_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExOV9UMyIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTlfVDMuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25cJ3Mgc2NvcGUgY2hhaW4gaXMgc3RhcnRlZCB3aGVuIGl0IGlzIGRlY2xhcmVkIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gaXMgZGVjbGFyZWQgaW4gdGhlIG9iamVjdCBzY29wZSBhbmQgdGhlbiBhbiBleGNlcHRpb24gaXMgdGhyb3duIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYSA9IDE7Cgp2YXIgX19vYmogPSB7YToyfTsKCnRyeSB7Cgl3aXRoIChfX29iaikKICAgIHsKICAgICAgICB2YXIgX19mdW5jID0gZnVuY3Rpb24gKCl7cmV0dXJuIGE7fTsKICAgICAgICB0aHJvdyAzOwogICAgfQp9IGNhdGNoIChlKSB7Cgk7Cn0KCnJlc3VsdCA9IF9fZnVuYygpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAocmVzdWx0ICE9PSAyKSB7CgkkRVJST1IoJyMxOiByZXN1bHQgPT09IDIuIEFjdHVhbDogcmVzdWx0ID09PScrcmVzdWx0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCiB9Cn0pOwoK","id":"S13.2.2_A19_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExOV9UNCIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTlfVDQuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25cJ3Mgc2NvcGUgY2hhaW4gaXMgc3RhcnRlZCB3aGVuIGl0IGlzIGRlY2xhcmVkIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gaXMgZGVjbGFyZWQgaW4gdGhlIGhpZXJhcmNoaWNhbCBvYmplY3Qgc2NvcGUgYW5kIHRoZW4gYW4gZXhjZXB0aW9uIGlzIHRocm93biIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGEgPSAxOwoKdmFyIF9fb2JqID0ge2E6MixfX29iajp7YTozfX07Cgp0cnkgewoJd2l0aCAoX19vYmopCiAgICB7CiAgICAgICAgd2l0aChfX29iail7CiAgICAgICAgICAgIHZhciBfX2Z1bmMgPSBmdW5jdGlvbigpe3JldHVybiBhO307CiAgICAgICAgICAgIHRocm93IDU7CiAgICAgICAgfQogICAgfQp9IGNhdGNoIChlKSB7Cgk7Cn0KCnJlc3VsdCA9IF9fZnVuYygpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAocmVzdWx0ICE9PSAzKSB7CgkkRVJST1IoJyMxOiByZXN1bHQgPT09IDMuIEFjdHVhbDogcmVzdWx0ID09PScrcmVzdWx0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCiB9Cn0pOwoK","id":"S13.2.2_A19_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExOV9UNSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTlfVDUuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25cJ3Mgc2NvcGUgY2hhaW4gaXMgc3RhcnRlZCB3aGVuIGl0IGlzIGRlY2xhcmVkIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gaXMgZGVjbGFyZWQgaW4gdGhlIG9iamVjdCBzY29wZSwgdGhlbiBhbiBleGNlcHRpb24gaXMgdGhyb3duIGFuZCB0aGUgb2JqZWN0IGlzIGRlbGV0ZWQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBhID0gMTsKCnZhciBfX29iaiA9IHthOjJ9OwoKd2l0aCAoX19vYmopCnsKICAgIHRyeSB7CiAgICAgICAgCiAgICAJdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBhOwogICAgICAgIH0KICAgICAgICB0aHJvdyAzOwogICAgfSBjYXRjaCAoZSkgewogICAgCTsKICAgIH0KfQoKZGVsZXRlIF9fb2JqOwoKcmVzdWx0ID0gX19mdW5jKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChyZXN1bHQgIT09IDIpIHsKCSRFUlJPUignIzE6IHJlc3VsdCA9PT0gMi4gQWN0dWFsOiByZXN1bHQgPT09JytyZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A19_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExOV9UNiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTlfVDYuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25cJ3Mgc2NvcGUgY2hhaW4gaXMgc3RhcnRlZCB3aGVuIGl0IGlzIGRlY2xhcmVkIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gaXMgZGVjbGFyZWQgaW4gdGhlIFwib2JqZWN0LT5kby13aGlsZVwiIHNjb3BlLCB0aGVuIHRoZSBvYmplY3QgaXMgZGVsZXRlZCBhbmQgYW5vdGhlciBvYmplY3Qgd2l0aCB0aGUgc2FtZSBuYW1lIGlzIGRlY2xhcmVkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYSA9IDE7Cgp2YXIgX19vYmogPSB7YToyfTsKCndpdGggKF9fb2JqKQp7CiAgICBkbyB7CiAgICAgICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBhOwogICAgICAgIH0KICAgIH0gd2hpbGUoMCk7Cn0KCmRlbGV0ZSBfX29iajsKCnZhciBfX29iaiA9IHthOjN9OwoKd2l0aCAoX19vYmopCnsKICAgIHJlc3VsdCA9IF9fZnVuYygpOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChyZXN1bHQgIT09IDIpIHsKCSRFUlJPUignIzE6IHJlc3VsdCA9PT0gMi4gQWN0dWFsOiByZXN1bHQgPT09JytyZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoKCgogfQp9KTsKCg==","id":"S13.2.2_A19_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExOV9UOCIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTlfVDguanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25cJ3Mgc2NvcGUgY2hhaW4gaXMgc3RhcnRlZCB3aGVuIGl0IGlzIGRlY2xhcmVkIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gaXMgZGVjbGFyZWQgbXVsdGlwbHkgdGltZXMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMwOiB0eXBlb2YgX19mdW5jID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgYSA9IDEsIGIgPSAiYSI7Cgp2YXIgX19vYmogPSB7YToyfTsKCndpdGggKF9fb2JqKQp7CiAgICB3aGlsZSgxKXsKICAgICAgICB2YXIgIF9fZnVuYyA9IGZ1bmN0aW9uKCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBhOwogICAgICAgIH0KICAgICAgICBicmVhazsKICAgIH0KfQoKZGVsZXRlIF9fb2JqOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKCkgIT09IDIpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSAyLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0ge2E6MyxiOiJiIn07Cgp3aXRoIChfX29iaikKewogICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gYjsKICAgIH0KfQoKZGVsZXRlIF9fb2JqOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCkhPT0iYiIpIHsKCSRFUlJPUignIzI6IF9fZnVuYygpPT09ImIiLiBBY3R1YWw6IF9fZnVuYygpPT09JytfX2Z1bmMoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp3aXRoICh7YTo5OSxiOiJjIn0pCnsKICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgLy9DSEVDSyMzCiAgICBpZiAoX19mdW5jKCkgIT09ICJiIikgewogICAgCSRFUlJPUignIzM6IF9fZnVuYygpPT09ImIiLiBBY3R1YWw6IF9fZnVuYygpPT09JytfX2Z1bmMoKSk7CiAgICB9CiAgICAvLwogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCn0KCiB9Cn0pOwoK","id":"S13.2.2_A19_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExX1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0ExX1QxLmpzIiwKCmFzc2VydGlvbjogIlNpbmNlIGEgZnVuY3Rpb24gaXMgYW4gb2JqZWN0LCBpdCBtaWdodCBiZSBzZXQgdG8gW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBhIG5ldyBjcmVhdGVkIG9iamVjdCB0aHJvdWdoIFtbQ29uc3RydWN0XV0gcHJvcGVydHkiLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoIFwiZnVuY3Rpb24gX19mdW5jKClcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIF9fTU9OU1RFUj0ibW9uc3RlciI7CnZhciBfX1BSRURBVE9SPSJwcmVkYXRvciI7CgpmdW5jdGlvbiBfX1BST1RPKCl7fTsKCnRyeXsKICAgIF9fUFJPVE8udHlwZT1fX01PTlNURVI7Cn0KY2F0Y2goZSl7CiAgICAkRVJST1IoJyMwOiBfX1BST1RPLnR5cGU9X19NT05TVEVSIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJykKfQoKZnVuY3Rpb24gX19GQUNUT1JZKCl7dGhpcy5uYW1lPV9fUFJFREFUT1J9OwoKX19GQUNUT1JZLnByb3RvdHlwZT1fX1BST1RPOwoKdmFyIF9fbW9uc3RlciA9IG5ldyBfX0ZBQ1RPUlkoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoX19QUk9UTy5pc1Byb3RvdHlwZU9mKF9fbW9uc3RlcikpKSB7CgkkRVJST1IoJyMxOiBfX1BST1RPLmlzUHJvdG90eXBlT2YoX19tb25zdGVyKSBtdXN0IGJlIHRydWUnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbW9uc3Rlci50eXBlICE9PV9fTU9OU1RFUikgewoJJEVSUk9SKCcjMjogX19tb25zdGVyLnR5cGUgPT09X19NT05TVEVSLiBBY3R1YWw6IF9fbW9uc3Rlci50eXBlID09PScrX19tb25zdGVyLnR5cGUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExX1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0ExX1QyLmpzIiwKCmFzc2VydGlvbjogIlNpbmNlIGEgZnVuY3Rpb24gaXMgYW4gb2JqZWN0LCBpdCBtaWdodCBiZSBzZXQgdG8gW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBhIG5ldyBjcmVhdGVkIG9iamVjdCB0aHJvdWdoIFtbQ29uc3RydWN0XV0gcHJvcGVydHkiLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoIFwidmFyIF9fUFJPVE8gPSBmdW5jdGlvbigpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX01PTlNURVI9Im1vbnN0ZXIiOwp2YXIgX19QUkVEQVRPUj0icHJlZGF0b3IiOwoKdmFyIF9fUFJPVE8gPSBmdW5jdGlvbigpe307Cgp0cnl7CiAgICBfX1BST1RPLnR5cGU9X19NT05TVEVSOwp9CmNhdGNoKGUpewogICAgJEZBSUwoJyMwOiBfX1BST1RPLnR5cGU9X19NT05TVEVSIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJykKfQoKdmFyIF9fRkFDVE9SWSA9IGZ1bmN0aW9uKCl7dGhpcy5uYW1lPV9fUFJFREFUT1J9OwoKX19GQUNUT1JZLnByb3RvdHlwZT1fX1BST1RPOwoKdmFyIF9fbW9uc3RlciA9IG5ldyBfX0ZBQ1RPUlkoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoX19QUk9UTy5pc1Byb3RvdHlwZU9mKF9fbW9uc3RlcikpKSB7CgkkRVJST1IoJyMxOiBfX1BST1RPLmlzUHJvdG90eXBlT2YoX19tb25zdGVyKSBtdXN0IGJlIHRydWUnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbW9uc3Rlci50eXBlICE9PV9fTU9OU1RFUikgewoJJEVSUk9SKCcjMjogX19tb25zdGVyLnR5cGUgPT09X19NT05TVEVSLiBBY3R1YWw6IF9fbW9uc3Rlci50eXBlID09PScrX19tb25zdGVyLnR5cGUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0EyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0EyLmpzIiwKCmFzc2VydGlvbjogIlNpbmNlIGEgZnVuY3Rpb24gaXMgYW4gb2JqZWN0LCBpdCBtaWdodCBiZSBzZXQgdG8gW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBhIG5ldyBjcmVhdGVkIG9iamVjdCB0aHJvdWdoIFtbQ29uc3RydWN0XV0gcHJvcGVydHksIiwKCmRlc2NyaXB0aW9uOiAiVHJ5aW5nIHRvIFtbY2FsbF1dIHRoaXMgZnVuY3Rpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX1BMQU5UPSJmbG93ZXIiOwp2YXIgX19ST1NFPSJyb3NlIjsKCmZ1bmN0aW9uIF9fUFJPVE8oKXt9OwoKdHJ5ewogICAgX19QUk9UTy50eXBlPV9fUExBTlQ7Cn0KY2F0Y2goZSl7CiAgICAkRVJST1IoJyMwOiBfX1BST1RPLnR5cGU9X19QTEFOVCBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpCn0KCmZ1bmN0aW9uIF9fRkFDVE9SWSgpe3RoaXMubmFtZT1fX1JPU0V9OwoKX19GQUNUT1JZLnByb3RvdHlwZT1fX1BST1RPOwoKdmFyIF9fcm9zZSA9IG5ldyBfX0ZBQ1RPUlkoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewogICAgX19yb3NlKCk7CiAgICAkRVJST1IoJyMxOiBfX3Jvc2UoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewogICAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgIAkkRVJST1IoJyMyOiBFeGNlcHRpb24gVHlwZSBpcyBUeXBlRXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uID09PScrZSk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0EzX1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0EzX1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX0ZBQ1RPUlkoKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX0ZBQ1RPUlkoKXt9OwpfX0ZBQ1RPUlkucHJvdG90eXBlPTE7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19GQUNUT1JZLnByb3RvdHlwZSAhPT0gJ251bWJlcicpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PSBcJ251bWJlclwnLiBBY3R1YWw6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PScrKHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19kZXZpY2UgPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2RldmljZSkpKSB7CgkkRVJST1IoJyMyOiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19kZXZpY2UpID09PSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0EzX1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0EzX1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJ2YXIgX19GQUNUT1JZID0gZnVuY3Rpb24oKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgX19GQUNUT1JZID0gZnVuY3Rpb24oKXt9OwpfX0ZBQ1RPUlkucHJvdG90eXBlPTE7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19GQUNUT1JZLnByb3RvdHlwZSAhPT0gJ251bWJlcicpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PSBcJ251bWJlclwnLiBBY3R1YWw6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PScrKHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19kZXZpY2UgPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2RldmljZSkpKSB7CgkkRVJST1IoJyMyOiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19kZXZpY2UpID09PSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E0X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E0X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX0ZBQ1RPUlkoKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgX19DVUJFPSJjdWJlIjsKCmZ1bmN0aW9uIF9fRkFDVE9SWSgpewp9OwpfX0ZBQ1RPUlkucHJvdG90eXBlPXsgc2hhcGU6X19DVUJFLCBwcmludFNoYXBlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2hhcGU7fSB9OwoKdmFyIF9fZGV2aWNlID0gbmV3IF9fRkFDVE9SWSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19kZXZpY2UucHJpbnRTaGFwZSA9PT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2RldmljZS5wcmludFNoYXBlICE9PSB1bmRlZmluZWQuIEFjdHVhbDogX19kZXZpY2UucHJpbnRTaGFwZSA9PT0nK19fZGV2aWNlLnByaW50U2hhcGUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19kZXZpY2UucHJpbnRTaGFwZSgpICE9PSBfX0NVQkUpIHsKCSRFUlJPUignIzI6IF9fZGV2aWNlLnByaW50U2hhcGUoKSA9PT0gX19DVUJFLiBBY3R1YWw6IF9fZGV2aWNlLnByaW50U2hhcGUoKSA9PT0nK19fZGV2aWNlLnByaW50U2hhcGUoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A4_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E0X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E0X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJfX0ZBQ1RPUlkgPSBmdW5jdGlvbigpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIF9fQ1VCRT0iY3ViZSI7CgpfX0ZBQ1RPUlkgPSBmdW5jdGlvbigpe307CgpfX0ZBQ1RPUlkucHJvdG90eXBlPXsgc2hhcGU6X19DVUJFLCBwcmludFNoYXBlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2hhcGU7fSB9OwoKX19kZXZpY2UgPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2RldmljZS5wcmludFNoYXBlID09PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZGV2aWNlLnByaW50U2hhcGUgIT09IHVuZGVmaW5lZC4gQWN0dWFsOiBfX2RldmljZS5wcmludFNoYXBlID09PScrX19kZXZpY2UucHJpbnRTaGFwZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2RldmljZS5wcmludFNoYXBlKCkgIT09IF9fQ1VCRSkgewoJJEVSUk9SKCcjMjogX19kZXZpY2UucHJpbnRTaGFwZSgpID09PSBfX0NVQkUuIEFjdHVhbDogX19kZXZpY2UucHJpbnRTaGFwZSgpID09PScrX19kZXZpY2UucHJpbnRTaGFwZSgpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.2_A4_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E1X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E1X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX0ZBQ1RPUlkoYXJnMSwgYXJnMilcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgX19WT0xVTUU9ODsKX19SRUQ9InJlZCI7Cl9fSUQ9MTIzNDI7Cl9fVE9QPTEuMTsKX19CT1RUT009MC4wOwpfX0xFRlQ9MC4wOwoKCmZ1bmN0aW9uIF9fRkFDVE9SWShhcmcxLCBhcmcyKXsKCXRoaXMudm9sdW1lPV9fVk9MVU1FOwoJY29sb3I9X19SRUQ7Cgl0aGlzLmlkPWFyZzE7Cgl0b3A9YXJnMjsKCXRoaXMuYm90dG9tPWFyZ3VtZW50c1szXTsKCWxlZnQ9YXJndW1lbnRzWzRdOwp9OwoKX19kZXZpY2UgPSBuZXcgX19GQUNUT1JZKF9fSUQsIF9fVE9QLCBfX0JPVFRPTSwgX19MRUZUKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZGV2aWNlLmNvbG9yICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZGV2aWNlLmNvbG9yID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19kZXZpY2UuY29sb3IgPT09JytfX2RldmljZS5jb2xvcik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2RldmljZS52b2x1bWUgIT09IF9fVk9MVU1FKSB7CgkkRVJST1IoJyMyOiBfX2RldmljZS52b2x1bWUgPT09IF9fVk9MVU1FLiBBY3R1YWw6IF9fZGV2aWNlLnZvbHVtZSA9PT0nK19fZGV2aWNlLnZvbHVtZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX2RldmljZS50b3AgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMzogX19kZXZpY2UudG9wID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19kZXZpY2UudG9wID09PScrX19kZXZpY2UudG9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fZGV2aWNlLmlkICE9PSBfX0lEKSB7CgkkRVJST1IoJyM0OiBfX2RldmljZS5pZCA9PT0gX19JRC4gQWN0dWFsOiBfX2RldmljZS5pZCA9PT0nK19fZGV2aWNlLmlkKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fZGV2aWNlLmxlZnQgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjNTogX19kZXZpY2UubGVmdCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZGV2aWNlLmxlZnQgPT09JytfX2RldmljZS5sZWZ0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYgKF9fZGV2aWNlLmJvdHRvbSAhPT0gX19CT1RUT00pIHsKCSRFUlJPUignIzY6IF9fZGV2aWNlLmJvdHRvbSA9PT0gX19CT1RUT00uIEFjdHVhbDogX19kZXZpY2UuYm90dG9tID09PScrX19kZXZpY2UuYm90dG9tKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.2_A5_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E1X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E1X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJfX0ZBQ1RPUlkgPSBmdW5jdGlvbihhcmcxLCBhcmcyKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBfX1ZPTFVNRT04OwpfX1JFRD0icmVkIjsKX19JRD0xMjM0MjsKX19UT1A9MS4xOwpfX0JPVFRPTT0wLjA7Cl9fTEVGVD0wLjA7CgoKX19GQUNUT1JZID0gZnVuY3Rpb24oYXJnMSwgYXJnMil7Cgl0aGlzLnZvbHVtZT1fX1ZPTFVNRTsKCWNvbG9yPV9fUkVEOwoJdGhpcy5pZD1hcmcxOwoJdG9wPWFyZzI7Cgl0aGlzLmJvdHRvbT1hcmd1bWVudHNbM107CglsZWZ0PWFyZ3VtZW50c1s0XTsKfTsKCl9fZGV2aWNlID0gbmV3IF9fRkFDVE9SWShfX0lELCBfX1RPUCwgX19CT1RUT00sIF9fTEVGVCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2RldmljZS5jb2xvciAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2RldmljZS5jb2xvciA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZGV2aWNlLmNvbG9yID09PScrX19kZXZpY2UuY29sb3IpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19kZXZpY2Uudm9sdW1lICE9PSBfX1ZPTFVNRSkgewoJJEVSUk9SKCcjMjogX19kZXZpY2Uudm9sdW1lID09PSBfX1ZPTFVNRS4gQWN0dWFsOiBfX2RldmljZS52b2x1bWUgPT09JytfX2RldmljZS52b2x1bWUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19kZXZpY2UudG9wICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzM6IF9fZGV2aWNlLnRvcCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZGV2aWNlLnRvcCA9PT0nK19fZGV2aWNlLnRvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX2RldmljZS5pZCAhPT0gX19JRCkgewoJJEVSUk9SKCcjNDogX19kZXZpY2UuaWQgPT09IF9fSUQuIEFjdHVhbDogX19kZXZpY2UuaWQgPT09JytfX2RldmljZS5pZCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX2RldmljZS5sZWZ0ICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzU6IF9fZGV2aWNlLmxlZnQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiBfX2RldmljZS5sZWZ0ID09PScrX19kZXZpY2UubGVmdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX2RldmljZS5ib3R0b20gIT09IF9fQk9UVE9NKSB7CgkkRVJST1IoJyM2OiBfX2RldmljZS5ib3R0b20gPT09IF9fQk9UVE9NLiBBY3R1YWw6IF9fZGV2aWNlLmJvdHRvbSA9PT0nK19fZGV2aWNlLmJvdHRvbSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A5_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E2X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E2X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJfX2Z1bmMgPSBmdW5jdGlvbihhcmcpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIF9fRk9PPSJmb29WYWx1ZSI7Cl9fQkFSPSJiYXJWYWx1ZSI7CgpfX2Z1bmMgPSBmdW5jdGlvbihhcmcpewoJdGhpcy5mb289YXJnOwogICAgcmV0dXJuIDA7Cgl0aGlzLmJhcj1hcmd1bWVudHNbMV07Cn07CgpfX29iaiA9IG5ldyBfX2Z1bmMoX19GT08sIF9fQkFSKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLmZvbyE9PV9fRk9PKSB7CgkkRVJST1IoJyMxOiBfX29iai5mb28gPT09IF9fRk9PLiBBY3R1YWw6IF9fb2JqLmZvbz09PScrX19vYmouZm9vKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLmJhciE9PXVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMjogX19vYmouYmFyID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19vYmouYmFyPT09JytfX29iai5iYXIpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A6_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E2X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E2X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX2Z1bmMgKGFyZylcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIF9fRk9PPSJmb29WYWx1ZSI7CnZhciBfX0JBUj0iYmFyVmFsdWUiOwoKZnVuY3Rpb24gX19mdW5jIChhcmcpewoJdGhpcy5mb289YXJnOwogICAgcmV0dXJuIHRydWU7Cgl0aGlzLmJhcj1hcmd1bWVudHNbMV07Cn07Cgp2YXIgX19vYmogPSBuZXcgX19mdW5jKF9fRk9PLCBfX0JBUik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5mb28hPT1fX0ZPTykgewoJJEVSUk9SKCcjMTogX19vYmouZm9vID09PSBfX0ZPTy4gQWN0dWFsOiBfX29iai5mb289PT0nK19fb2JqLmZvbyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iai5iYXIhPT11bmRlZmluZWQpIHsKCSRFUlJPUignIzI6IF9fb2JqLmJhciA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fb2JqLmJhcj09PScrX19vYmouYmFyKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.2_A6_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E3X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E3X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJhcyBfX2Z1bmMgPSBmdW5jdGlvbihhcmcpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX0ZSU1Q9Im9uZSI7CnZhciBfX1NDTkQ9InR3byI7CgpmdW5jdGlvbiBfX2Z1bmMgKGFyZzEsIGFyZzIpewoJdGhpcy5maXJzdD1hcmcxOwoJdmFyIF9fb2JqPXtzZWNvbmQ6YXJnMn07CiAgICByZXR1cm4gX19vYmo7CgkKfTsKCnZhciBfX29ial9fID0gbmV3IF9fZnVuYyhfX0ZSU1QsIF9fU0NORCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29ial9fLmZpcnN0ICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fb2JqX18uZmlyc3QgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiBfX29ial9fLmZpcnN0PT09JytfX29ial9fLmZpcnN0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqX18uc2Vjb25kICE9PSBfX1NDTkQpIHsKCSRFUlJPUignIzI6IF9fb2JqX18uc2Vjb25kID09PSBfX1NDTkQuIEFjdHVhbDogX19vYmpfXy5zZWNvbmQgPT09JytfX29ial9fLnNlY29uZCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A7_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E3X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E3X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIFwiZnVuY3Rpb24gYXMgZnVuY3Rpb24gX19mdW5jIChhcmcpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIF9fRlJTVD0ib25lIjsKX19TQ05EPSJ0d28iOwoKX19mdW5jID0gZnVuY3Rpb24oYXJnMSwgYXJnMil7Cgl0aGlzLmZpcnN0PWFyZzE7Cgl2YXIgX19vYmo9e3NlY29uZDphcmcyfTsKICAgIHJldHVybiBfX29iajsKCQp9OwoKX19vYmpfXyA9IG5ldyBfX2Z1bmMoX19GUlNULCBfX1NDTkQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmpfXy5maXJzdCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX29ial9fLmZpcnN0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19vYmpfXy5maXJzdD09PScrX19vYmpfXy5maXJzdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29ial9fLnNlY29uZCAhPT0gX19TQ05EKSB7CgkkRVJST1IoJyMyOiBfX29ial9fLnNlY29uZCA9PT0gX19TQ05ELiBBY3R1YWw6IF9fb2JqX18uc2Vjb25kID09PScrX19vYmpfXy5zZWNvbmQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A7_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E4X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E4X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkNyZWF0aW5nIGEgZnVuY3Rpb24gd2hvc2UgcHJvdG90eXBlIGNvbnRhaW5zIFwicmV0dXJuXCIgZm9sbG93ZWQgYnkgZGVjbGFyYXRpb24gb2YgYW5vdGhlciBmdW5jdGlvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIF9fRlJTVD0ib25lIjsKdmFyIF9fU0NORD0idHdvIjsKCnZhciBfX2Z1bmMgPSBmdW5jdGlvbihhcmcxLCBhcmcyKXsKCXRoaXMuZmlyc3Q9YXJnMTsKCQoJX19ndW5jLnByb3A9YXJnMjsKICAgIHJldHVybiBfX2d1bmM7CiAgICAvLyBmdW5jdGlvbiBkZWNsYXJhdGlvbgogICAgZnVuY3Rpb24gX19ndW5jKGFyZyl7cmV0dXJuICsrYXJnfTsKCQp9OwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgX19mdW5jKF9fRlJTVCwgX19TQ05EKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuZmlyc3QgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19pbnN0YW5jZS5maXJzdCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9faW5zdGFuY2UuZmlyc3QgPT09JytfX2luc3RhbmNlLmZpcnN0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2UucHJvcCE9PV9fU0NORCkgewoJJEVSUk9SKCcjMjogX19pbnN0YW5jZS5wcm9wID09PSBfX1NDTkQuIEFjdHVhbDogX19pbnN0YW5jZS5wcm9wID09PScrX19pbnN0YW5jZS5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9faW5zdGFuY2UoMSkhPT0gMikgewoJJEVSUk9SKCcjMjogX19pbnN0YW5jZSgxKT09PSAyLiBBY3R1YWw6IF9faW5zdGFuY2UoMSkgPT09JytfX2luc3RhbmNlKDEpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgogfQp9KTsKCg==","id":"S13.2.2_A8_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E4X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E4X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkNyZWF0aW5nIGEgZnVuY3Rpb24gd2hvc2UgcHJvdG90eXBlIGNvbnRhaW5zIGRlY2xhcmF0aW9uIG9mIGFub3RoZXIgZnVuY3Rpb24gZGVjbGFyZWQgYXMgYSB2YXJpYWJsZSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIF9fRlJTVD0ib25lIjsKdmFyIF9fU0NORD0idHdvIjsKCnZhciBfX2Z1bmMgPSBmdW5jdGlvbihhcmcxLCBhcmcyKXsKCXRoaXMuZmlyc3Q9YXJnMTsKCXZhciBfX2d1bmMgPSBmdW5jdGlvbihhcmcpe3JldHVybiBhcmcrPSJCQSJ9OwoJX19ndW5jLnByb3A9YXJnMjsKICAgIHJldHVybiBfX2d1bmM7CgkKfTsKCnZhciBfX2luc3RhbmNlID0gbmV3IF9fZnVuYyhfX0ZSU1QsIF9fU0NORCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmZpcnN0ICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9faW5zdGFuY2UuZmlyc3QgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiBfX2luc3RhbmNlLmZpcnN0ID09PScrX19pbnN0YW5jZS5maXJzdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2luc3RhbmNlLnByb3AhPT1fX1NDTkQpIHsKCSRFUlJPUignIzI6IF9faW5zdGFuY2UucHJvcCA9PT0gX19TQ05ELiBBY3R1YWw6IF9faW5zdGFuY2UucHJvcCA9PT0nK19faW5zdGFuY2UucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX2luc3RhbmNlKCJTQU0iKSE9PSAiU0FNQkEiKSB7CgkkRVJST1IoJyMyOiBfX2luc3RhbmNlKCJTQU0iKSA9PT0gIlNBTUJBIi4gQWN0dWFsOiBfX2luc3RhbmNlKCJTQU0iKSA9PT0nK19faW5zdGFuY2UoIlNBTSIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgogfQp9KTsKCg==","id":"S13.2.2_A8_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E4X1QzIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E4X1QzLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkNyZWF0aW5nIGEgZnVuY3Rpb24gd2hvc2UgcHJvdG90eXBlIGNvbnRhaW5zIGRlY2xhcmF0aW9uIG9mIGFub3RoZXIgZnVuY3Rpb24gZGVmaW5lZCBieSB1c2luZyBGdW5jdGlvbi5jYWxsIG1ldGhvZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIF9fRlJTVD0ib25lIjsKdmFyIF9fU0NORD0idHdvIjsKCnZhciBfX2Z1bmMgPSBmdW5jdGlvbihhcmcxLCBhcmcyKXsKCXRoaXMuZmlyc3Q9YXJnMTsKCXZhciBfX2d1bmMgPSBGdW5jdGlvbi5jYWxsKHRoaXMsImFyZyIsInJldHVybiArK2FyZzsiKTsKCV9fZ3VuYy5wcm9wPWFyZzI7CiAgICByZXR1cm4gX19ndW5jOwoJCn07Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBfX2Z1bmMoX19GUlNULCBfX1NDTkQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5maXJzdCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2luc3RhbmNlLmZpcnN0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19pbnN0YW5jZS5maXJzdCA9PT0nK19faW5zdGFuY2UuZmlyc3QpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19pbnN0YW5jZS5wcm9wIT09X19TQ05EKSB7CgkkRVJST1IoJyMyOiBfX2luc3RhbmNlLnByb3AgPT09IF9fU0NORC4gQWN0dWFsOiBfX2luc3RhbmNlLnByb3AgPT09JytfX2luc3RhbmNlLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19pbnN0YW5jZSgxKSE9PSAyKSB7CgkkRVJST1IoJyMyOiBfX2luc3RhbmNlKDEpPT09IDIuIEFjdHVhbDogX19pbnN0YW5jZSgxKSA9PT0nK19faW5zdGFuY2UoMSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCiB9Cn0pOwoK","id":"S13.2.2_A8_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E5IiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E5LmpzIiwKCmFzc2VydGlvbjogIkNhbGxpbmcgYSBmdW5jdGlvbiBhcyBhIGNvbnN0cnVjdG9yIGlzIGluYWRtaXNzaWJsZSBhcyBsb25nIGFzIHRoaXMuYW55X0Z1bmN0aW9uIGlzIGNhbGxlZCBiZWZvcmUgaXQgaXMgZGVjbGFyZWQiLAoKZGVzY3JpcHRpb246ICJDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gRkFDVE9SWSgpewogICB0aGlzLmlkID0gMDsKICAgCiAgIHRoaXMuaWQgPSB0aGlzLmZ1bmMoKTsKICAgCiAgIHRoaXMuZnVuYyA9IGZ1bmN0aW9uICgpewogICAgICByZXR1cm4gNTsKICAgfQogIAp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCXZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwoJJEVSUk9SKCcjMTogdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCkgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkge30KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BMV9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTFfVDEuanMiLAoKYXNzZXJ0aW9uOiAiQSBcInByb3RvdHlwZVwiIHByb3BlcnR5IGlzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBmb3IgZXZlcnkgZnVuY3Rpb24iLAoKZGVzY3JpcHRpb246ICJVc2luZyBcImZ1bmN0aW9uIF9fZnVuYygpe31cIiBhcyBhIEZ1bmN0aW9uRGVjbGFyYXRpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYygpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMucHJvdG90eXBlID09PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZnVuYy5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BMV9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTFfVDIuanMiLAoKYXNzZXJ0aW9uOiAiQSBcInByb3RvdHlwZVwiIHByb3BlcnR5IGlzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBmb3IgZXZlcnkgZnVuY3Rpb24iLAoKZGVzY3JpcHRpb246ICJVc2luZyBcInZhciBfX2Z1bmMgPSBmdW5jdGlvbigpe31cIiBhcyBhIEZ1bmN0aW9uRGVjbGFyYXRpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX2Z1bmMgPSBmdW5jdGlvbigpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMucHJvdG90eXBlID09PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZnVuYy5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BMl9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTJfVDEuanMiLAoKYXNzZXJ0aW9uOiAiTmVzdGVkIGZ1bmN0aW9uIGFyZSBhZG1pdHRlZCIsCgpkZXNjcmlwdGlvbjogIk5lc3RpbmcgbGV2ZWwgaXMgdHdvIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgX19KRURJPSJqZWRpIjsKCmZ1bmN0aW9uIF9fRlVOQygpewogICAgZnVuY3Rpb24gX19HVU5DKCl7CiAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1swXTsKICAgIH07CiAgICAKICAgIHJldHVybiBfX0dVTkM7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX0ZVTkMoKShfX0pFREkpICE9PSBfX0pFREkpIHsKCSRFUlJPUignIzE6IF9fRlVOQygpKF9fSkVESSkgPT09IF9fSkVESS4gQWN0dWFsOiBfX0ZVTkMoKShfX0pFREkpID09PScrX19GVU5DKCkoX19KRURJKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BMl9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTJfVDIuanMiLAoKYXNzZXJ0aW9uOiAiTmVzdGVkIGZ1bmN0aW9uIGFyZSBhZG1pdHRlZCIsCgpkZXNjcmlwdGlvbjogIk5lc3RpbmcgbGV2ZWwgaXMgdGhyZWUiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX1JPQk9UPSJDM1BPIjsKCmZ1bmN0aW9uIF9fRlVOQygpewogICAgZnVuY3Rpb24gX19HVU5DKCl7CiAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1swXTsKICAgIH07CiAgICBmdW5jdGlvbiBfX0hVTkMoKXsKICAgICAgICByZXR1cm4gX19HVU5DOwogICAgfTsKICAgIHJldHVybiBfX0hVTkM7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX0ZVTkMoKSgpKF9fUk9CT1QpICE9PSBfX1JPQk9UKSB7CgkkRVJST1IoJyMxOiBfX0ZVTkMoKSgpKF9fUk9CT1QpID09PSBfX1JPQk9ULiBBY3R1YWw6IF9fRlVOQygpKCkoX19ST0JPVCkgPT09JytfX0ZVTkMoKSgpKF9fUk9CT1QpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BMyIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTMuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiBGdW5jdGlvbiBvYmplY3QoRikgaXMgY29uc3RydWN0ZWQgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGIGlzIHNldCB0byB0aGUgbnVtYmVyIG9mIGZvcm1hbCBwcm9wZXJ0aWVzIHNwZWNpZmllZCBpbiBGb3JtYWxQYXJhbWV0ZXJMaXN0IiwKCmRlc2NyaXB0aW9uOiAiQ3JlYXRpbmcgZnVuY3Rpb25zIHdpdGggdmFyaW91cyBGb3JtYWxQYXJhbWV0ZXJMaXN0IGFuZCBjaGVja2luZyB0aGVpciBsZW5ndGhzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jLmxlbmd0aCAhPT0gMCkgewoJJEVSUk9SKCcjMTogX19mdW5jLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiBfX2Z1bmMubGVuZ3RoID09PScrX19mdW5jLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2d1bmMoYSxiLGMpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2d1bmMubGVuZ3RoICE9PSAzKSB7CgkkRVJST1IoJyMyOiBfX2d1bmMubGVuZ3RoID09PSAzLiBBY3R1YWw6IF9fZ3VuYy5sZW5ndGggPT09JytfX2d1bmMubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgogfQp9KTsKCg==","id":"S13.2_A3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BNF9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTRfVDEuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiBGdW5jdGlvbiBvYmplY3QoRikgaXMgY29uc3RydWN0ZWQgdGhlIGZvbGxvd2luZyBzdGVwcyBmcm9tIDkgdG8gMTEgdGFrZSBwbGFjZSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIHByb3RvdHlwZSwgcHJvdG90eXBlLmNvbnN0cnVjdG9yIHByb3BlcnRpZXMgYW5kIHtEb250RW51bX0gcHJvcGVydHkgb2YgYSBjb25zdHJ1Y3Rvci4iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYygpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19mdW5jLnByb3RvdHlwZSAhPT0gJ29iamVjdCcpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2Z1bmMucHJvdG90eXBlID09PSBcJ29iamVjdFwnLiBBY3R1YWw6IHR5cGVvZiBfX2d1bmMucHJvdG90eXBlID09PScrdHlwZW9mIF9fZ3VuYy5wcm90b3R5cGUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gX19mdW5jKSB7CgkkRVJST1IoJyMyOiBfX2Z1bmMucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBfX2Z1bmMuIEFjdHVhbDogX19ndW5jLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0nK19fZ3VuYy5wcm90b3R5cGUuY29uc3RydWN0b3IpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fY29uc3RydWN0b3Jfd2FzX19lbnVtZWQ7Cgpmb3IgKF9fcHJvcCBpbiBfX2Z1bmMucHJvdG90eXBlKXsKICAgIGlmIChfX3Byb3AgPSAnY29uc3RydWN0b3InKQogICAgICAgIF9fY29uc3RydWN0b3Jfd2FzX19lbnVtZWQgPSB0cnVlOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkKSB7CgkkRVJST1IoJyMzOiBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkID09PSBmYWxzZS4gQWN0dWFsOiBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkID09PScrX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCgoKCiB9Cn0pOwoK","id":"S13.2_A4_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BNF9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTRfVDIuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiBGdW5jdGlvbiBvYmplY3QoRikgaXMgY29uc3RydWN0ZWQgdGhlIGZvbGxvd2luZyBzdGVwcyBmcm9tIDkgdG8gMTEgdGFrZSBwbGFjZSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIHByb3RvdHlwZSwgcHJvdG90eXBlLmNvbnN0cnVjdG9yIHByb3BlcnRpZXMgYW5kIHtEb250RW51bX0gcHJvcGVydHkgb2YgYSBjb25zdHJ1Y3Rvci4iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX2d1bmMgPSBmdW5jdGlvbigpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19ndW5jLnByb3RvdHlwZSAhPT0gJ29iamVjdCcpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2d1bmMucHJvdG90eXBlID09PSBcJ29iamVjdFwnLiBBY3R1YWw6IHR5cGVvZiBfX2d1bmMucHJvdG90eXBlID09PScrdHlwZW9mIF9fZ3VuYy5wcm90b3R5cGUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19ndW5jLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gX19ndW5jKSB7CgkkRVJST1IoJyMyOiBfX2d1bmMucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBfX2d1bmMuIEFjdHVhbDogX19ndW5jLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0nK19fZ3VuYy5wcm90b3R5cGUuY29uc3RydWN0b3IpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fY29uc3RydWN0b3Jfd2FzX19lbnVtZWQ7Cgpmb3IgKF9fcHJvcCBpbiBfX2d1bmMucHJvdG90eXBlKXsKICAgIGlmIChfX3Byb3AgPSAnY29uc3RydWN0b3InKQogICAgICAgIF9fY29uc3RydWN0b3Jfd2FzX19lbnVtZWQgPSB0cnVlOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkKSB7CgkkRVJST1IoJyMzOiBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkID09PSBmYWxzZS4gQWN0dWFsOiBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkID09PScrX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCgoKCiB9Cn0pOwoK","id":"S13.2_A4_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BNSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTUuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiBGdW5jdGlvbiBvYmplY3QoRikgaXMgY29uc3RydWN0ZWQiLAoKZGVzY3JpcHRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZigpIGlzIHVzZWQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYygpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKF9fZnVuYykpKSB7CgkkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2Z1bmMpJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKdmFyIF9fZ3VuYyA9IGZ1bmN0aW9uKCl7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19ndW5jKSkpIHsKCSRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKF9fZ3VuYyknKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKIH0KfSk7Cgo=","id":"S13.2_A5"}]}} \ No newline at end of file
+{"testsCollection":{"name":"Chapter - 13_Function_Definition","numTests":"107","tests":[{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTEuanMiLAoKYXNzZXJ0aW9uOiAiXCJ4PWZ1bmN0aW9uIHkoKXt9XCIgc3RhdGVtZW50IGRvZXMgbm90IHN0b3JlIGEgcmVmZXJlbmNlIHRvIHRoZSBuZXcgZnVuY3Rpb24gaW4gdGhlIHZhcmFpYmxlIHkoSWRlbnRpZmllcikiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyB0aGUgdHlwZSBvZiB5IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgX19mdW5jID0gZnVuY3Rpb24gX19leHBfX2Z1bmMoKXtyZXR1cm4gMDt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2Z1bmMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YgX19leHBfX2Z1bmMgIT09ICJ1bmRlZmluZWQiKXsKICAgICRFUlJPUignIzI6IHR5cGVvZiBfX2V4cF9fZnVuYyA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIF9fZXhwX19mdW5jID09PScrdHlwZW9mIF9fZXhwX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.0_A1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTAiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExMC5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbiBpcyBhIGRhdGEiLAoKZGVzY3JpcHRpb246ICJVc2luZyBmdW5jdGlvbiBhcyBhIHByb3BlcnR5IG9mIGFuIG9iamVjdCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX196aWdneV9fZnVuYygpe3JldHVybiAiemlnZ3kgc3RhcmR1c3QifQoKdmFyIF9fbXVzaWNfYm94PXt9OwoKX19tdXNpY19ib3guemlnZ3kgPSBfX3ppZ2d5X19mdW5jOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCmlmICh0eXBlb2YgX19tdXNpY19ib3guemlnZ3kgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX211c2ljX2JveC56aWdneSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19tdXNpY19ib3guemlnZ3kgPT09Jyt0eXBlb2YgX19tdXNpY19ib3guemlnZ3kpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tdXNpY19ib3guemlnZ3koKSAhPT0gInppZ2d5IHN0YXJkdXN0IikgewoJJEVSUk9SKCcjMjogX19tdXNpY19ib3guemlnZ3koKSA9PT0gInppZ2d5IHN0YXJkdXN0Ii4gQWN0dWFsOiBfX211c2ljX2JveC56aWdneSgpID09PScrX19tdXNpY19ib3guemlnZ3koKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.0_A10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTFfVDEiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExMV9UMS5qcyIsCgphc3NlcnRpb246ICJTaW5jZSBhcmd1bWVudHMgcHJvcGVydHkgaGFzIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSwgb25seSBpdHMgZWxlbWVudHMgY2FuIGJlIGRlbGV0ZWQiLAoKZGVzY3JpcHRpb246ICJSZXR1cm5pbmcgcmVzdWx0IG9mIFwiZGVsZXRlIGFyZ3VtZW50c1wiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoKXsgcmV0dXJuIGRlbGV0ZSBhcmd1bWVudHM7fQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKCJBIiwiQiIsMSwyKSkgewoJJEVSUk9SKCcjMTogYXJndW1lbnRzIHByb3BlcnR5IGhhcyBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0nKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.0_A11_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTFfVDIiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExMV9UMi5qcyIsCgphc3NlcnRpb246ICJTaW5jZSBhcmd1bWVudHMgcHJvcGVydHkgaGFzIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSwgb25seSBpdHMgZWxlbWVudHMgY2FuIGJlIGRlbGV0ZWQiLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBkZWxldGluZyB0aGUgYXJndW1lbnRzIHByb3BlcnR5IGZhaWxzIGFuZCB0aGVuIHJldHVybmluZyBpdCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX19mdW5jKCl7IAogICAgZGVsZXRlIGFyZ3VtZW50czsKICAgIHJldHVybiBhcmd1bWVudHM7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX2Z1bmMoIkEiLCJCIiwxLDIpICE9PSAib2JqZWN0IikgewoJJEVSUk9SKCcjMTogYXJndW1lbnRzIHByb3BlcnR5IGhhcyBhdHRyaWJ1dGUgeyBEb250RGVsZXRlIH0nKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.0_A11_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTFfVDMiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExMV9UMy5qcyIsCgphc3NlcnRpb246ICJTaW5jZSBhcmd1bWVudHMgcHJvcGVydHkgaGFzIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSwgb25seSBpdHMgZWxlbWVudHMgY2FuIGJlIGRlbGV0ZWQiLAoKZGVzY3JpcHRpb246ICJEZWxldGluZyBhcmd1bWVudHNbaV0gYW5kIHJldHVybmluZyByZXN1bHQgb2YgdGhlIG9wZXJhdGlvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX19mdW5jKCl7CiAgICB3YXNfZGVsPWZhbHNlOwogICAgZm9yIChpPTA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspCiAgICAgICB3YXNfZGVsPSB3YXNfZGVsIHx8IGRlbGV0ZSBhcmd1bWVudHNbaV07CiAgICByZXR1cm4gd2FzX2RlbDsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIV9fZnVuYygiQSIsIkIiLDEsMikpIHsKCSRFUlJPUignIzE6IFNpbmNlIGFyZ3VtZW50cyBwcm9wZXJ0eSBoYXMgYXR0cmlidXRlIHsgRG9udERlbGV0ZSB9IGVsZW1lbnRzIG9mIGFyZ3VtZW50cyBjYW4gYmUgZGVsZXRlZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.0_A11_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTFfVDQiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExMV9UNC5qcyIsCgphc3NlcnRpb246ICJTaW5jZSBhcmd1bWVudHMgcHJvcGVydHkgaGFzIGF0dHJpYnV0ZSB7IERvbnREZWxldGUgfSwgb25seSBpdHMgZWxlbWVudHMgY2FuIGJlIGRlbGV0ZWQiLAoKZGVzY3JpcHRpb246ICJEZWxldGluZyBhcmd1bWVudHNbaV0gYW5kIGNoZWNraW5nIHRoZSB0eXBlIG9mIGFyZ3VtZW50c1tpXSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX19mdW5jKCl7CiAgICBpc191bmRlZj10cnVlOwogICAgZm9yIChpPTA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspCiAgICB7CiAgICAgICAgZGVsZXRlIGFyZ3VtZW50c1tpXTsKICAgICAgICBpc191bmRlZj0gaXNfdW5kZWYgJiYgKHR5cGVvZiBhcmd1bWVudHNbaV0gPT09ICJ1bmRlZmluZWQiKTsKICAgIH07ICAgICAgIAogICAgcmV0dXJuIGlzX3VuZGVmOwp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIV9fZnVuYygiQSIsIkIiLDEsMikpIHsKCSRFUlJPUignIzE6IFNpbmNlIGFyZ3VtZW50cyBwcm9wZXJ0eSBoYXMgYXR0cmlidXRlIHsgRG9udERlbGV0ZSB9LCBidXQgZWxlbWVudHMgb2YgYXJndW1lbnRzIGNhbiBiZSBkZWxldGVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.0_A11_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTJfVDEiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExMl9UMS5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgaW4gZ2xvYmFsIG9yIGZ1bmN0aW9uIHNjb3BlIGFyZSB7RG9udERlbGV0ZX0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBkZWxldGluZyBhIGZ1bmN0aW9uIHRoYXQgaXMgZGVjbGFyZWQgaW4gZ2xvYmFsIHNjb3BlIGZhaWxzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBBTElWRT0iTGV0b3YgaXMgYWxpdmUiCgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHJldHVybiBBTElWRTsKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBfX2Z1bmMpIHsKCSRFUlJPUignIzE6IGRlbGV0ZSBfX2Z1bmMgcmV0dXJuaW5nIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2Z1bmMoKSAhPT0gQUxJVkUpIHsKCSRFUlJPUignIzI6IF9fZnVuYygpID09PSBBTElWRS4gQWN0dWFsOiBfX2Z1bmMoKSA9PT0nK19fZnVuYygpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.0_A12_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTJfVDIiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExMl9UMi5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgaW4gZ2xvYmFsIG9yIGZ1bmN0aW9uIHNjb3BlIGFyZSB7RG9udERlbGV0ZX0iLAoKZGVzY3JpcHRpb246ICJDaGVja2luZyBpZiBkZWxldGluZyBhIGZ1bmN0aW9uIHRoYXQgaXMgZGVjbGFyZWQgaW4gZnVuY3Rpb24gc2NvcGUgZmFpbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIEFMSVZFPSJMZXRvdiBpcyBhbGl2ZSIKCmZ1bmN0aW9uIF9fY29udCgpewoKICAgIGZ1bmN0aW9uIF9fZnVuYygpewogICAgICAgIHJldHVybiBBTElWRTsKICAgIH07CiAgICAKICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgLy9DSEVDSyMxCiAgICBpZiAoZGVsZXRlIF9fZnVuYykgewogICAgCSRFUlJPUignIzE6IGRlbGV0ZSBfX2Z1bmMgcmV0dXJuaW5nIGZhbHNlJyk7CiAgICB9CiAgICAvLwogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAKICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgLy9DSEVDSyMyCiAgICBpZiAoX19mdW5jKCkgIT09IEFMSVZFKSB7CiAgICAJJEVSUk9SKCcjMjogX19mdW5jKCkgPT09IEFMSVZFLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwogICAgfQogICAgLy8KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwp9OwoKX19jb250KCk7CgogfQp9KTsKCg==","id":"S13.0_A12_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTNfVDEiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExM19UMS5qcyIsCgphc3NlcnRpb246ICJEZWxldGluZyBhcmd1bWVudHNbaV0gbGVhZHMgdG8gYnJlYWtpbmcgdGhlIGNvbm5lY3Rpb24gdG8gbG9jYWwgcmVmZXJlbmNlIiwKCmRlc2NyaXB0aW9uOiAiRGVsZXRpbmcgYXJndW1lbnRzW2ldIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoX19hcmcpewogIGRlbGV0ZSBhcmd1bWVudHNbMF07CiAgaWYgKGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoJyMxLjE6IGFyZ3VtZW50c1swXSA9PT0gdW5kZWZpbmVkJyk7CiAgfQogIHJldHVybiBfX2FyZzsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKDEpICE9PSAxKSB7CgkkRVJST1IoJyMxLjI6IF9fZnVuYygxKSA9PT0gMS4gQWN0dWFsOiBfX2Z1bmMoMSkgPT09JytfX2Z1bmMoMSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.0_A13_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTNfVDIiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExM19UMi5qcyIsCgphc3NlcnRpb246ICJEZWxldGluZyBhcmd1bWVudHNbaV0gbGVhZHMgdG8gYnJlYWtpbmcgdGhlIGNvbm5lY3Rpb24gdG8gbG9jYWwgcmVmZXJlbmNlIiwKCmRlc2NyaXB0aW9uOiAiQ2hhbmdpbmcgYXJndW1lbnRzIHZhbHVlIGFuZCB0aGVuIGRlbGV0aW5nIHRoZSBhcmd1bWVudCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX19mdW5jKF9fYXJnKXsKICBfX2FyZyA9IDI7CiAgZGVsZXRlIGFyZ3VtZW50c1swXTsKICBpZiAoYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQpIHsKICAgICRFUlJPUignIzEuMTogYXJndW1lbnRzWzBdID09PSB1bmRlZmluZWQnKTsKICB9CiAgcmV0dXJuIF9fYXJnOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoMSkgIT09IDIpIHsKCSRFUlJPUignIzEuMjogX19mdW5jKDEpID09PSAyLiBBY3R1YWw6IF9fZnVuYygxKSA9PT0nK19fZnVuYygxKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.0_A13_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTNfVDMiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExM19UMy5qcyIsCgphc3NlcnRpb246ICJEZWxldGluZyBhcmd1bWVudHNbaV0gbGVhZHMgdG8gYnJlYWtpbmcgdGhlIGNvbm5lY3Rpb24gdG8gbG9jYWwgcmVmZXJlbmNlIiwKCmRlc2NyaXB0aW9uOiAiQ2hhbmdpbmcgYXJndW1lbnQgdmFsdWUsIGRlbGV0aW5nIHRoZSBhcmd1bWVudCBhbmQgdGhlbiBkZWZpbmluZyBhIG5ldyB2YWx1ZSBmb3IgYXJndW1lbnRzW2ldIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoX19hcmcpewogIF9fYXJnID0gMjsKICBkZWxldGUgYXJndW1lbnRzWzBdOwogIGlmIChhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCkgewogICAgJEVSUk9SKCcjMS4xOiBhcmd1bWVudHNbMF0gPT09IHVuZGVmaW5lZCcpOwogIH0KICBhcmd1bWVudHNbMF0gPSAiQSI7CiAgaWYgKGFyZ3VtZW50c1swXSAhPT0gIkEiKSB7CiAgICAkRVJST1IoJyMxLjI6IGFyZ3VtZW50c1swXSA9PT0gIkEiJyk7CiAgfQogIHJldHVybiBfX2FyZzsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKDEpICE9PSAyKSB7CgkkRVJST1IoJyMxLjM6IF9fZnVuYygxKSA9PT0gMi4gQWN0dWFsOiBfX2Z1bmMoMSkgPT09JytfX2Z1bmMoMSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.0_A13_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTQiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExNC5qcyIsCgphc3NlcnRpb246ICJVbmljb2RlIHN5bWJvbHMgaW4gZnVuY3Rpb24gbmFtZSBhcmUgYWxsb3dlZCIsCgpkZXNjcmlwdGlvbjogIkRlZmluaW5nIGZ1bmN0aW9uIG5hbWUgd2l0aCB1bmljb2RlIHN5bWJvbHMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGV2YWwoImZ1bmN0aW9uIF9fZnVuY1x1MDA0MShfX2FyZyl7cmV0dXJuIF9fYXJnO307Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19mdW5jQSAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdW5pY29kZSBzeW1ib2xzIGluIGZ1bmN0aW9uIG5hbWUgYXJlIGFsbG93ZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.0_A14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTVfVDEiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExNV9UMS5qcyIsCgphc3NlcnRpb246ICJcJ1wnYXJndW1lbnRzXCdcJyB2YXJpYWJsZSBvdmVycmlkZXMgQWN0aXZhdGlvbk9iamVjdC5hcmd1bWVudHMiLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoIFwiX19mdW5jKGFyZ3VtZW50cylcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX19mdW5jKGFyZ3VtZW50cyl7CiAgICByZXR1cm4gYXJndW1lbnRzOwp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKDQyKSAhPT0gNDIpIHsKCSRFUlJPUignIzE6ICJhcmd1bWVudHMiIHZhcmlhYmxlIG92ZXJyaWRlcyBBY3RpdmF0aW9uT2JqZWN0LmFyZ3VtZW50cycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.0_A15_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTVfVDIiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExNV9UMi5qcyIsCgphc3NlcnRpb246ICJcJ1wnYXJndW1lbnRzXCdcJyB2YXJpYWJsZSBvdmVycmlkZXMgQWN0aXZhdGlvbk9iamVjdC5hcmd1bWVudHMiLAoKZGVzY3JpcHRpb246ICJPdmVycmlkaW5nIGFyZ3VtZW50cyB3aXRoaW4gZnVuY3Rpb25zIGJvZHkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIFRIRV9BTlNXRVI9IkFuc3dlciB0byBMaWZlLCB0aGUgVW5pdmVyc2UsIGFuZCBFdmVyeXRoaW5nIjsKCmZ1bmN0aW9uIF9fZnVuYygpewogICAgdmFyIGFyZ3VtZW50cyA9IFRIRV9BTlNXRVI7CiAgICByZXR1cm4gYXJndW1lbnRzOwp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKDQyLDQyLDQyKSAhPT0gVEhFX0FOU1dFUikgewoJJEVSUk9SKCcjMTogICJhcmd1bWVudHMiIHZhcmlhYmxlIG92ZXJyaWRlcyBBY3RpdmF0aW9uT2JqZWN0LmFyZ3VtZW50cycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.0_A15_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTVfVDMiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExNV9UMy5qcyIsCgphc3NlcnRpb246ICJcJ1wnYXJndW1lbnRzXCdcJyB2YXJpYWJsZSBvdmVycmlkZXMgQWN0aXZhdGlvbk9iamVjdC5hcmd1bWVudHMiLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSB2YXJpYWJsZSBuYW1lZCB3aXRoIFwiYXJndW1lbnRzXCIgd2l0aG91dCBhIGZ1bmN0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBUSEVfQU5TV0VSPSJBbnN3ZXIgdG8gTGlmZSwgdGhlIFVuaXZlcnNlLCBhbmQgRXZlcnl0aGluZyI7Cgp2YXIgYXJndW1lbnRzID0gVEhFX0FOU1dFUjsKCmZ1bmN0aW9uIF9fZnVuYyhhcmd1bWVudHMpewogICAgcmV0dXJuIGFyZ3VtZW50czsKICAgIAp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYygpICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYygpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jKCkgPT09Jyt0eXBlb2YgX19mdW5jKCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCJUaGUgVWx0aW1hdGUgUXVlc3Rpb24iKSAhPT0gIlRoZSBVbHRpbWF0ZSBRdWVzdGlvbiIpIHsKCSRFUlJPUignIzI6IF9fZnVuYygiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIikgPT09ICJUaGUgVWx0aW1hdGUgUXVlc3Rpb24iLiBBY3R1YWw6IF9fZnVuYygiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIik9PT0nK19fZnVuYygiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.0_A15_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTVfVDQiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExNV9UNC5qcyIsCgphc3NlcnRpb246ICJcJ1wnYXJndW1lbnRzXCdcJyB2YXJpYWJsZSBvdmVycmlkZXMgQWN0aXZhdGlvbk9iamVjdC5hcmd1bWVudHMiLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSB2YXJpYWJsZSBuYW1lZCB3aXRoIFwiYXJndW1lbnRzXCIgYW5kIGZvbGxvd2luZyBhIFwicmV0dXJuXCIgc3RhdGVtZW50IHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHkiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIFRIRV9BTlNXRVI9IkFuc3dlciB0byBMaWZlLCB0aGUgVW5pdmVyc2UsIGFuZCBFdmVyeXRoaW5nIjsKCmZ1bmN0aW9uIF9fZnVuYygpewogICAgcmV0dXJuIHR5cGVvZiBhcmd1bWVudHM7CiAgICB2YXIgYXJndW1lbnRzID0gVEhFX0FOU1dFUjsKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYyg0Miw0Miw0MikgIT09ICJvYmplY3QiKSB7CgkkRVJST1IoJyMxOiBfX2Z1bmMoNDIsNDIsNDIpID09PSAib2JqZWN0Ii4gQWN0dWFsOiBfX2Z1bmMoNDIsNDIsNDIpPT09JytfX2Z1bmMoNDIsNDIsNDIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.0_A15_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTVfVDUiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExNV9UNS5qcyIsCgphc3NlcnRpb246ICJcJ1wnYXJndW1lbnRzXCdcJyB2YXJpYWJsZSBvdmVycmlkZXMgQWN0aXZhdGlvbk9iamVjdC5hcmd1bWVudHMiLAoKZGVzY3JpcHRpb246ICJDcmVhdGluZyBhIHZhcmlhYmxlIG5hbWVkIHdpdGggXCJhcmd1bWVudHNcIiB3aXRob3V0IGEgZnVuY3Rpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIFRIRV9BTlNXRVI9IkFuc3dlciB0byBMaWZlLCB0aGUgVW5pdmVyc2UsIGFuZCBFdmVyeXRoaW5nIjsKCnZhciBhcmd1bWVudHMgPSBUSEVfQU5TV0VSOwoKZnVuY3Rpb24gX19mdW5jKCl7CiAgICByZXR1cm4gYXJndW1lbnRzOwp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIF9fZnVuYygpID09PSBUSEVfQU5TV0VSKSB7CgkkRVJST1IoJyMxOiBfX2Z1bmMoKSAhPT0gVEhFX0FOU1dFUicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCJUaGUgVWx0aW1hdGUgUXVlc3Rpb24iKSA9PT0gIlRoZSBVbHRpbWF0ZSBRdWVzdGlvbiIpIHsKCSRFUlJPUignIzI6IF9fZnVuYygiVGhlIFVsdGltYXRlIFF1ZXN0aW9uIikgIT09ICJUaGUgVWx0aW1hdGUgUXVlc3Rpb24iJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.0_A15_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTYiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExNi5qcyIsCgphc3NlcnRpb246ICJBbnkgc2VwYXJhdG9ycyBhcmUgYWRtaXR0ZWQgYmV0d2VlbiBkZWNsYXJhdGlvbiBjaHVua3MiLAoKZGVzY3JpcHRpb246ICJJbnNlcnRpbmcgc2VwYXJhdG9ycyBiZXR3ZWVuIGRlY2xhcmF0aW9uIGNodW5rcyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24KeAooCikKewp9CjsKCngoKTsKCmZ1bmN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt9OwoKeSgpOwoKZnVuY3Rpb24KCnoKCigKCikKCnsKICAgIAp9Cgo7Cgp6KCk7CgpldmFsKCJmdW5jdGlvblx1MDAwOVx1MjAyOXcoXHUwMDBDKVx1MDBBMHtcdTAwMER9OyIpOwoKdygpOwoKIH0KfSk7Cgo=","id":"S13.0_A16"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTdfVDEiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExN19UMS5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbiBjYWxsIGNhbm5vdCBhcHBlYXIgaW4gdGhlIHByb2dyYW0gYmVmb3JlIHRoZSBGdW5jdGlvbkV4cHJlc3Npb24gYXBwZWFycyIsCgpkZXNjcmlwdGlvbjogIlRyeWluZyB0byBjYWxsIGEgZnVuY3Rpb24gYmVmb3JlIHRoZSBGdW5jdGlvbkV4cHJlc3Npb24gYXBwZWFycyIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CiAgICB2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKTsKCSRGQUlMKCIjMS4xOiB2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiIpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IGZ1bmMgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yICBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fZnVuYyA9IGZ1bmN0aW9uICgpe3JldHVybiAiT05FIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKTsKaWYgKF9fcmVzdWx0ICE9PSAiT05FIikgewoJJEVSUk9SKCcjMjogX19yZXN1bHQgPT09ICJPTkUiLiBBY3R1YWw6IF9fcmVzdWx0ID09PScrX19yZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19mdW5jID0gZnVuY3Rpb24gKCl7cmV0dXJuICJUV08iO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnZhciBfX3Jlc3VsdCA9IF9fZnVuYygpOwppZiAoX19yZXN1bHQgIT09ICJUV08iKSB7CgkkRVJST1IoJyMzOiBfX3Jlc3VsdCA9PT0gIlRXTyIuIEFjdHVhbDogX19yZXN1bHQgPT09JytfX3Jlc3VsdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.0_A17_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTdfVDIiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExN19UMi5qcyIsCgphc3NlcnRpb246ICJGdW5jdGlvbiBjYWxsIGNhbm5vdCBhcHBlYXIgaW4gdGhlIHByb2dyYW0gYmVmb3JlIHRoZSBGdW5jdGlvbkV4cHJlc3Npb24gYXBwZWFycyIsCgpkZXNjcmlwdGlvbjogIlRyeWluZyB0byBjYWxsIGEgZnVuY3Rpb24gYmVmb3JlIHRoZSBGdW5jdGlvbkV4cHJlc3Npb24gYXBwZWFycyBhbmQgdGhlbiB1c2luZyB0aGUgRnVuY3Rpb25FeHByZXNzaW9uIG9uZSBtb3JlIHRpbWUiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewogICAgdmFyIF9fcmVzdWx0ID0gX19mdW5jKCk7CgkkRVJST1IoIiMxOiB2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiIpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IGZ1bmMgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yICBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8gbm93IHdlIHJlYWNoIHRoZSBfX2Z1bmMgb3ZlcndyaXRpbmcgYnkgbmV3IGV4cHJlc3Npb24KdmFyIF9fZnVuYyA9IGZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAiT05FIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp2YXIgX19yZXN1bHQgPSBfX2Z1bmMoKTsKaWYgKF9fcmVzdWx0ICE9PSAiT05FIikgewoJJEVSUk9SKCcjMjogX19yZXN1bHQgPT09ICJPTkUiLiBBY3R1YWw6IF9fcmVzdWx0ID09PScrX19yZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19mdW5jID0gZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuICJUV08iO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnZhciBfX3Jlc3VsdCA9IF9fZnVuYygpOwppZiAoX19yZXN1bHQgIT09ICJUV08iKSB7CgkkRVJST1IoJyMzOiBfX3Jlc3VsdCA9PT0gIlRXTyIuIEFjdHVhbDogX19yZXN1bHQgPT09JytfX3Jlc3VsdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.0_A17_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTgiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExOC5qcyIsCgphc3NlcnRpb246ICJDbG9zdXJlcyBhcmUgYWRtaXR0ZWQiLAoKZGVzY3JpcHRpb246ICJVc2luZyBhIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGFzIGEgZnVuY3Rpb24gcGFyYW1ldGVyIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2Ygc2lueCAhPT0gJ3VuZGVmaW5lZCcpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBzaW54ID09PSBcJ3VuZGVmaW5lZFwnLiBBY3R1YWw6IHR5cGVvZiBzaW54ID09PScrdHlwZW9mIHNpbngpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fdmFsID0gZnVuY3Rpb24gZGVyaXZhdGl2ZShmLCBkeCkgewogICAgcmV0dXJuIGZ1bmN0aW9uKHgpIHsKICAgICAgcmV0dXJuIChmKHggKyBkeCkgLSBmKHgpKSAvIGR4OwogICAgfTsKfShmdW5jdGlvbiBzaW54KHgpe3JldHVybiBNYXRoLnNpbih4KTt9LC4wMDAxKSgwLjUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHNpbnggIT09ICd1bmRlZmluZWQnKSB7CgkkRVJST1IoJyMyOiB0eXBlb2Ygc2lueCA9PT0gXCd1bmRlZmluZWRcJy4gQWN0dWFsOiB0eXBlb2Ygc2lueCA9PT0nK3R5cGVvZiBzaW54KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.0_A18"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTlfVDEiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExOV9UMS5qcyIsCgphc3NlcnRpb246ICJcInZhclwiIGRvZXMgbm90IG92ZXJyaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIiwKCmRlc2NyaXB0aW9uOiAiQ3JlYXRpbmcgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSB3aXRoIGlkZW50aWNhbCBJZGVudGlmaWVycyBpbiBnbG9iYWwgc2NvcGUiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vIHNpbmNlICJ2YXIiIGRvZXMgbm90IG92ZXJyaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIF9fZGVjbCBpcyBzZXQgdG8gZnVuY3Rpb24KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZGVjbCAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZGVjbCA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19kZWNsID09PScrdHlwZW9mIF9fZGVjbCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19kZWNsID0gMTsKCi8vc2luY2Ugc3RhdGVtZW50IHdhcyBldmFsdXRlZCBfX2RlY2wgdHVybnMgdG8gMSBmcm9tIGZ1bmN0aW9uCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZGVjbCAhPT0gMSkgewoJJEVSUk9SKCcjMjogX19kZWNsID09PSAxLiBBY3R1YWw6IF9fZGVjbCA9PT0nK19fZGVjbCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2RlY2woKXtyZXR1cm4gMTt9CgogfQp9KTsKCg==","id":"S13.0_A19_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMTlfVDIiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMF9DaGFwdGVyXFMxMy4wX0ExOV9UMi5qcyIsCgphc3NlcnRpb246ICJcInZhclwiIGRvZXMgbm90IG92ZXJyaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIiwKCmRlc2NyaXB0aW9uOiAiQ3JlYXRpbmcgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSB3aXRoIGlkZW50aWNhbCBJZGVudGlmaWVycyB3aXRoaW4gZnVuY3Rpb24gc2NvcGUiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIChmdW5jdGlvbiAoKXsKCiAgICAvLyBzaW5jZSAidmFyIiBkb2VzIG5vdCBvdmVycmlkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBfX2RlY2wgaXMgc2V0IHRvIGZ1bmN0aW9uCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIC8vQ0hFQ0sjMQogICAgaWYgKHR5cGVvZiBfX2RlY2wgIT09ICJmdW5jdGlvbiIpIHsKICAgIAkkRVJST1IoJyMxOiB0eXBlb2YgX19kZWNsID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2RlY2wgPT09Jyt0eXBlb2YgX19kZWNsKTsKICAgIH0KICAgIC8vCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIAogICAgdmFyIF9fZGVjbCA9IDE7CiAgICAKICAgIC8vc2luY2Ugc3RhdGVtZW50IHdhcyBldmFsdXRlZCBfX2RlY2wgdHVybnMgdG8gMSBmcm9tIGZ1bmN0aW9uCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIC8vQ0hFQ0sjMgogICAgaWYgKF9fZGVjbCAhPT0gMSkgewogICAgCSRFUlJPUignIzI6IF9fZGVjbCA9PT0gMS4gQWN0dWFsOiBfX2RlY2wgPT09JytfX2RlY2wpOwogICAgfQogICAgLy8KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKICAgIGZ1bmN0aW9uIF9fZGVjbCgpe3JldHVybiAxO30KfSkoKTsgICAgCgogfQp9KTsKCg==","id":"S13.0_A19_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMl9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTJfVDEuanMiLAoKYXNzZXJ0aW9uOiAiZnVuY3Rpb24gbXVzdCBiZSBldmFsdWF0ZWQgaW5zaWRlIHRoZSBleHByZXNzaW9uIiwKCmRlc2NyaXB0aW9uOiAiRGVmaW5pbmcgZnVuY3Rpb24gYm9keSB3aXRoIFwicmV0dXJuIGFyZ1wiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgeCA9IChmdW5jdGlvbiBfX2Z1bmMoYXJnKXtyZXR1cm4gYXJnfSkoMSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4ICE9PSAxKSB7CgkkRVJST1IoJyMxOiB4ID09PSAxLiBBY3R1YWw6IHggPT09Jyt4KTsKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YgX19mdW5jICE9PSAndW5kZWZpbmVkJykgewoJJEVSUk9SKCcjMjogdHlwZW9mIF9fZnVuYyA9PT0gXCd1bmRlZmluZWRcJy4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.0_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMl9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTJfVDIuanMiLAoKYXNzZXJ0aW9uOiAiZnVuY3Rpb24gbXVzdCBiZSBldmFsdWF0ZWQgaW5zaWRlIHRoZSBleHByZXNzaW9uIiwKCmRlc2NyaXB0aW9uOiAiRGVmaW5pbmcgZnVuY3Rpb24gYm9keSB3aXRoIFwicmV0dXJuIGFyZyArIGFyZ3VtZW50c1sxXVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgeCA9IChmdW5jdGlvbiBfX2Z1bmMoYXJnKXtyZXR1cm4gYXJnICsgYXJndW1lbnRzWzFdfSkoMSwiMSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoeCAhPT0gIjExIikgewoJJEVSUk9SKCcjMTogeCA9PT0gIjExIi4gQWN0dWFsOiB4ID09PScreCk7Cn0KCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIF9fZnVuYyAhPT0gJ3VuZGVmaW5lZCcpIHsKCSRFUlJPUignIzI6IHR5cGVvZiBfX2Z1bmMgPT09IFwndW5kZWZpbmVkXCcuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.0_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BMl9UMyIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTJfVDMuanMiLAoKYXNzZXJ0aW9uOiAiZnVuY3Rpb24gbXVzdCBiZSBldmFsdWF0ZWQgaW5zaWRlIHRoZSBleHByZXNzaW9uIiwKCmRlc2NyaXB0aW9uOiAiRGVmaW5pbmcgZnVuY3Rpb24gYm9keSB3aXRoIFwicmV0dXJuIGFyZ3VtZW50c1swXSArXCItXCIrIGFyZ3VtZW50c1sxXVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgeCA9IChmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gYXJndW1lbnRzWzBdICsiLSIrIGFyZ3VtZW50c1sxXX0pKCJPYmkiLCJXYW4iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHggIT09ICJPYmktV2FuIikgewoJJEVSUk9SKCcjMTogeCA9PT0gIk9iaS1XYW4iLiBBY3R1YWw6IHggPT09Jyt4KTsKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YgX19mdW5jICE9PSAndW5kZWZpbmVkJykgewoJJEVSUk9SKCcjMjogdHlwZW9mIF9fZnVuYyA9PT0gXCd1bmRlZmluZWRcJy4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.0_A2_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BM19UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTNfVDEuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIElkZW50aWZpZXIgaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gY2FuIGJlIHJlZmVyZW5jZWQgZnJvbSBpbnNpZGUgdGhlIEZ1bmN0aW9uRXhwcmVzc2lvblwncyBGdW5jdGlvbkJvZHkgdG8gYWxsb3cgdGhlIGZ1bmN0aW9uIGNhbGxpbmcgaXRzZWxmIHJlY3Vyc2l2ZWx5IiwKCmRlc2NyaXB0aW9uOiAiQ3JlYXRpbmcgYSByZWN1cnNpdmUgZnVuY3Rpb24gdGhhdCBjYWxjdWxhdGVzIGZhY3RvcmlhbCwgYXMgYSB2YXJpYWJsZS4iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX2Z1bmMgPSBmdW5jdGlvbiBfX2V4cF9fZnVuYyhhcmcpewogICAgaWYgKGFyZyA9PT0gMSkgewogICAgCXJldHVybiBhcmc7CiAgICB9IGVsc2UgewogICAgCXJldHVybiBfX2V4cF9fZnVuYyhhcmctMSkqYXJnOwogICAgfQp9OwoKdmFyIGZhY3Rfb2ZfMyA9ICBfX2Z1bmMoMyk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChmYWN0X29mXzMgIT09IDYpIHsKCSRFUlJPUigiIzE6IGZhY3Rfb2ZfMyA9PT0gNi4gQWN0dWFsOiBmYWN0X29mXzMgPT09IitmYWN0X29mXzMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.0_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BM19UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTNfVDIuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIElkZW50aWZpZXIgaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gY2FuIGJlIHJlZmVyZW5jZWQgZnJvbSBpbnNpZGUgdGhlIEZ1bmN0aW9uRXhwcmVzc2lvblwncyBGdW5jdGlvbkJvZHkgdG8gYWxsb3cgdGhlIGZ1bmN0aW9uIGNhbGxpbmcgaXRzZWxmIHJlY3Vyc2l2ZWx5IiwKCmRlc2NyaXB0aW9uOiAiQ3JlYXRpbmcgYSByZWN1cnNpdmUgZnVuY3Rpb24gdGhhdCBjYWxjdWxhdGVzIGZhY3RvcmlhbCwgYXMgYSB2YXJpYWJsZS4iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX2Z1bmMgPSBmdW5jdGlvbiAoYXJnKXsKICAgIGlmIChhcmcgPT09IDEpIHsKICAgIAlyZXR1cm4gYXJnOwogICAgfSBlbHNlIHsKICAgIAlyZXR1cm4gX19mdW5jKGFyZy0xKSphcmc7CiAgICB9Cn07Cgp2YXIgZmFjdF9vZl8zID0gIF9fZnVuYygzKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGZhY3Rfb2ZfMyAhPT0gNikgewoJJEVSUk9SKCIjMTogZmFjdF9vZl8zID09PSA2LiBBY3R1YWw6IGZhY3Rfb2ZfMyA9PT0iK2ZhY3Rfb2ZfMyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.0_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BM19UMyIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTNfVDMuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIElkZW50aWZpZXIgaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gY2FuIGJlIHJlZmVyZW5jZWQgZnJvbSBpbnNpZGUgdGhlIEZ1bmN0aW9uRXhwcmVzc2lvblwncyBGdW5jdGlvbkJvZHkgdG8gYWxsb3cgdGhlIGZ1bmN0aW9uIGNhbGxpbmcgaXRzZWxmIHJlY3Vyc2l2ZWx5IiwKCmRlc2NyaXB0aW9uOiAiQ3JlYXRpbmcgc2ltcGxlIHJlY3Vyc2l2ZSBmdW5jdGlvbiB0aGF0IGNhbGN1bGF0ZXMgZmFjdG9yaWFsIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoYXJnKXsKICAgIGlmIChhcmcgPT09IDEpIHsKICAgIAlyZXR1cm4gYXJnOwogICAgfSBlbHNlIHsKICAgIAlyZXR1cm4gX19mdW5jKGFyZy0xKSphcmc7CiAgICB9Cn07Cgp2YXIgZmFjdF9vZl8zID0gIF9fZnVuYygzKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGZhY3Rfb2ZfMyAhPT0gNikgewoJJEVSUk9SKCIjMTogZmFjdF9vZl8zID09PSA2LiBBY3R1YWw6IGZhY3Rfb2ZfMyA9PT0iK2ZhY3Rfb2ZfMyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.0_A3_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BNF9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTRfVDEuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIHByb2R1Y3Rpb24gRnVuY3Rpb25EZWNsYXJhdGlvbjogXCJmdW5jdGlvbiBJZGVudGlmaWVyICggRm9ybWFsUGFyYW1ldGVyTGlzdF9vcHQgKSB7IEZ1bmN0aW9uQm9keSB9XCIgaXMgcHJvY2Vzc2VkIGJ5IGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBzdHJpbmciLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAiemlnLXppZy1zcHV0bmlrIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMSAKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2Z1bmMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCkgIT09ICJ6aWctemlnLXNwdXRuaWsiKSB7CgkkRVJST1IoJyMyOiBfX2Z1bmMoKSA9PT0gInppZy16aWctc3B1dG5payIuIEFjdHVhbDogX19mdW5jKCkgPT09JytfX2Z1bmMoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.0_A4_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BNF9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTRfVDIuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIHByb2R1Y3Rpb24gRnVuY3Rpb25EZWNsYXJhdGlvbjogXCJmdW5jdGlvbiBJZGVudGlmaWVyICggRm9ybWFsUGFyYW1ldGVyTGlzdF9vcHQgKSB7IEZ1bmN0aW9uQm9keSB9XCIgaXMgcHJvY2Vzc2VkIGJ5IGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHRoYXQgdXNlcyBwcmVmaXggaW5jcmVtZW50IG9wZXJhdG9yIHdpdGhpbiBpdHMgXCJyZXR1cm5cIiBFeHByZXNzaW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoYXJnKXtyZXR1cm4gKythcmc7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEgCmlmICh0eXBlb2YgX19mdW5jICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZnVuYygxKSAhPT0gMikgewoJJEVSUk9SKCcjMjogX19mdW5jKDEpID09PSAyLiBBY3R1YWw6IF9fZnVuYygxKSA9PT0nK19fZnVuYygxKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.0_A4_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BNF9UMyIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTRfVDMuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIHByb2R1Y3Rpb24gRnVuY3Rpb25EZWNsYXJhdGlvbjogXCJmdW5jdGlvbiBJZGVudGlmaWVyICggRm9ybWFsUGFyYW1ldGVyTGlzdF9vcHQgKSB7IEZ1bmN0aW9uQm9keSB9XCIgaXMgcHJvY2Vzc2VkIGJ5IGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHRoYXQgdXNlcyBhcml0aG1ldGljYWwgb3BlcmF0b3JzIHdpdGhpbiBpdHMgXCJyZXR1cm5cIiBFeHByZXNzaW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoYXJnMSwgYXJnMiwgYXJnMyl7cmV0dXJuIGFyZzErPShhcmcyKz1hcmczKTt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMSAKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2Z1bmMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKDEwLCAyMCwgMzApICE9PSA2MCkgewoJJEVSUk9SKCcjMjogX19mdW5jKDEwLCAyMCwgMzApID09PSA2MC4gQWN0dWFsOiBfX2Z1bmMoMTAsMjAsMzApID09PScrX19mdW5jKDEwLDIwLDMwKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.0_A4_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BNF9UNCIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTRfVDQuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIHByb2R1Y3Rpb24gRnVuY3Rpb25EZWNsYXJhdGlvbjogXCJmdW5jdGlvbiBJZGVudGlmaWVyICggRm9ybWFsUGFyYW1ldGVyTGlzdF9vcHQgKSB7IEZ1bmN0aW9uQm9keSB9XCIgaXMgcHJvY2Vzc2VkIGJ5IGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHRoYXQgdXNlcyBzdHJpbmdzIGNvbmNhdGVuYWlvbiBvcGVhdG9yIHdpdGhpbiBpdHMgXCJyZXR1cm5cIiBFeHByZXNzaW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoKXtyZXR1cm4gYXJndW1lbnRzWzBdLm5hbWUgKyAiICIgKyBhcmd1bWVudHNbMF0uc3VybmFtZTt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMSAKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2Z1bmMgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKHtuYW1lOidmb3gnLCBzdXJuYW1lOidtYWxkZXInfSkgIT09ICJmb3ggbWFsZGVyIikgewoJJEVSUk9SKCcjMjogX19mdW5jKHtuYW1lOlwnZm94XCcsIHN1cm5hbWU6XCdtYWxkZXJcJ30pID09PSAiZm94IG1hbGRlciIuIEFjdHVhbDogX19mdW5jKHtuYW1lOlwnZm94XCcsIHN1cm5hbWU6XCdtYWxkZXJcJ30pID09PScrX19mdW5jKHtuYW1lOidmb3gnLCBzdXJuYW1lOidtYWxkZXInfSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gZnVuY19fKGFyZyl7cmV0dXJuIGFyZy5uYW1lICsgIiAiICsgYXJnLnN1cm5hbWU7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMgCmlmICh0eXBlb2YgZnVuY19fICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyMzOiB0eXBlb2YgZnVuY19fID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKGZ1bmNfXyh7bmFtZTonam9obicsIHN1cm5hbWU6J2xlbm5vbid9KSAhPT0gImpvaG4gbGVubm9uIikgewoJJEVSUk9SKCcjNDogZnVuY19fKHtuYW1lOlwnam9oblwnLCBzdXJuYW1lOlwnbGVubm9uXCd9KSA9PT0gImpvaG4gbGVubm9uIi4gQWN0dWFsOiBfX2Z1bmMoe25hbWU6XCdqb2huXCcsIHN1cm5hbWU6XCdsZW5ub25cJ30pID09PScrX19mdW5jKHtuYW1lOidqb2huJywgc3VybmFtZTonbGVubm9uJ30pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.0_A4_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BNSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTUuanMiLAoKYXNzZXJ0aW9uOiAiT25seSBGb3JtYWxQYXJhbWV0ZXJMaXN0IGFzIGFyZ3VtZW50cyBsaXN0IGlzIGFsbG93ZWQiLAoKZGVzY3JpcHRpb246ICJUcnlpbmcgdG8gdXNlIFthcmcxLCBhcmcyLCBhcmczXSwgKGFyZzEsIGFyZzIsIGFyZzMpLCBldGMuIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CglldmFsKCJmdW5jdGlvbiBfX2Z1bmMoW2FyZzEsIGFyZzIsIGFyZzNdKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDt9Iik7CgkkRVJST1IoJyMxOiBldmFsKCJmdW5jdGlvbiBfX2Z1bmMoW2FyZzEsIGFyZzIsIGFyZzNdKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDt9IikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaChlKXsKCWlmKCEoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSl7CgkJJEVSUk9SKCcjMS4xOiBldmFsKCJmdW5jdGlvbiBfX2Z1bmMoW2FyZzEsIGFyZzIsIGFyZzNdKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDt9IikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb2YgU3ludGF4RXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7Cgl9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeXsKCWV2YWwoImZ1bmN0aW9uIF9fZnVuYygoYXJnMSwgYXJnMiwgYXJnMykpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoO30iKTsKCSRFUlJPUignIzI6IGV2YWwoImZ1bmN0aW9uIF9fZnVuYygoYXJnMSwgYXJnMiwgYXJnMykpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoO30iKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpCn0gY2F0Y2goZSl7CglpZighKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpewoJCSRFUlJPUignIzIuMTogZXZhbCgiZnVuY3Rpb24gX19mdW5jKChhcmcxLCBhcmcyLCBhcmczKSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fSIpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uIG9mIFN5bnRheEVycm9yLiBBY3R1YWw6IGV4Y2VwdGlvbiBpcyAnK2UpOwoJfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp0cnl7CglldmFsKCJmdW5jdGlvbiBfX2Z1bmMoYXJnMSwgYXJnMiwgYXJnMywpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoO30iKTsKCSRFUlJPUignIzM6IGV2YWwoImZ1bmN0aW9uIF9fZnVuYyhhcmcxLCBhcmcyLCBhcmczLCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fSIpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJykKfSBjYXRjaChlKXsKCWlmKCEoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSl7CgkJJEVSUk9SKCcjMy4xOiBldmFsKCJmdW5jdGlvbiBfX2Z1bmMoYXJnMSwgYXJnMiwgYXJnMywpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoO30iKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiBvZiBTeW50YXhFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.0_A5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BNl9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTZfVDEuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25EZWNsYXJhdGlvbiBjYW4gYmUgb3ZlcnJpZGVkIGJ5IG90aGVyIEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCB0aGUgc2FtZSBJZGVudGlmaWVyIiwKCmRlc2NyaXB0aW9uOiAiRHVwbGljYXRpbmcgZnVuY3Rpb24gZGVjbGFyYXRpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAxfTsKIAp2YXIgX19zdG9yZV9fZnVuYyA9IF9fZnVuYzsKIAp2YXIgX18xID0gX19mdW5jKCk7CiAKIGZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAnQSd9OwogCnZhciBfX0EgPSBfX2Z1bmMoKTsKIAovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0b3JlX19mdW5jICE9PSBfX2Z1bmMpIHsKCSRFUlJPUignIzE6IF9fc3RvcmVfX2Z1bmMgPT09IF9fZnVuYy4gQWN0dWFsOiBfX3N0b3JlX19mdW5jID09PScrX19zdG9yZV9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIAogCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fMSAhPT0gX19BKSB7CgkkRVJST1IoJyMyOiBfXzEgPT09IF9fQS4gQWN0dWFsOiBfXzEgPT09JytfXzEpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.0_A6_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BNl9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTZfVDIuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25EZWNsYXJhdGlvbiBjYW4gYmUgb3ZlcnJpZGVkIGJ5IG90aGVyIEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCB0aGUgc2FtZSBJZGVudGlmaWVyIiwKCmRlc2NyaXB0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGJlZm9yZSBpdCBpcyBkZWNsYXJlZCBvbmUgbW9yZSB0aW1lIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeXsKICAgIHZhciBfX3Jlc3VsdCA9IF9fZnVuYygpOwp9IGNhdGNoKGUpIHsKICAgICRGQUlMKCIjMTogRnVuY3Rpb24gY2FsbCBjYW4gYXBwZWFycyBpbiB0aGUgcHJvZ3JhbSBiZWZvcmUgdGhlIEZ1bmN0aW9uRGVjbGFyYXRpb24gYXBwZWFycyIpOwp9CmlmIChfX3Jlc3VsdCAhPT0gIlNFQ09ORCIpIHsKCSRFUlJPUignIzEuMTogX19yZXN1bHQgPT09ICJTRUNPTkQiLiBBY3R1YWw6IF9fcmVzdWx0ID09PScrX19yZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuICJGSVJTVCI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKX19yZXN1bHQgPSBfX2Z1bmMoKTsKaWYgKF9fcmVzdWx0ICE9PSAiU0VDT05EIikgewoJJEVSUk9SKCcjMjogX19yZXN1bHQgPT09ICJTRUNPTkQiLiBBY3R1YWw6IF9fcmVzdWx0ID09PScrX19yZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuICJTRUNPTkQiO307CgogfQp9KTsKCg==","id":"S13.0_A6_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BN19UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTdfVDEuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIEZ1bmN0aW9uQm9keSBtdXN0IGJlIFNvdXJjZUVsZW1lbnRzIiwKCmRlc2NyaXB0aW9uOiAiVXNpbmcgb25seSBTb3VyY2VFbGVtZW50cyB3aXRoaW4gdGhlIEZ1bmN0aW9uQm9keSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX19mdW5jKCl7J2dyb3VuZCBjb250cm9sIHRvIG1ham9yIHRvbSd9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19mdW5jICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fZnVuY19fMigpe2J9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YgX19mdW5jX18yICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyMyOiB0eXBlb2YgX19mdW5jX18yID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmNfXzIgPT09Jyt0eXBlb2YgX19mdW5jX18yKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fZnVuY19fMygpezF9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19mdW5jX18zICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyMzOiB0eXBlb2YgX19mdW5jX18zID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmNfXzMgPT09Jyt0eXBlb2YgX19mdW5jX18zKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fZnVuY19fNCgpezErY307Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKHR5cGVvZiBfX2Z1bmNfXzQgIT09ICJmdW5jdGlvbiIpIHsKCSRFUlJPUignIzQ6IHR5cGVvZiBfX2Z1bmNfXzQgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fZnVuY19fNCA9PT0nK3R5cGVvZiBfX2Z1bmNfXzQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19mdW5jX181KCl7aW5jKGQpfTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fZnVuY19fNSAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjNTogdHlwZW9mIF9fZnVuY19fNSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jX181ID09PScrdHlwZW9mIF9fZnVuY19fNSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmNfXzYoKXt2YXIgXHUwMDQyID0gMTt9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmICh0eXBlb2YgX19mdW5jX182ICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyM2OiB0eXBlb2YgX19mdW5jX182ID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmNfXzYgPT09Jyt0eXBlb2YgX19mdW5jX182KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vZnVuY3Rpb24gX19mdW5jX183KCl7dmFyIFx1MDAzZCA9IDE7fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8vL0NIRUNLIzcKLy9pZiAodHlwZW9mIF9fZnVuY19fNyAhPT0gImZ1bmN0aW9uIikgewovLwkkRVJST1IoJyM3OiBUaGUgRnVuY3Rpb25Cb2R5IG11c3QgYmUgU291cmNlRWxlbWVudHMnKTsKLy99Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.0_A7_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BN19UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTdfVDIuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIEZ1bmN0aW9uQm9keSBtdXN0IGJlIFNvdXJjZUVsZW1lbnRzIiwKCmRlc2NyaXB0aW9uOiAiSW5zZXJ0aW5nIGVsZW1lbnRzIHRoYXQgaXMgZGlmZmVyZW50IGZyb20gU291cmNlRWxlbWVudHMgaW50byB0aGUgRnVuY3Rpb25Cb2R5IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeXsKCWV2YWwoImZ1bmN0aW9uIF9fZnVuYygpey8gQUJDfSIpOwoJJEVSUk9SKCcjMTogZXZhbCgiZnVuY3Rpb24gX19mdW5jKCl7LyBBQkN9IikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaChlKXsKCWlmKCEoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSl7CgkJJEVSUk9SKCcjMS4xOiBldmFsKCJmdW5jdGlvbiBfX2Z1bmMoKXsvIEFCQ30iKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbiBvZiBTeW50YXhFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKCX0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKdHJ5ewoJZXZhbCgiZnVuY3Rpb24gX19mdW5jKCl7JjF9Iik7CgkkRVJST1IoJyMzOiBldmFsKCJmdW5jdGlvbiBfX2Z1bmMoKXsmMX0iKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewoJaWYoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKXsKCQkkRVJST1IoJyMzLjE6IGV2YWwoImZ1bmN0aW9uIF9fZnVuYygpeyYxfSIpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uIG9mIFN5bnRheEVycm9yLiBBY3R1YWw6IGV4Y2VwdGlvbiBpcyAnK2UpOwoJfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAp0cnl7CglldmFsKCJmdW5jdGlvbiBfX2Z1bmMoKXsjIEFCQ30iKTsKCSRFUlJPUignIzQ6IGV2YWwoImZ1bmN0aW9uIF9fZnVuYygpeyMgQUJDfSIpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2goZSl7CglpZighKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpewoJCSRFUlJPUignIzQuMTogZXZhbCgiZnVuY3Rpb24gX19mdW5jKCl7IyBBQkN9IikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24gb2YgU3ludGF4RXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7Cgl9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.0_A7_T2"},{"code":"IGZ1bmN0aW9uIF9fZnVuYygpe1xBXEJcQ307CiAKCg==","id":"S13.0_A7_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BOF9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQThfVDEuanMiLAoKYXNzZXJ0aW9uOiAiQXJndW1lbnRzIHByb3BlcnR5IG9mIGFjdGl2YXRpb24gb2JqZWN0IGNvbnRhaW5zIHJlYWwgcGFyYW1zIHRvIGJlIHBhc3NlZCIsCgpkZXNjcmlwdGlvbjogIkNyZWF0aW5nIGEgZnVuY3Rpb24gZGVjbGFyZWQgd2l0aCBcImZ1bmN0aW9uIF9fZnVuYyhwYXJhbTEsIHBhcmFtMiwgcGFyYW0zKVwiIGFuZCB1c2luZyBhcmd1bWVudHMubGVuZ3RoIHByb3BlcnR5IGluIG9yZGVyIHRvIHBlcmZvcm0gdGhlIHRlc3QiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYyhwYXJhbTEsIHBhcmFtMiwgcGFyYW0zKSB7CiAJcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7CiB9CiAKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKCdBJykgIT09IDEpIHsKIAkkRVJST1IoJyMxOiBfX2Z1bmMoXCdBXCcpID09PSAxLiBBY3R1YWw6IF9fZnVuYyhcJ0FcJykgPT09JytfX2Z1bmMoJ0EnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2Z1bmMoJ0EnLCAnQicsIDEsIDIsX19mdW5jKSAhPT0gNSkgewoJJEVSUk9SKCcjMjogX19mdW5jKFwnQVwnLCBcJ0JcJywgMSwgMixfX2Z1bmMpID09PSA1LiBBY3R1YWw6IF9fZnVuYyhcJ0FcJywgXCdCXCcsIDEsIDIsX19mdW5jKSA9PT0nK19fZnVuYygnQScsICdCJywgMSwgMixfX2Z1bmMpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIAogCiAKCiB9Cn0pOwoK","id":"S13.0_A8_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BOF9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQThfVDIuanMiLAoKYXNzZXJ0aW9uOiAiQXJndW1lbnRzIHByb3BlcnR5IG9mIGFjdGl2YXRpb24gb2JqZWN0IGNvbnRhaW5zIHJlYWwgcGFyYW1zIHRvIGJlIHBhc3NlZCIsCgpkZXNjcmlwdGlvbjogIkNyZWF0aW5nIGEgZnVuY3Rpb24gd2l0aCBubyBwYXJhbWV0ZXJzIGFuZCB1c2luZyBhcmd1bWVudHMubGVuZ3RoIHByb3BlcnR5IGluIG9yZGVyIHRvIHBlcmZvcm0gdGhlIHRlc3QiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYygpIHsKIAlyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDsKIH0KIAovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoJ0EnKSAhPT0gMSkgewogCSRFUlJPUignIzE6IF9fZnVuYyhcJ0FcJykgPT09IDEuIEFjdHVhbDogX19mdW5jKFwnQVwnKSA9PT0nK19fZnVuYygnQScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZnVuYygnQScsICdCJywgMSwgMixfX2Z1bmMpICE9PSA1KSB7CgkkRVJST1IoJyMyOiBfX2Z1bmMoXCdBXCcsIFwnQlwnLCAxLCAyLF9fZnVuYykgPT09IDUuIEFjdHVhbDogX19mdW5jKFwnQVwnLCBcJ0JcJywgMSwgMixfX2Z1bmMpID09PScrX19mdW5jKCdBJywgJ0InLCAxLCAyLF9fZnVuYykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19mdW5jKCkgIT09IDApIHsKCSRFUlJPUignIzM6IF9fZnVuYygpID09PSAwLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.0_A8_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMF9BOSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4wX0NoYXB0ZXJcUzEzLjBfQTkuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb24gY2FuIGJlIHBhc3NlZCBhcyBhcmd1bWVudCIsCgpkZXNjcmlwdGlvbjogIlVzaW5nIGZ1bmN0aW9uIGFzIGFyZ3VtZW50IG9mIGFub3RoZXIgZnVuY3Rpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuY19fSU5DKGFyZyl7cmV0dXJuIGFyZyArIDE7fTsKZnVuY3Rpb24gX19mdW5jX19NVUxUKGluY3JlbWVudGF0b3IsIGFyZywgbXVsdCl7IHJldHVybiBpbmNyZW1lbnRhdG9yKGFyZykqbXVsdDsgfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuY19fTVVMVChfX2Z1bmNfX0lOQywgMiwgMikgIT09IDYpIHsKCSRFUlJPUignIzE6IGZ1bmN0aW9uICBjYW4gYmUgcGFzc2VkIGFzIGFyZ3VtZW50Jyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKIH0KfSk7Cgo=","id":"S13.0_A9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0ExX1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0ExX1QxLmpzIiwKCmFzc2VydGlvbjogIlRoZSBkZXB0aCBvZiBuZXN0ZWQgZnVuY3Rpb24gY2FsbHMgcmVhY2hlcyAzMiIsCgpkZXNjcmlwdGlvbjogIkNyZWF0aW5nIGZ1bmN0aW9uIGNhbGxzIDMyIGVsZW1lbnRzIGRlcHRoIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAoZnVuY3Rpb24oKXsKICAgIChmdW5jdGlvbigpewogICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmdW5jdGlvbigpe30pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgICAgICAgICAgfSkoKQogICAgICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgICAgIH0pKCkKICAgICAgICAgICAgfSkoKQogICAgICAgIH0pKCkKICAgIH0pKCkKfSkoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCiB9Cn0pOwoK","id":"S13.2.1_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E0X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E0X1QxLmpzIiwKCmFzc2VydGlvbjogIk9iamVjdHMgYXMgYXJndW1lbnRzIGFyZSBwYXNzZWQgYnkgcmVmZXJlbmNlIiwKCmRlc2NyaXB0aW9uOiAiQWRkaW5nIG5ldyBudW1iZXIgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoX19hcmcpewogICAgX19hcmcuZm9vPTc7Cn0KCnZhciBfX29iaj17fTsKCl9fZnVuYyhfX29iaik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5mb28gIT09IDcpIHsKCSRFUlJPUignIzE6IF9fb2JqLmZvbyA9PT0gNy4gQWN0dWFsOiBfX29iai5mb28gPT09JytfX29iai5mb28pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.1_A4_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E0X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E0X1QyLmpzIiwKCmFzc2VydGlvbjogIk9iamVjdHMgYXMgYXJndW1lbnRzIGFyZSBwYXNzZWQgYnkgcmVmZXJlbmNlIiwKCmRlc2NyaXB0aW9uOiAiQWRkaW5nIG5ldyBzdHJpbmcgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoX19hcmcpewogICAgX19hcmcuZm9vPSJ3aGlza2V5IGdvZ28iOwp9Cgp2YXIgX19vYmo9e307CgogX19mdW5jKF9fb2JqKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLmZvbyAhPT0gIndoaXNrZXkgZ29nbyIpIHsKCSRFUlJPUignIzE6IF9fb2JqLmZvbyA9PT0gIndoaXNrZXkgZ29nbyIuIEFjdHVhbDogX19vYmouZm9vID09PScrX19vYmouZm9vKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.1_A4_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E0X1QzIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E0X1QzLmpzIiwKCmFzc2VydGlvbjogIk9iamVjdHMgYXMgYXJndW1lbnRzIGFyZSBwYXNzZWQgYnkgcmVmZXJlbmNlIiwKCmRlc2NyaXB0aW9uOiAiQWRkaW5nIG5ldyBudW1iZXIgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIGFyZ3VtZW50c1swXVsiUEkiXT0zLjE0Owp9Cgp2YXIgX19vYmo9e307CgpfX2Z1bmMoX19vYmopOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmouUEkgIT09IDMuMTQpIHsKCSRFUlJPUignIzE6IF9fb2JqLlBJID09PSAzLjE0LiBBY3R1YWw6IF9fb2JqLlBJID09PScrX19vYmouUEkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.1_A4_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E0X1Q0IiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E0X1Q0LmpzIiwKCmFzc2VydGlvbjogIk9iamVjdHMgYXMgYXJndW1lbnRzIGFyZSBwYXNzZWQgYnkgcmVmZXJlbmNlIiwKCmRlc2NyaXB0aW9uOiAiQWRkaW5nIG5ldyBudW1iZXIgcHJvcGVydHkgdG8gYSBmdW5jdGlvbiBhcmd1bWVudCB3aXRoaW4gdGhlIGZ1bmN0aW9uIGJvZHksIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIGFyZ3VtZW50c1swXVsiRSJdPTIuNzQ7Cn0KCnZhciBfX29iaj17fTsKCl9fZnVuYyhfX29iaik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5FICE9PSAyLjc0KSB7CgkkRVJST1IoJyMxOiBfX29iai5FID09PSAyLjc0LiBBY3R1YWw6IF9fb2JqLkUgPT09JytfX29iai5FKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.1_A4_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E1X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E1X1QxLmpzIiwKCmFzc2VydGlvbjogIkNsb3N1cmVzIGFyZSBhZG1pdHRlZCIsCgpkZXNjcmlwdGlvbjogIlNvcnRpbmcgd2l0aCBjbG9zdXJlIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgX19hcnIgPSBbNCwzLDIsMSw0LDMsMiwxLDQsMywyLDFdOwovL1NvcnQgdXNlcyBjbG9zdXJlCi8vCl9fYXJyLnNvcnQoCglmdW5jdGlvbih4LHkpIHsgCgkJaWYgKHg+eSl7cmV0dXJuIC0xO30gCgkJaWYgKHg8eSl7cmV0dXJuIDE7fSAKCQlpZiAoeD09eSl7cmV0dXJuIDA7fSAKCX0KKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fYXJyLnRvU3RyaW5nKCkgIT09IFs0LDQsNCwzLDMsMywyLDIsMiwxLDEsMV0udG9TdHJpbmcoKSkgewoJJEVSUk9SKCcjMTogX19hcnIudG9TdHJpbmcoKSA9PT0gWzQsNCw0LDMsMywzLDIsMiwyLDEsMSwxXS50b1N0cmluZygpLiBBY3R1YWw6IF9fYXJyLnRvU3RyaW5nKCkgPT09JytfX2Fyci50b1N0cmluZygpKTsKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICAKCiB9Cn0pOwoK","id":"S13.2.1_A5_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E1X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E1X1QyLmpzIiwKCmFzc2VydGlvbjogIkNsb3N1cmVzIGFyZSBhZG1pdHRlZCIsCgpkZXNjcmlwdGlvbjogIlJldHVybmluZyBhIGZ1bmN0aW9uIHRoYXQgYXBwcm94aW1hdGVzIHRoZSBkZXJpdmF0aXZlIG9mIGYiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vIFJldHVybiBhIGZ1bmN0aW9uIHRoYXQgYXBwcm94aW1hdGVzIHRoZSBkZXJpdmF0aXZlIG9mIGYKLy8gdXNpbmcgYW4gaW50ZXJ2YWwgb2YgZHgsIHdoaWNoIHNob3VsZCBiZSBhcHByb3ByaWF0ZWx5IHNtYWxsLgpmdW5jdGlvbiBkZXJpdmF0aXZlKGYsIGR4KSB7CiAgICByZXR1cm4gZnVuY3Rpb24oeCkgewogICAgICByZXR1cm4gKGYoeCArIGR4KSAtIGYoeCkpIC8gZHg7CiAgICB9Owp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChNYXRoLmFicyhkZXJpdmF0aXZlKE1hdGguc2luLCAwLjAwMDEpKDApIC0gZGVyaXZhdGl2ZShNYXRoLnNpbiwgMC4wMDAxKSgyKk1hdGguUEkpKSA+PSAxLzY1NTM2LjApIHsKCSRFUlJPUignIzE6IE1hdGguYWJzKGRlcml2YXRpdmUoTWF0aC5zaW4sIDAuMDAwMSkoMCkgLSBkZXJpdmF0aXZlKE1hdGguc2luLCAwLjAwMDEpKDIqTWF0aC5QSSkpIDw9IDEvNjU1MzYuMCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.1_A5_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E2X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E2X1QxLmpzIiwKCmFzc2VydGlvbjogIlByaW1pdGl2ZSB0eXBlcyBhcmUgcGFzc2VkIGJ5IHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAiRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCBcImZ1bmN0aW9uIF9fZnVuYyhhcmcxLCBhcmcyKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoYXJnMSwgYXJnMil7CiAgICBhcmcxKys7CiAgICBhcmcyKz0iQkEiOwp9OwoKdmFyIHg9MTsKeT0yOwp2YXIgYT0iQUIiCmI9IlNBTSI7CgpfX2Z1bmMoeCxhKTsKX19mdW5jKHksYik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh4IT09MSB8fCB5IT09MiB8fCBhIT09IkFCIiB8fCBiIT09IlNBTSIpIHsKCSRFUlJPUignIzE6IHggPT09IDEgYW5kIHkgPT09IDIgYW5kIGEgPT09ICJBQiIgYW5kIGIgPT09ICJTQU0iLiBBY3R1YWw6IHggPT09Jyt4KycgYW5kIHkgPT09Jyt5KycgYW5kIGEgPT09JythKycgYW5kIGIgPT09JytiKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.1_A6_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E2X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E2X1QyLmpzIiwKCmFzc2VydGlvbjogIlByaW1pdGl2ZSB0eXBlcyBhcmUgcGFzc2VkIGJ5IHZhbHVlIiwKCmRlc2NyaXB0aW9uOiAiRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCBcIl9fZnVuYyA9IGZ1bmN0aW9uKGFyZzEsIGFyZzIpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIF9fZnVuYyA9IGZ1bmN0aW9uKGFyZzEsIGFyZzIpewogICAgYXJnMSsrOwogICAgYXJnMis9IkJBIjsKfTsKCnZhciB4PTE7Cnk9MjsKdmFyIGE9IkFCIgpiPSJTQU0iOwoKX19mdW5jKHgsYSk7Cl9fZnVuYyh5LGIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoeCE9PTEgfHwgeSE9PTIgfHwgYSE9PSJBQiIgfHwgYiE9PSJTQU0iKSB7CgkkRVJST1IoJyMxOiB4ID09PSAxIGFuZCB5ID09PSAyIGFuZCBhID09PSAiQUIiIGFuZCBiID09PSAiU0FNIi4gQWN0dWFsOiB4ID09PScreCsnIGFuZCB5ID09PScreSsnIGFuZCBhID09PScrYSsnIGFuZCBiID09PScrYik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.1_A6_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E3X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E3X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiUmV0dXJuaW5nIG51bGwuIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX2Z1bmMoKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHZhciB4ID0gbnVsbDsKICAgIHJldHVybiB4Owp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeXsKICAgIHZhciB4PV9fZnVuYygpOwp9IGNhdGNoKGUpewogICAgJEVSUk9SKCcjMTogdmFyIHg9X19mdW5jKCkgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24uIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.1_A7_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E3X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E3X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiUmV0dXJuaW5nIG51bGwuIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJ2YXIgX19mdW5jID0gZnVuY3Rpb24gKClcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uICgpewogICAgdmFyIHggPSBudWxsOwogICAgcmV0dXJuIHg7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewogICAgdmFyIHg9X19mdW5jKCk7Cn0gY2F0Y2goZSl7CiAgICAkRVJST1IoJyMxOiB2YXIgeD1fX2Z1bmMoKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbi4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.1_A7_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E3X1QzIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E3X1QzLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiUmV0dXJuaW5nIG51bWJlci4gRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCBcImZ1bmN0aW9uIF9fZnVuYygpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYygpewogICAgeCA9IDE7CiAgICByZXR1cm4geDsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCnRyeSB7Cgl4PXg7CgkkRVJST1IoJyMwOiAieD14IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7fQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewogICAgdmFyIF9feD1fX2Z1bmMoKQp9IGNhdGNoKGUpewogICAgJEVSUk9SKCcjMTogdmFyIF9feD1fX2Z1bmMoKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbi4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9feCAhPT0gMSkgewoJJEVSUk9SKCcjMjogX194ID09PSAxLiBBY3R1YWw6IF9feCA9PT0nK19feCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh4ICE9PSAxKSB7CgkkRVJST1IoJyMzOiB4ID09PSAxLiBBY3R1YWw6IHggPT09Jyt4KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgogfQp9KTsKCg==","id":"S13.2.1_A7_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E3X1Q0IiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E3X1Q0LmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiUmV0dXJuaW5nIGJvb2xlYW4uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX2Z1bmMoKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHZhciB4ID0gdHJ1ZTsKICAgIHJldHVybiB4Owp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKdHJ5IHsKCXg9eDsKCSRFUlJPUignIzA6ICJ4PXgiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHt9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnl7CiAgICB2YXIgX194PV9fZnVuYygpCn0gY2F0Y2goZSl7CiAgICAkRVJST1IoJyMxOiB2YXIgX194PV9fZnVuYygpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uLiBBY3R1YWw6IGV4Y2VwdGlvbiBpcyAnK2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIShfX3gpKSB7CgkkRVJST1IoJyMyOiBfX3ggPT09IHRydWUuIEFjdHVhbDogX194ID09PScrX194KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKdHJ5IHsKCXg9eDsKCSRFUlJPUignIzM6ICJ4PXgiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHt9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCiB9Cn0pOwoK","id":"S13.2.1_A7_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E4X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E4X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVGhyb3dpbmcgYW4gZXhjZXB0aW9uIHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHkuIERlY2xhcmluZyBmdW5jdGlvbiB3aXRoIFwiZnVuY3Rpb24gX19mdW5jKClcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gX19mdW5jKCl7CiAgICB2YXIgeCA9IDE7CiAgICB0aHJvdyAoIkNhdGNoIE1lIElmIFlvdSBDYW4iKQogICAgcmV0dXJuIHg7Cn0KCnRyeXsKICAgIHZhciB4PV9fZnVuYygpCiAgICAkRVJST1IoJyMwOiB2YXIgeD1fX2Z1bmMoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewogICAgaWYgKGUgIT09ICJDYXRjaCBNZSBJZiBZb3UgQ2FuIikgewogICAgCSRFUlJPUignIzE6IEV4Y2VwdGlvbiA9PT0gIkNhdGNoIE1lIElmIFlvdSBDYW4iLiBBY3R1YWw6IGV4Y2VwdGlvbiA9PT0nK2UpOwogICAgfQp9CgogfQp9KTsKCg==","id":"S13.2.1_A8_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E4X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E4X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBGIGlzIGNhbGxlZCwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IiwKCmRlc2NyaXB0aW9uOiAiVGhyb3dpbmcgYW4gZXhjZXB0aW9uIHdpdGhpbiBhIGZ1bmN0aW9uIGJvZHkuIERlY2xhcmluZyBmdW5jdGlvbiB3aXRoIFwidmFyIF9fZnVuYyA9IGZ1bmN0aW9uIChtZXNzYWdlKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgQ0FUQ0hfTUVfSUZfWU9VX0NBTiA9IHRydWU7Cgp2YXIgX19mdW5jID0gZnVuY3Rpb24gKG1lc3NhZ2UpewogICAgdmFyIHggPSAxOwogICAgdGhyb3cgKG1lc3NhZ2UpCiAgICByZXR1cm4geDsKfQoKdHJ5ewogICAgdmFyIHg9X19mdW5jKENBVENIX01FX0lGX1lPVV9DQU4pCiAgICAkRVJST1IoJyMwOiB2YXIgeD1fX2Z1bmMoQ0FUQ0hfTUVfSUZfWU9VX0NBTikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaChlKXsKICAgIGlmICghZSkgewogICAgCSRFUlJPUignIzE6IEV4Y2VwdGlvbiA9PT0gdHJ1ZS4gQWN0dWFsOiBleGNlcHRpb24gPT09JytlKTsKICAgIH0KfQoKIH0KfSk7Cgo=","id":"S13.2.1_A8_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E5LjFfVDEiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMl9DcmVhdGluZ19GdW5jdGlvbl9PYmplY3RzXFMxMy4yLjFfQTkuMV9UMS5qcyIsCgphc3NlcnRpb246ICJXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgaXMgY2FsbGVkLCIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX2Z1bmMoKVwiIGFuZCBubyBcInJldHVyblwiIGluIHRoZSBmdW5jdGlvbiBib2R5IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgeDsKCmZ1bmN0aW9uIF9fZnVuYygpewogICAgeCA9IHRydWU7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygpICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19mdW5jKCkgPT09JytfX2Z1bmMoKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIXgpIHsKCSRFUlJPUignIzI6IHggPT09IHRydWUuIEFjdHVhbDogeCA9PT0gJyt4KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.1_A9.1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E5LjFfVDIiLAoKcGF0aDogIjEzX0Z1bmN0aW9uX0RlZmluaXRpb25cMTMuMl9DcmVhdGluZ19GdW5jdGlvbl9PYmplY3RzXFMxMy4yLjFfQTkuMV9UMi5qcyIsCgphc3NlcnRpb246ICJXaGVuIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgaXMgY2FsbGVkLCIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJ2YXIgX19mdW5jID0gZnVuY3Rpb24oKVwiIGFuZCBubyBcInJldHVyblwiIGluIHRoZSBmdW5jdGlvbiBib2R5IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgeDsKCnZhciBfX2Z1bmMgPSBmdW5jdGlvbigpewogICAgeCA9IHRydWU7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygpICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19mdW5jKCkgPT09JytfX2Z1bmMoKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIXgpIHsKCSRFUlJPUignIzI6IHggPT09IHRydWUuIEFjdHVhbDogeCA9PT0gJyt4KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.1_A9.1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E5X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E5X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBpcyBjYWxsZWQsIiwKCmRlc2NyaXB0aW9uOiAiVXNpbmcgXCJyZXR1cm5cIiB3aXRoIG5vIGV4cHJlc3Npb24uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX2Z1bmMoKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgeDsgCgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIHggPSAxOwogICAgcmV0dXJuOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoKSAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2Z1bmMoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHghPT0xKSB7CgkkRVJST1IoJyMyOiB4ID09PSAxLiBBY3R1YWw6IHggPT09ICcreCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.1_A9_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4xX0E5X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4xX0E5X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ2FsbF1dIHByb3BlcnR5IGZvciBhIEZ1bmN0aW9uIG9iamVjdCBpcyBjYWxsZWQsIiwKCmRlc2NyaXB0aW9uOiAiVXNpbmcgXCJyZXR1cm5cIiB3aXRoIG5vIGV4cHJlc3Npb24uIERlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJ2YXIgX19mdW5jID0gZnVuY3Rpb24oKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgeDsgCgp2YXIgX19mdW5jID0gZnVuY3Rpb24oKXsKICAgIHggPSAxOwogICAgcmV0dXJuOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoKSAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2Z1bmMoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHghPT0xKSB7CgkkRVJST1IoJyMyOiB4ID09PSAxLiBBY3R1YWw6IHggPT09ICcreCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.1_A9_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExMCIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTAuanMiLAoKYXNzZXJ0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgaXMgcG9zc2libGUgYXMgbG9uZyBhcyB0aGlzLmFueV9GdW5jdGlvbiBpcyBkZWNsYXJlZCIsCgpkZXNjcmlwdGlvbjogIkNhbGxpbmcgYSBmdW5jdGlvbiBhcyBhIGNvbnN0cnVjdG9yIGFmdGVyIGl0IGhhcyBiZWVuIGRlY2xhcmVkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7CiAgIHRoaXMuaWQgPSAwOwogICAKICAgdGhpcy5mdW5jID0gZnVuY3Rpb24gKCl7CiAgICAgIHJldHVybiA1OwogICB9CiAgIAogICB0aGlzLmlkID0gdGhpcy5mdW5jKCk7CiAgICAgCn0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCk7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzE6IHZhciBvYmogPSBuZXcgRkFDVE9SWSgpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAob2JqLmlkICE9PSA1KSB7CgkkRVJST1IoJyMyOiBvYmouaWQgPT09IDUuIEFjdHVhbDogb2JqLmlkID09PScrb2JqLmlkKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.2_A10"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTEuanMiLAoKYXNzZXJ0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgaXMgcG9zc2libGUgYXMgbG9uZyBhcyB0aGlzLmFueV9GdW5jdGlvbiBpcyBkZWNsYXJlZCBhbmQgY2FsbGVkIiwKCmRlc2NyaXB0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgYWZ0ZXIgaXQgaGFzIGJlZW4gZGVjbGFyZWQgd2l0aCBcImZ1bmN0aW9uIGZ1bmMoKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7CiAgIHRoaXMuaWQgPSAwOwogICAgICAKICAgdGhpcy5pZCA9IHRoaXMuZnVuYygpOwogICAKICAgZnVuY3Rpb24gZnVuYygpewogICAgICByZXR1cm4gImlkX3N0cmluZyI7CiAgIH0KICAgICAKfQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7Cgl2YXIgb2JqID0gbmV3IEZBQ1RPUlkoKTsKCSRFUlJPUignIzE6IHZhciBvYmogPSBuZXcgRkFDVE9SWSgpIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHt9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCiB9Cn0pOwoK","id":"S13.2.2_A11"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTIuanMiLAoKYXNzZXJ0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgaXMgcG9zc2libGUgYXMgbG9uZyBhcyB0aGlzLmFueV9GdW5jdGlvbiBpcyBkZWNsYXJlZCBhbmQgY2FsbGVkIiwKCmRlc2NyaXB0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgYWZ0ZXIgaXQgaGFzIGJlZW4gZGVjbGFyZWQgd2l0aCBcImZ1bmN0aW9uIGZ1bmMoKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBGQUNUT1JZKCl7CiAgIHRoaXMuaWQgPSAwOwogICAgICAKICAgdGhpcy5pZCA9IGZ1bmMoKTsKICAgCiAgIGZ1bmN0aW9uIGZ1bmMoKXsKICAgICAgcmV0dXJuICJpZF9zdHJpbmciOwogICB9CiAgICAgCn0KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCk7Cn0gY2F0Y2ggKGUpIHsKCSRFUlJPUignIzE6IHZhciBvYmogPSBuZXcgRkFDVE9SWSgpIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uLiBBY3R1YWw6IEV4Y2VwdGlvbiBpcyAnK2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAob2JqLmlkICE9PSAiaWRfc3RyaW5nIikgewoJJEVSUk9SKCcjMjogb2JqLmlkID09PSAiaWRfc3RyaW5nIi4gQWN0dWFsOiBvYmouaWQgPT09JytvYmouaWQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A12"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExMyIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTMuanMiLAoKYXNzZXJ0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgaXMgaW5hZG1pc3NpYmxlIGFzIGxvbmcgYXMgdGhpcy5hbnlfRnVuY3Rpb24gaXMgZGVjbGFyZWQgYnkgZXZhbCBhbmQgY2FsbGVkIiwKCmRlc2NyaXB0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgYWZ0ZXIgaXQgaGFzIGJlZW4gZGVjbGFyZWQgYnkgZXZhbCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gRkFDVE9SWSgpewogICB0aGlzLmlkID0gMDsKICAgICAgCiAgIHRoaXMuaWQgPSBmdW5jKCk7CiAgIAogICBldmFsKCJmdW5jdGlvbiBmdW5jKCl7cmV0dXJuIFwiaWRfc3RyaW5nXCI7fSIpOwogICAgIAp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCXZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwoJJEVSUk9SKCcjMTogdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCkgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkge30KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A13"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNCIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTQuanMiLAoKYXNzZXJ0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgaXMgaW5hZG1pc3NpYmxlIGFzIGxvbmcgYXMgdGhpcy5hbnlfRnVuY3Rpb24gaXMgZGVjbGFyZWQgYnkgZXZhbCBhbmQgY2FsbGVkIiwKCmRlc2NyaXB0aW9uOiAiQ2FsbGluZyBhIGZ1bmN0aW9uIGFzIGEgY29uc3RydWN0b3IgYWZ0ZXIgaXQgaGFzIGJlZW4gZGVjbGFyZWQgYnkgZXZhbCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gRkFDVE9SWSgpewogICB0aGlzLmlkID0gMDsKICAgCiAgIGV2YWwoImZ1bmN0aW9uIGZ1bmMoKXtyZXR1cm4gXCJpZF9zdHJpbmdcIjt9Iik7CiAgICAgIAogICB0aGlzLmlkID0gZnVuYygpOwogICAgIAp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCXZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwp9IGNhdGNoIChlKSB7CgkkRVJST1IoJyMxOiB2YXIgb2JqID0gbmV3IEZBQ1RPUlkoKSBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A14"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNV9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTVfVDEuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gZGVjbGFyZWQgYXQgdGhlIGVuZCBvZiB0aGUgcHJvZ3JhbSBhbmQgXCJvYmpcIiBwcm9wZXJ0eSBpcyBkZWNsYXJlZCB3aXRoIFwidmFyIG9iaiA9IHt9XCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX29iaiA9IG5ldyBfX0ZBQ1RPUlkoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmogIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMxOiB0eXBlb2Ygb2JqID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiB0eXBlb2Ygb2JqID09PScrdHlwZW9mIG9iaik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iai5wcm9wICE9PSAiQSIpIHsKCSRFUlJPUignIzI6IF9fb2JqLnByb3AgPT09ICJBIi4gQWN0dWFsOiBfX29iai5wcm9wID09PScrX19vYmoucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX29iai5zbG90LnByb3AgIT09MSkgewoJJEVSUk9SKCcjMzogX19vYmouc2xvdC5wcm9wID09PTEuIEFjdHVhbDogX19vYmouc2xvdC5wcm9wID09PScrX19vYmouc2xvdC5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fRkFDVE9SWSgpewogICAgdGhpcy5wcm9wID0gMTsKICAgIHZhciBvYmogPSB7fTsKICAgIG9iai5wcm9wID0gIkEiOwogICAgb2JqLnNsb3QgPSB0aGlzOwogICAgcmV0dXJuIG9iajsKfQoKIH0KfSk7Cgo=","id":"S13.2.2_A15_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNV9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTVfVDIuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gZGVjbGFyZWQgYXQgdGhlIGVuZCBvZiB0aGUgcHJvZ3JhbSBhbmQgXCJvYmpcIiBwcm9wZXJ0eSBpcyBkZWNsYXJlZCB3aXRoIFwib2JqID0ge31cIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIF9fb2JqID0gbmV3IF9fRkFDVE9SWSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAob2JqLnByb3AgIT09ICJBIikgewoJJEVSUk9SKCcjMTogb2JqLnByb3AgPT09ICJBIi4gQWN0dWFsOiBvYmoucHJvcCA9PT0nK29iai5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLnByb3AgIT09ICJBIikgewoJJEVSUk9SKCcjMjogX19vYmoucHJvcCA9PT0gIkEiLiBBY3R1YWw6IF9fb2JqLnByb3AgPT09JytfX29iai5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fb2JqLnNsb3QucHJvcCAhPT0xKSB7CgkkRVJST1IoJyMzOiBfX29iai5zbG90LnByb3AgPT09IDEuIEFjdHVhbDogX19vYmouc2xvdC5wcm9wID09PScrX19vYmouc2xvdC5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fRkFDVE9SWSgpewogICAgdGhpcy5wcm9wID0gMTsKICAgIG9iaiA9IHt9OwogICAgb2JqLnByb3AgPSAiQSI7CiAgICBvYmouc2xvdCA9IHRoaXM7CiAgICByZXR1cm4gb2JqOwp9CgogfQp9KTsKCg==","id":"S13.2.2_A15_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNV9UMyIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTVfVDMuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gZGVjbGFyZWQgYXQgdGhlIGVuZCBvZiB0aGUgcHJvZ3JhbSBhbmQgXCJvYmpcIiBwcm9wZXJ0eSBpcyBkZWNsYXJlZCB3aXRoIFwidmFyIG9iaiA9IHt9XCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIF9fRkFDVE9SWSA9IGZ1bmN0aW9uICgpewogICAgdGhpcy5wcm9wID0gMTsKICAgIHZhciBvYmogPSB7fTsKICAgIG9iai5wcm9wID0gIkEiOwogICAgb2JqLnNsb3QgPSB0aGlzOwogICAgcmV0dXJuIG9iajsKfQoKX19vYmogPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIG9iaiA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIG9iaiA9PT0nK3R5cGVvZiBvYmopOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoucHJvcCAhPT0gIkEiKSB7CgkkRVJST1IoJyMyOiBfX29iai5wcm9wID09PSAiQSIuIEFjdHVhbDogX19vYmoucHJvcCA9PT0nK19fb2JqLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19vYmouc2xvdC5wcm9wICE9PTEpIHsKCSRFUlJPUignIzM6IF9fb2JqLnNsb3QucHJvcCA9PT0xLiBBY3R1YWw6IF9fb2JqLnNsb3QucHJvcCA9PT0nK19fb2JqLnNsb3QucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A15_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNV9UNCIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTVfVDQuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiB0aGUgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eSBmb3IgYSBGdW5jdGlvbiBvYmplY3QgRiBpcyBjYWxsZWQsIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gZGVjbGFyZWQgYXQgdGhlIGVuZCBvZiB0aGUgcHJvZ3JhbSBhbmQgXCJvYmpcIiBwcm9wZXJ0eSBpcyBkZWNsYXJlZCB3aXRoIFwib2JqID0ge31cIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgX19GQUNUT1JZID0gZnVuY3Rpb24oKXsKICAgIHRoaXMucHJvcCA9IDE7CiAgICBvYmogPSB7fTsKICAgIG9iai5wcm9wID0gIkEiOwogICAgb2JqLnNsb3QgPSB0aGlzOwogICAgcmV0dXJuIG9iajsKfQoKX19vYmogPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChvYmoucHJvcCAhPT0gIkEiKSB7CgkkRVJST1IoJyMxOiBvYmoucHJvcCA9PT0gIkEiLiBBY3R1YWw6IG9iai5wcm9wID09PScrb2JqLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoucHJvcCAhPT0gIkEiKSB7CgkkRVJST1IoJyMyOiBfX29iai5wcm9wID09PSAiQSIuIEFjdHVhbDogX19vYmoucHJvcCA9PT0nK29iai5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fb2JqLnNsb3QucHJvcCAhPT0xKSB7CgkkRVJST1IoJyMzOiBfX29iai5zbG90LnByb3AgPT09MS4gQWN0dWFsOiBfX29iai5zbG90LnByb3AgPT09JytvYmouc2xvdC5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgogfQp9KTsKCg==","id":"S13.2.2_A15_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNl9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTZfVDEuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25FeHByZXNzaW9uIHdpdGhpbiBhIG5ldyBzdGF0ZW1lbnQgaXMgYWRtaXR0ZWQiLAoKZGVzY3JpcHRpb246ICJVc2luZyBcImlzIF9fb2JqID0gbmV3IGZ1bmN0aW9uIF9fZnVuYygpe3RoaXMucHJvcD0xO31cIiBhcyBGdW5jdGlvbkV4cHJlc3Npb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBuZXcgZnVuY3Rpb24gX19mdW5jKCl7dGhpcy5wcm9wPTE7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLnByb3AgIT09IDEpIHsKCSRFUlJPUignIzI6IF9fb2JqLnByb3AgPT09IDEuIEFjdHVhbDogX19vYmoucHJvcCA9PT0nK19fb2JqLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fZnVuYyAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzU6IHR5cGVvZiBfX2Z1bmMgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IHR5cGVvZiBfX2Z1bmMgPT09Jyt0eXBlb2YgX19mdW5jKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.2_A16_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNl9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTZfVDIuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25FeHByZXNzaW9uIHdpdGhpbiBhIG5ldyBzdGF0ZW1lbnQgaXMgYWRtaXR0ZWQiLAoKZGVzY3JpcHRpb246ICJVc2luZyBcInZhciBfX29iaiA9IG5ldyBmdW5jdGlvbiBfX2Z1bmMoYXJnKXt0aGlzLnByb3A9YXJnO30oNSlcIiBhcyBGdW5jdGlvbkV4cHJlc3Npb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBuZXcgZnVuY3Rpb24gX19mdW5jKGFyZyl7dGhpcy5wcm9wPWFyZzt9KDUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoucHJvcCAhPT0gNSkgewoJJEVSUk9SKCcjMjogX19vYmoucHJvcCA9PT0gNS4gQWN0dWFsOiBfX29iai5wcm9wID09PScrX19vYmoucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19mdW5jICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMzogdHlwZW9mIF9fZnVuYyA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A16_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExNl9UMyIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTZfVDMuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25FeHByZXNzaW9uIHdpdGhpbiBhIG5ldyBzdGF0ZW1lbnQgaXMgYWRtaXR0ZWQiLAoKZGVzY3JpcHRpb246ICJVc2luZyBcImlzIF9fb2JqID0gbmV3IGZ1bmN0aW9uIF9fZnVuYyhhcmcpe3RoaXMucHJvcD1hcmc7IHJldHVybiB7ZmVhdDogKythcmd9fSg1KVwiIGFzIEZ1bmN0aW9uRXhwcmVzc2lvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYyAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2Z1bmMgPT09ICJ1bmRlZmluZWQiJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBuZXcgZnVuY3Rpb24gX19mdW5jKGFyZyl7dGhpcy5wcm9wPWFyZzsgcmV0dXJuIHtmZWF0OiArK2FyZ319KDUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoucHJvcCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMyOiBfX29iai5wcm9wID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19vYmoucHJvcCA9PT0nK19fb2JqLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19vYmouZmVhdCAhPT0gNikgewoJJEVSUk9SKCcjMzogX19vYmouZmVhdCA9PT0gNi4gQWN0dWFsOiBfX29iai5mZWF0ID09PScrX19vYmouZmVhdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmICh0eXBlb2YgX19mdW5jICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjNDogdHlwZW9mIF9fZnVuYyA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogdHlwZW9mIF9fZnVuYyA9PT0nK3R5cGVvZiBfX2Z1bmMpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A16_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExN19UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTdfVDIuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25FeHByZXNzaW9uIGNvbnRhaW5pbmcgXCJ3aXRoXCIgc3RhdGVtZW50IGlzIGFkbWl0dGVkIiwKCmRlc2NyaXB0aW9uOiAiVGhyb3dpbmcgYW4gZXhjZXB0aW9uIHdpdGhpbiBcIndpdGhcIiBzdGF0ZW1lbnQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHRoaXMucDE9ImFsZXJ0IjsKCl9fb2JqPXtwMToxLGdldFJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuICJyaWdodCI7fX07CgpnZXRSaWdodD1mdW5jdGlvbigpe3JldHVybiAibmFwcmF2byI7fTsKCnRyeSB7CgkoZnVuY3Rpb24oKXsKICAgICAgICB3aXRoKF9fb2JqKXsKICAgICAgICAgICAgcDE9IncxIjsKICAgICAgICAgICAgZ2V0UmlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fQogICAgICAgICAgICB0aHJvdyBwMTsKICAgICAgICB9CiAgICB9KSgpOwp9IGNhdGNoIChlKSB7CglyZXN1a3QgPSBwMTsKfQoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHAxIT09ImFsZXJ0IikgewoJJEVSUk9SKCcjMTogcDEgPT09ICJhbGVydCIuIEFjdHVhbDogcDE9PT0nK3AxKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKGdldFJpZ2h0KCkhPT0ibmFwcmF2byIpIHsKCSRFUlJPUignIzI6IGdldFJpZ2h0KCkgPT09ICJuYXByYXZvIi4gQWN0dWFsOiBnZXRSaWdodCgpID09PSAnK2dldFJpZ2h0KCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19vYmoucDEhPT0idzEiKSB7CgkkRVJST1IoJyMzOiBfX29iai5wMSA9PT0gIncxIi4gQWN0dWFsOiBfX29iai5wMSA9PT0nK19fb2JqLnAxKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fb2JqLmdldFJpZ2h0KCkhPT1mYWxzZSkgewoJJEVSUk9SKCcjNDogX19vYmouZ2V0UmlnaHQoKSA9PT0gZmFsc2UuIEFjdHVhbDogX19vYmouZ2V0UmlnaHQoKSA9PT0gJytfX29iai5nZXRSaWdodCgpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHJlc3VrdCAhPT0gImFsZXJ0IikgewoJJEVSUk9SKCcjNTogcmVzdWt0ID09PSAiYWxlcnQiLiBBY3R1YWw6IHJlc3VrdCA9PT0nK3Jlc3VrdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgcmVzdWt0OwoKCiB9Cn0pOwoK","id":"S13.2.2_A17_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExN19UMyIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTdfVDMuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25FeHByZXNzaW9uIGNvbnRhaW5pbmcgXCJ3aXRoXCIgc3RhdGVtZW50IGlzIGFkbWl0dGVkIiwKCmRlc2NyaXB0aW9uOiAiSW4gdGhlIGNoZWNrIDQgd2UgcG9wdWxhdGUgZmllbGQgZ2V0UmlnaHQgaW4gX19vYmogb2JqZWN0IHNpbmNlIHZhciBnZXRSaWdodCBkZWNsYXJhdGlvbiBhZGRzIHZhcmlhYmxlIHRvIGZ1bmN0aW9uIHNjb3BlIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBwMT0iYWxlcnQiOwoKdGhpcy5fX29iaj17cDE6MSxnZXRSaWdodDpmdW5jdGlvbigpe3JldHVybiAicmlnaHQiO319OwoKdmFyIGdldFJpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuICJuYXByYXZvIjt9OwoKcmVzdWt0PShmdW5jdGlvbigpewogICAgd2l0aChfX29iail7CiAgICAgICAgcDE9IncxIjsKICAgICAgICB2YXIgZ2V0UmlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fTsKICAgICAgICByZXR1cm4gcDE7CiAgICB9Cn0pKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChwMSE9PSJhbGVydCIpIHsKCSRFUlJPUignIzE6IHAxID09PSAiYWxlcnQiLiBBY3R1YWw6IHAxPT09JytwMSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChnZXRSaWdodCgpIT09Im5hcHJhdm8iKSB7CgkkRVJST1IoJyMyOiBnZXRSaWdodCgpID09PSAibmFwcmF2byIuIEFjdHVhbDogZ2V0UmlnaHQoKT09PScrZ2V0UmlnaHQoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX29iai5wMSE9PSJ3MSIpIHsKCSRFUlJPUignIzM6IF9fb2JqLnAxID09PSAidzEiLiBBY3R1YWw6IF9fb2JqLnAxID09PScrX19vYmoucDEpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19vYmouZ2V0UmlnaHQoKSE9PWZhbHNlKSB7CgkkRVJST1IoJyM0OiBfX29iai5nZXRSaWdodCgpID09PSBmYWxzZS4gQWN0dWFsOiBfX29iai5nZXRSaWdodCgpPT09JytfX29iai5nZXRSaWdodCgpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHJlc3VrdCAhPT0gIncxIikgewoJJEVSUk9SKCcjNTogcmVzdWt0ID09PSAidzEiLiBBY3R1YWw6IHJlc3VrdCA9PT0nK3Jlc3VrdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgcmVzdWt0OwoKCiB9Cn0pOwoK","id":"S13.2.2_A17_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExOV9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTlfVDEuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25cJ3Mgc2NvcGUgY2hhaW4gaXMgc3RhcnRlZCB3aGVuIGl0IGlzIGRlY2xhcmVkIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gaXMgZGVjbGFyZWQgaW4gdGhlIGdsb2JhbCBzY29wZSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGEgPSAxOwoKdmFyIF9fZnVuYz0gZnVuY3Rpb24oKXtyZXR1cm4gYTt9OwoKdmFyIF9fb2JqID0ge2E6Mn07Cgp3aXRoIChfX29iaikKewogICAgcmVzdWx0ID0gX19mdW5jKCk7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHJlc3VsdCAhPT0gMSkgewoJJEVSUk9SKCcjMTogcmVzdWx0ID09PSAxLiBBY3R1YWw6IHJlc3VsdCA9PT0nK3Jlc3VsdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A19_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExOV9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTlfVDIuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25cJ3Mgc2NvcGUgY2hhaW4gaXMgc3RhcnRlZCB3aGVuIGl0IGlzIGRlY2xhcmVkIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gaXMgZGVjbGFyZWQgaW4gdGhlIG9iamVjdCBzY29wZS4gVXNpbmcgXCJ3aXRoXCIgc3RhdGVtZW50IiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYSA9IDE7Cgp2YXIgX19vYmogPSB7YToyfTsKCndpdGggKF9fb2JqKQp7CiAgICByZXN1bHQgPSAoZnVuY3Rpb24oKXtyZXR1cm4gYTt9KSgpOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChyZXN1bHQgIT09IDIpIHsKCSRFUlJPUignIzE6IHJlc3VsdCA9PT0gMi4gQWN0dWFsOiByZXN1bHQgPT09JytyZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A19_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExOV9UMyIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTlfVDMuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25cJ3Mgc2NvcGUgY2hhaW4gaXMgc3RhcnRlZCB3aGVuIGl0IGlzIGRlY2xhcmVkIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gaXMgZGVjbGFyZWQgaW4gdGhlIG9iamVjdCBzY29wZSBhbmQgdGhlbiBhbiBleGNlcHRpb24gaXMgdGhyb3duIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYSA9IDE7Cgp2YXIgX19vYmogPSB7YToyfTsKCnRyeSB7Cgl3aXRoIChfX29iaikKICAgIHsKICAgICAgICB2YXIgX19mdW5jID0gZnVuY3Rpb24gKCl7cmV0dXJuIGE7fTsKICAgICAgICB0aHJvdyAzOwogICAgfQp9IGNhdGNoIChlKSB7Cgk7Cn0KCnJlc3VsdCA9IF9fZnVuYygpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAocmVzdWx0ICE9PSAyKSB7CgkkRVJST1IoJyMxOiByZXN1bHQgPT09IDIuIEFjdHVhbDogcmVzdWx0ID09PScrcmVzdWx0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCiB9Cn0pOwoK","id":"S13.2.2_A19_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExOV9UNCIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTlfVDQuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25cJ3Mgc2NvcGUgY2hhaW4gaXMgc3RhcnRlZCB3aGVuIGl0IGlzIGRlY2xhcmVkIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gaXMgZGVjbGFyZWQgaW4gdGhlIGhpZXJhcmNoaWNhbCBvYmplY3Qgc2NvcGUgYW5kIHRoZW4gYW4gZXhjZXB0aW9uIGlzIHRocm93biIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIGEgPSAxOwoKdmFyIF9fb2JqID0ge2E6MixfX29iajp7YTozfX07Cgp0cnkgewoJd2l0aCAoX19vYmopCiAgICB7CiAgICAgICAgd2l0aChfX29iail7CiAgICAgICAgICAgIHZhciBfX2Z1bmMgPSBmdW5jdGlvbigpe3JldHVybiBhO307CiAgICAgICAgICAgIHRocm93IDU7CiAgICAgICAgfQogICAgfQp9IGNhdGNoIChlKSB7Cgk7Cn0KCnJlc3VsdCA9IF9fZnVuYygpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAocmVzdWx0ICE9PSAzKSB7CgkkRVJST1IoJyMxOiByZXN1bHQgPT09IDMuIEFjdHVhbDogcmVzdWx0ID09PScrcmVzdWx0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKCiB9Cn0pOwoK","id":"S13.2.2_A19_T4"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExOV9UNSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTlfVDUuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25cJ3Mgc2NvcGUgY2hhaW4gaXMgc3RhcnRlZCB3aGVuIGl0IGlzIGRlY2xhcmVkIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gaXMgZGVjbGFyZWQgaW4gdGhlIG9iamVjdCBzY29wZSwgdGhlbiBhbiBleGNlcHRpb24gaXMgdGhyb3duIGFuZCB0aGUgb2JqZWN0IGlzIGRlbGV0ZWQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBhID0gMTsKCnZhciBfX29iaiA9IHthOjJ9OwoKd2l0aCAoX19vYmopCnsKICAgIHRyeSB7CiAgICAgICAgCiAgICAJdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBhOwogICAgICAgIH0KICAgICAgICB0aHJvdyAzOwogICAgfSBjYXRjaCAoZSkgewogICAgCTsKICAgIH0KfQoKZGVsZXRlIF9fb2JqOwoKcmVzdWx0ID0gX19mdW5jKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChyZXN1bHQgIT09IDIpIHsKCSRFUlJPUignIzE6IHJlc3VsdCA9PT0gMi4gQWN0dWFsOiByZXN1bHQgPT09JytyZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A19_T5"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExOV9UNiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTlfVDYuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25cJ3Mgc2NvcGUgY2hhaW4gaXMgc3RhcnRlZCB3aGVuIGl0IGlzIGRlY2xhcmVkIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gaXMgZGVjbGFyZWQgaW4gdGhlIFwib2JqZWN0LT5kby13aGlsZVwiIHNjb3BlLCB0aGVuIHRoZSBvYmplY3QgaXMgZGVsZXRlZCBhbmQgYW5vdGhlciBvYmplY3Qgd2l0aCB0aGUgc2FtZSBuYW1lIGlzIGRlY2xhcmVkIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgYSA9IDE7Cgp2YXIgX19vYmogPSB7YToyfTsKCndpdGggKF9fb2JqKQp7CiAgICBkbyB7CiAgICAgICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBhOwogICAgICAgIH0KICAgIH0gd2hpbGUoMCk7Cn0KCmRlbGV0ZSBfX29iajsKCnZhciBfX29iaiA9IHthOjN9OwoKd2l0aCAoX19vYmopCnsKICAgIHJlc3VsdCA9IF9fZnVuYygpOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChyZXN1bHQgIT09IDIpIHsKCSRFUlJPUignIzE6IHJlc3VsdCA9PT0gMi4gQWN0dWFsOiByZXN1bHQgPT09JytyZXN1bHQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCgoKCgogfQp9KTsKCg==","id":"S13.2.2_A19_T6"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExOV9UOCIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjIuMl9BMTlfVDguanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25cJ3Mgc2NvcGUgY2hhaW4gaXMgc3RhcnRlZCB3aGVuIGl0IGlzIGRlY2xhcmVkIiwKCmRlc2NyaXB0aW9uOiAiRnVuY3Rpb24gaXMgZGVjbGFyZWQgbXVsdGlwbHkgdGltZXMiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKHR5cGVvZiBfX2Z1bmMgIT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyMwOiB0eXBlb2YgX19mdW5jID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiB0eXBlb2YgX19mdW5jID09PScrdHlwZW9mIF9fZnVuYyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgYSA9IDEsIGIgPSAiYSI7Cgp2YXIgX19vYmogPSB7YToyfTsKCndpdGggKF9fb2JqKQp7CiAgICB3aGlsZSgxKXsKICAgICAgICB2YXIgIF9fZnVuYyA9IGZ1bmN0aW9uKCkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBhOwogICAgICAgIH0KICAgICAgICBicmVhazsKICAgIH0KfQoKZGVsZXRlIF9fb2JqOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jKCkgIT09IDIpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSAyLiBBY3R1YWw6IF9fZnVuYygpID09PScrX19mdW5jKCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0ge2E6MyxiOiJiIn07Cgp3aXRoIChfX29iaikKewogICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCkKICAgIHsKICAgICAgICByZXR1cm4gYjsKICAgIH0KfQoKZGVsZXRlIF9fb2JqOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jKCkhPT0iYiIpIHsKCSRFUlJPUignIzI6IF9fZnVuYygpPT09ImIiLiBBY3R1YWw6IF9fZnVuYygpPT09JytfX2Z1bmMoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp3aXRoICh7YTo5OSxiOiJjIn0pCnsKICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgLy9DSEVDSyMzCiAgICBpZiAoX19mdW5jKCkgIT09ICJiIikgewogICAgCSRFUlJPUignIzM6IF9fZnVuYygpPT09ImIiLiBBY3R1YWw6IF9fZnVuYygpPT09JytfX2Z1bmMoKSk7CiAgICB9CiAgICAvLwogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCn0KCiB9Cn0pOwoK","id":"S13.2.2_A19_T8"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExX1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0ExX1QxLmpzIiwKCmFzc2VydGlvbjogIlNpbmNlIGEgZnVuY3Rpb24gaXMgYW4gb2JqZWN0LCBpdCBtaWdodCBiZSBzZXQgdG8gW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBhIG5ldyBjcmVhdGVkIG9iamVjdCB0aHJvdWdoIFtbQ29uc3RydWN0XV0gcHJvcGVydHkiLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoIFwiZnVuY3Rpb24gX19mdW5jKClcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIF9fTU9OU1RFUj0ibW9uc3RlciI7CnZhciBfX1BSRURBVE9SPSJwcmVkYXRvciI7CgpmdW5jdGlvbiBfX1BST1RPKCl7fTsKCnRyeXsKICAgIF9fUFJPVE8udHlwZT1fX01PTlNURVI7Cn0KY2F0Y2goZSl7CiAgICAkRVJST1IoJyMwOiBfX1BST1RPLnR5cGU9X19NT05TVEVSIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJykKfQoKZnVuY3Rpb24gX19GQUNUT1JZKCl7dGhpcy5uYW1lPV9fUFJFREFUT1J9OwoKX19GQUNUT1JZLnByb3RvdHlwZT1fX1BST1RPOwoKdmFyIF9fbW9uc3RlciA9IG5ldyBfX0ZBQ1RPUlkoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoX19QUk9UTy5pc1Byb3RvdHlwZU9mKF9fbW9uc3RlcikpKSB7CgkkRVJST1IoJyMxOiBfX1BST1RPLmlzUHJvdG90eXBlT2YoX19tb25zdGVyKSBtdXN0IGJlIHRydWUnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbW9uc3Rlci50eXBlICE9PV9fTU9OU1RFUikgewoJJEVSUk9SKCcjMjogX19tb25zdGVyLnR5cGUgPT09X19NT05TVEVSLiBBY3R1YWw6IF9fbW9uc3Rlci50eXBlID09PScrX19tb25zdGVyLnR5cGUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0ExX1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0ExX1QyLmpzIiwKCmFzc2VydGlvbjogIlNpbmNlIGEgZnVuY3Rpb24gaXMgYW4gb2JqZWN0LCBpdCBtaWdodCBiZSBzZXQgdG8gW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBhIG5ldyBjcmVhdGVkIG9iamVjdCB0aHJvdWdoIFtbQ29uc3RydWN0XV0gcHJvcGVydHkiLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoIFwidmFyIF9fUFJPVE8gPSBmdW5jdGlvbigpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX01PTlNURVI9Im1vbnN0ZXIiOwp2YXIgX19QUkVEQVRPUj0icHJlZGF0b3IiOwoKdmFyIF9fUFJPVE8gPSBmdW5jdGlvbigpe307Cgp0cnl7CiAgICBfX1BST1RPLnR5cGU9X19NT05TVEVSOwp9CmNhdGNoKGUpewogICAgJEZBSUwoJyMwOiBfX1BST1RPLnR5cGU9X19NT05TVEVSIGRvZXMgbm90IGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJykKfQoKdmFyIF9fRkFDVE9SWSA9IGZ1bmN0aW9uKCl7dGhpcy5uYW1lPV9fUFJFREFUT1J9OwoKX19GQUNUT1JZLnByb3RvdHlwZT1fX1BST1RPOwoKdmFyIF9fbW9uc3RlciA9IG5ldyBfX0ZBQ1RPUlkoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoX19QUk9UTy5pc1Byb3RvdHlwZU9mKF9fbW9uc3RlcikpKSB7CgkkRVJST1IoJyMxOiBfX1BST1RPLmlzUHJvdG90eXBlT2YoX19tb25zdGVyKSBtdXN0IGJlIHRydWUnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbW9uc3Rlci50eXBlICE9PV9fTU9OU1RFUikgewoJJEVSUk9SKCcjMjogX19tb25zdGVyLnR5cGUgPT09X19NT05TVEVSLiBBY3R1YWw6IF9fbW9uc3Rlci50eXBlID09PScrX19tb25zdGVyLnR5cGUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0EyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0EyLmpzIiwKCmFzc2VydGlvbjogIlNpbmNlIGEgZnVuY3Rpb24gaXMgYW4gb2JqZWN0LCBpdCBtaWdodCBiZSBzZXQgdG8gW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBhIG5ldyBjcmVhdGVkIG9iamVjdCB0aHJvdWdoIFtbQ29uc3RydWN0XV0gcHJvcGVydHksIiwKCmRlc2NyaXB0aW9uOiAiVHJ5aW5nIHRvIFtbY2FsbF1dIHRoaXMgZnVuY3Rpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX1BMQU5UPSJmbG93ZXIiOwp2YXIgX19ST1NFPSJyb3NlIjsKCmZ1bmN0aW9uIF9fUFJPVE8oKXt9OwoKdHJ5ewogICAgX19QUk9UTy50eXBlPV9fUExBTlQ7Cn0KY2F0Y2goZSl7CiAgICAkRVJST1IoJyMwOiBfX1BST1RPLnR5cGU9X19QTEFOVCBkb2VzIG5vdCBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpCn0KCmZ1bmN0aW9uIF9fRkFDVE9SWSgpe3RoaXMubmFtZT1fX1JPU0V9OwoKX19GQUNUT1JZLnByb3RvdHlwZT1fX1BST1RPOwoKdmFyIF9fcm9zZSA9IG5ldyBfX0ZBQ1RPUlkoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5ewogICAgX19yb3NlKCk7CiAgICAkRVJST1IoJyMxOiBfX3Jvc2UoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoKGUpewogICAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgIAkkRVJST1IoJyMyOiBFeGNlcHRpb24gVHlwZSBpcyBUeXBlRXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uID09PScrZSk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0EzX1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0EzX1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX0ZBQ1RPUlkoKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX0ZBQ1RPUlkoKXt9OwpfX0ZBQ1RPUlkucHJvdG90eXBlPTE7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19GQUNUT1JZLnByb3RvdHlwZSAhPT0gJ251bWJlcicpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PSBcJ251bWJlclwnLiBBY3R1YWw6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PScrKHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19kZXZpY2UgPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2RldmljZSkpKSB7CgkkRVJST1IoJyMyOiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19kZXZpY2UpID09PSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A3_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0EzX1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0EzX1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJ2YXIgX19GQUNUT1JZID0gZnVuY3Rpb24oKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgX19GQUNUT1JZID0gZnVuY3Rpb24oKXt9OwpfX0ZBQ1RPUlkucHJvdG90eXBlPTE7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19GQUNUT1JZLnByb3RvdHlwZSAhPT0gJ251bWJlcicpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PSBcJ251bWJlclwnLiBBY3R1YWw6IHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlID09PScrKHR5cGVvZiBfX0ZBQ1RPUlkucHJvdG90eXBlKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19kZXZpY2UgPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2RldmljZSkpKSB7CgkkRVJST1IoJyMyOiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19kZXZpY2UpID09PSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A3_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E0X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E0X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX0ZBQ1RPUlkoKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgX19DVUJFPSJjdWJlIjsKCmZ1bmN0aW9uIF9fRkFDVE9SWSgpewp9OwpfX0ZBQ1RPUlkucHJvdG90eXBlPXsgc2hhcGU6X19DVUJFLCBwcmludFNoYXBlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2hhcGU7fSB9OwoKdmFyIF9fZGV2aWNlID0gbmV3IF9fRkFDVE9SWSgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19kZXZpY2UucHJpbnRTaGFwZSA9PT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2RldmljZS5wcmludFNoYXBlICE9PSB1bmRlZmluZWQuIEFjdHVhbDogX19kZXZpY2UucHJpbnRTaGFwZSA9PT0nK19fZGV2aWNlLnByaW50U2hhcGUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19kZXZpY2UucHJpbnRTaGFwZSgpICE9PSBfX0NVQkUpIHsKCSRFUlJPUignIzI6IF9fZGV2aWNlLnByaW50U2hhcGUoKSA9PT0gX19DVUJFLiBBY3R1YWw6IF9fZGV2aWNlLnByaW50U2hhcGUoKSA9PT0nK19fZGV2aWNlLnByaW50U2hhcGUoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A4_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E0X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E0X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJfX0ZBQ1RPUlkgPSBmdW5jdGlvbigpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIF9fQ1VCRT0iY3ViZSI7CgpfX0ZBQ1RPUlkgPSBmdW5jdGlvbigpe307CgpfX0ZBQ1RPUlkucHJvdG90eXBlPXsgc2hhcGU6X19DVUJFLCBwcmludFNoYXBlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2hhcGU7fSB9OwoKX19kZXZpY2UgPSBuZXcgX19GQUNUT1JZKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2RldmljZS5wcmludFNoYXBlID09PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZGV2aWNlLnByaW50U2hhcGUgIT09IHVuZGVmaW5lZC4gQWN0dWFsOiBfX2RldmljZS5wcmludFNoYXBlID09PScrX19kZXZpY2UucHJpbnRTaGFwZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2RldmljZS5wcmludFNoYXBlKCkgIT09IF9fQ1VCRSkgewoJJEVSUk9SKCcjMjogX19kZXZpY2UucHJpbnRTaGFwZSgpID09PSBfX0NVQkUuIEFjdHVhbDogX19kZXZpY2UucHJpbnRTaGFwZSgpID09PScrX19kZXZpY2UucHJpbnRTaGFwZSgpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.2_A4_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E1X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E1X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX0ZBQ1RPUlkoYXJnMSwgYXJnMilcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgX19WT0xVTUU9ODsKX19SRUQ9InJlZCI7Cl9fSUQ9MTIzNDI7Cl9fVE9QPTEuMTsKX19CT1RUT009MC4wOwpfX0xFRlQ9MC4wOwoKCmZ1bmN0aW9uIF9fRkFDVE9SWShhcmcxLCBhcmcyKXsKCXRoaXMudm9sdW1lPV9fVk9MVU1FOwoJY29sb3I9X19SRUQ7Cgl0aGlzLmlkPWFyZzE7Cgl0b3A9YXJnMjsKCXRoaXMuYm90dG9tPWFyZ3VtZW50c1szXTsKCWxlZnQ9YXJndW1lbnRzWzRdOwp9OwoKX19kZXZpY2UgPSBuZXcgX19GQUNUT1JZKF9fSUQsIF9fVE9QLCBfX0JPVFRPTSwgX19MRUZUKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZGV2aWNlLmNvbG9yICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZGV2aWNlLmNvbG9yID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19kZXZpY2UuY29sb3IgPT09JytfX2RldmljZS5jb2xvcik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2RldmljZS52b2x1bWUgIT09IF9fVk9MVU1FKSB7CgkkRVJST1IoJyMyOiBfX2RldmljZS52b2x1bWUgPT09IF9fVk9MVU1FLiBBY3R1YWw6IF9fZGV2aWNlLnZvbHVtZSA9PT0nK19fZGV2aWNlLnZvbHVtZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX2RldmljZS50b3AgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMzogX19kZXZpY2UudG9wID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19kZXZpY2UudG9wID09PScrX19kZXZpY2UudG9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fZGV2aWNlLmlkICE9PSBfX0lEKSB7CgkkRVJST1IoJyM0OiBfX2RldmljZS5pZCA9PT0gX19JRC4gQWN0dWFsOiBfX2RldmljZS5pZCA9PT0nK19fZGV2aWNlLmlkKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fZGV2aWNlLmxlZnQgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjNTogX19kZXZpY2UubGVmdCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZGV2aWNlLmxlZnQgPT09JytfX2RldmljZS5sZWZ0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYgKF9fZGV2aWNlLmJvdHRvbSAhPT0gX19CT1RUT00pIHsKCSRFUlJPUignIzY6IF9fZGV2aWNlLmJvdHRvbSA9PT0gX19CT1RUT00uIEFjdHVhbDogX19kZXZpY2UuYm90dG9tID09PScrX19kZXZpY2UuYm90dG9tKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.2_A5_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E1X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E1X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJfX0ZBQ1RPUlkgPSBmdW5jdGlvbihhcmcxLCBhcmcyKVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBfX1ZPTFVNRT04OwpfX1JFRD0icmVkIjsKX19JRD0xMjM0MjsKX19UT1A9MS4xOwpfX0JPVFRPTT0wLjA7Cl9fTEVGVD0wLjA7CgoKX19GQUNUT1JZID0gZnVuY3Rpb24oYXJnMSwgYXJnMil7Cgl0aGlzLnZvbHVtZT1fX1ZPTFVNRTsKCWNvbG9yPV9fUkVEOwoJdGhpcy5pZD1hcmcxOwoJdG9wPWFyZzI7Cgl0aGlzLmJvdHRvbT1hcmd1bWVudHNbM107CglsZWZ0PWFyZ3VtZW50c1s0XTsKfTsKCl9fZGV2aWNlID0gbmV3IF9fRkFDVE9SWShfX0lELCBfX1RPUCwgX19CT1RUT00sIF9fTEVGVCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2RldmljZS5jb2xvciAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2RldmljZS5jb2xvciA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZGV2aWNlLmNvbG9yID09PScrX19kZXZpY2UuY29sb3IpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19kZXZpY2Uudm9sdW1lICE9PSBfX1ZPTFVNRSkgewoJJEVSUk9SKCcjMjogX19kZXZpY2Uudm9sdW1lID09PSBfX1ZPTFVNRS4gQWN0dWFsOiBfX2RldmljZS52b2x1bWUgPT09JytfX2RldmljZS52b2x1bWUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19kZXZpY2UudG9wICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzM6IF9fZGV2aWNlLnRvcCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fZGV2aWNlLnRvcCA9PT0nK19fZGV2aWNlLnRvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX2RldmljZS5pZCAhPT0gX19JRCkgewoJJEVSUk9SKCcjNDogX19kZXZpY2UuaWQgPT09IF9fSUQuIEFjdHVhbDogX19kZXZpY2UuaWQgPT09JytfX2RldmljZS5pZCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX2RldmljZS5sZWZ0ICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzU6IF9fZGV2aWNlLmxlZnQgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiBfX2RldmljZS5sZWZ0ID09PScrX19kZXZpY2UubGVmdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX2RldmljZS5ib3R0b20gIT09IF9fQk9UVE9NKSB7CgkkRVJST1IoJyM2OiBfX2RldmljZS5ib3R0b20gPT09IF9fQk9UVE9NLiBBY3R1YWw6IF9fZGV2aWNlLmJvdHRvbSA9PT0nK19fZGV2aWNlLmJvdHRvbSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A5_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E2X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E2X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJfX2Z1bmMgPSBmdW5jdGlvbihhcmcpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIF9fRk9PPSJmb29WYWx1ZSI7Cl9fQkFSPSJiYXJWYWx1ZSI7CgpfX2Z1bmMgPSBmdW5jdGlvbihhcmcpewoJdGhpcy5mb289YXJnOwogICAgcmV0dXJuIDA7Cgl0aGlzLmJhcj1hcmd1bWVudHNbMV07Cn07CgpfX29iaiA9IG5ldyBfX2Z1bmMoX19GT08sIF9fQkFSKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLmZvbyE9PV9fRk9PKSB7CgkkRVJST1IoJyMxOiBfX29iai5mb28gPT09IF9fRk9PLiBBY3R1YWw6IF9fb2JqLmZvbz09PScrX19vYmouZm9vKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqLmJhciE9PXVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMjogX19vYmouYmFyID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19vYmouYmFyPT09JytfX29iai5iYXIpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A6_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E2X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E2X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX2Z1bmMgKGFyZylcIiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIF9fRk9PPSJmb29WYWx1ZSI7CnZhciBfX0JBUj0iYmFyVmFsdWUiOwoKZnVuY3Rpb24gX19mdW5jIChhcmcpewoJdGhpcy5mb289YXJnOwogICAgcmV0dXJuIHRydWU7Cgl0aGlzLmJhcj1hcmd1bWVudHNbMV07Cn07Cgp2YXIgX19vYmogPSBuZXcgX19mdW5jKF9fRk9PLCBfX0JBUik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5mb28hPT1fX0ZPTykgewoJJEVSUk9SKCcjMTogX19vYmouZm9vID09PSBfX0ZPTy4gQWN0dWFsOiBfX29iai5mb289PT0nK19fb2JqLmZvbyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iai5iYXIhPT11bmRlZmluZWQpIHsKCSRFUlJPUignIzI6IF9fb2JqLmJhciA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9fb2JqLmJhcj09PScrX19vYmouYmFyKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2.2_A6_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E3X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E3X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJhcyBfX2Z1bmMgPSBmdW5jdGlvbihhcmcpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX0ZSU1Q9Im9uZSI7CnZhciBfX1NDTkQ9InR3byI7CgpmdW5jdGlvbiBfX2Z1bmMgKGFyZzEsIGFyZzIpewoJdGhpcy5maXJzdD1hcmcxOwoJdmFyIF9fb2JqPXtzZWNvbmQ6YXJnMn07CiAgICByZXR1cm4gX19vYmo7CgkKfTsKCnZhciBfX29ial9fID0gbmV3IF9fZnVuYyhfX0ZSU1QsIF9fU0NORCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29ial9fLmZpcnN0ICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fb2JqX18uZmlyc3QgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiBfX29ial9fLmZpcnN0PT09JytfX29ial9fLmZpcnN0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fb2JqX18uc2Vjb25kICE9PSBfX1NDTkQpIHsKCSRFUlJPUignIzI6IF9fb2JqX18uc2Vjb25kID09PSBfX1NDTkQuIEFjdHVhbDogX19vYmpfXy5zZWNvbmQgPT09JytfX29ial9fLnNlY29uZCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A7_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E3X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E3X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIFwiZnVuY3Rpb24gYXMgZnVuY3Rpb24gX19mdW5jIChhcmcpXCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIF9fRlJTVD0ib25lIjsKX19TQ05EPSJ0d28iOwoKX19mdW5jID0gZnVuY3Rpb24oYXJnMSwgYXJnMil7Cgl0aGlzLmZpcnN0PWFyZzE7Cgl2YXIgX19vYmo9e3NlY29uZDphcmcyfTsKICAgIHJldHVybiBfX29iajsKCQp9OwoKX19vYmpfXyA9IG5ldyBfX2Z1bmMoX19GUlNULCBfX1NDTkQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmpfXy5maXJzdCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX29ial9fLmZpcnN0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19vYmpfXy5maXJzdD09PScrX19vYmpfXy5maXJzdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29ial9fLnNlY29uZCAhPT0gX19TQ05EKSB7CgkkRVJST1IoJyMyOiBfX29ial9fLnNlY29uZCA9PT0gX19TQ05ELiBBY3R1YWw6IF9fb2JqX18uc2Vjb25kID09PScrX19vYmpfXy5zZWNvbmQpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2.2_A7_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E4X1QxIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E4X1QxLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkNyZWF0aW5nIGEgZnVuY3Rpb24gd2hvc2UgcHJvdG90eXBlIGNvbnRhaW5zIFwicmV0dXJuXCIgZm9sbG93ZWQgYnkgZGVjbGFyYXRpb24gb2YgYW5vdGhlciBmdW5jdGlvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIF9fRlJTVD0ib25lIjsKdmFyIF9fU0NORD0idHdvIjsKCnZhciBfX2Z1bmMgPSBmdW5jdGlvbihhcmcxLCBhcmcyKXsKCXRoaXMuZmlyc3Q9YXJnMTsKCQoJX19ndW5jLnByb3A9YXJnMjsKICAgIHJldHVybiBfX2d1bmM7CiAgICAvLyBmdW5jdGlvbiBkZWNsYXJhdGlvbgogICAgZnVuY3Rpb24gX19ndW5jKGFyZyl7cmV0dXJuICsrYXJnfTsKCQp9OwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgX19mdW5jKF9fRlJTVCwgX19TQ05EKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuZmlyc3QgIT09IHVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMTogX19pbnN0YW5jZS5maXJzdCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6IF9faW5zdGFuY2UuZmlyc3QgPT09JytfX2luc3RhbmNlLmZpcnN0KTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2UucHJvcCE9PV9fU0NORCkgewoJJEVSUk9SKCcjMjogX19pbnN0YW5jZS5wcm9wID09PSBfX1NDTkQuIEFjdHVhbDogX19pbnN0YW5jZS5wcm9wID09PScrX19pbnN0YW5jZS5wcm9wKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9faW5zdGFuY2UoMSkhPT0gMikgewoJJEVSUk9SKCcjMjogX19pbnN0YW5jZSgxKT09PSAyLiBBY3R1YWw6IF9faW5zdGFuY2UoMSkgPT09JytfX2luc3RhbmNlKDEpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgogfQp9KTsKCg==","id":"S13.2.2_A8_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E4X1QyIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E4X1QyLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkNyZWF0aW5nIGEgZnVuY3Rpb24gd2hvc2UgcHJvdG90eXBlIGNvbnRhaW5zIGRlY2xhcmF0aW9uIG9mIGFub3RoZXIgZnVuY3Rpb24gZGVjbGFyZWQgYXMgYSB2YXJpYWJsZSIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIF9fRlJTVD0ib25lIjsKdmFyIF9fU0NORD0idHdvIjsKCnZhciBfX2Z1bmMgPSBmdW5jdGlvbihhcmcxLCBhcmcyKXsKCXRoaXMuZmlyc3Q9YXJnMTsKCXZhciBfX2d1bmMgPSBmdW5jdGlvbihhcmcpe3JldHVybiBhcmcrPSJCQSJ9OwoJX19ndW5jLnByb3A9YXJnMjsKICAgIHJldHVybiBfX2d1bmM7CgkKfTsKCnZhciBfX2luc3RhbmNlID0gbmV3IF9fZnVuYyhfX0ZSU1QsIF9fU0NORCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmZpcnN0ICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9faW5zdGFuY2UuZmlyc3QgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiBfX2luc3RhbmNlLmZpcnN0ID09PScrX19pbnN0YW5jZS5maXJzdCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2luc3RhbmNlLnByb3AhPT1fX1NDTkQpIHsKCSRFUlJPUignIzI6IF9faW5zdGFuY2UucHJvcCA9PT0gX19TQ05ELiBBY3R1YWw6IF9faW5zdGFuY2UucHJvcCA9PT0nK19faW5zdGFuY2UucHJvcCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX2luc3RhbmNlKCJTQU0iKSE9PSAiU0FNQkEiKSB7CgkkRVJST1IoJyMyOiBfX2luc3RhbmNlKCJTQU0iKSA9PT0gIlNBTUJBIi4gQWN0dWFsOiBfX2luc3RhbmNlKCJTQU0iKSA9PT0nK19faW5zdGFuY2UoIlNBTSIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgogfQp9KTsKCg==","id":"S13.2.2_A8_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E4X1QzIiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E4X1QzLmpzIiwKCmFzc2VydGlvbjogIldoZW4gdGhlIFtbQ29uc3RydWN0XV0gcHJvcGVydHkgZm9yIGEgRnVuY3Rpb24gb2JqZWN0IEYgaXMgY2FsbGVkOiIsCgpkZXNjcmlwdGlvbjogIkNyZWF0aW5nIGEgZnVuY3Rpb24gd2hvc2UgcHJvdG90eXBlIGNvbnRhaW5zIGRlY2xhcmF0aW9uIG9mIGFub3RoZXIgZnVuY3Rpb24gZGVmaW5lZCBieSB1c2luZyBGdW5jdGlvbi5jYWxsIG1ldGhvZCIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgdmFyIF9fRlJTVD0ib25lIjsKdmFyIF9fU0NORD0idHdvIjsKCnZhciBfX2Z1bmMgPSBmdW5jdGlvbihhcmcxLCBhcmcyKXsKCXRoaXMuZmlyc3Q9YXJnMTsKCXZhciBfX2d1bmMgPSBGdW5jdGlvbi5jYWxsKHRoaXMsImFyZyIsInJldHVybiArK2FyZzsiKTsKCV9fZ3VuYy5wcm9wPWFyZzI7CiAgICByZXR1cm4gX19ndW5jOwoJCn07Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBfX2Z1bmMoX19GUlNULCBfX1NDTkQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5maXJzdCAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2luc3RhbmNlLmZpcnN0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogX19pbnN0YW5jZS5maXJzdCA9PT0nK19faW5zdGFuY2UuZmlyc3QpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19pbnN0YW5jZS5wcm9wIT09X19TQ05EKSB7CgkkRVJST1IoJyMyOiBfX2luc3RhbmNlLnByb3AgPT09IF9fU0NORC4gQWN0dWFsOiBfX2luc3RhbmNlLnByb3AgPT09JytfX2luc3RhbmNlLnByb3ApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19pbnN0YW5jZSgxKSE9PSAyKSB7CgkkRVJST1IoJyMyOiBfX2luc3RhbmNlKDEpPT09IDIuIEFjdHVhbDogX19pbnN0YW5jZSgxKSA9PT0nK19faW5zdGFuY2UoMSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCiB9Cn0pOwoK","id":"S13.2.2_A8_T3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMi4yX0E5IiwKCnBhdGg6ICIxM19GdW5jdGlvbl9EZWZpbml0aW9uXDEzLjJfQ3JlYXRpbmdfRnVuY3Rpb25fT2JqZWN0c1xTMTMuMi4yX0E5LmpzIiwKCmFzc2VydGlvbjogIkNhbGxpbmcgYSBmdW5jdGlvbiBhcyBhIGNvbnN0cnVjdG9yIGlzIGluYWRtaXNzaWJsZSBhcyBsb25nIGFzIHRoaXMuYW55X0Z1bmN0aW9uIGlzIGNhbGxlZCBiZWZvcmUgaXQgaXMgZGVjbGFyZWQiLAoKZGVzY3JpcHRpb246ICJDYWxsaW5nIGEgZnVuY3Rpb24gYXMgYSBjb25zdHJ1Y3RvciIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgZnVuY3Rpb24gRkFDVE9SWSgpewogICB0aGlzLmlkID0gMDsKICAgCiAgIHRoaXMuaWQgPSB0aGlzLmZ1bmMoKTsKICAgCiAgIHRoaXMuZnVuYyA9IGZ1bmN0aW9uICgpewogICAgICByZXR1cm4gNTsKICAgfQogIAp9Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKCXZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwoJJEVSUk9SKCcjMTogdmFyIG9iaiA9IG5ldyBGQUNUT1JZKCkgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkge30KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2.2_A9"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BMV9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTFfVDEuanMiLAoKYXNzZXJ0aW9uOiAiQSBcInByb3RvdHlwZVwiIHByb3BlcnR5IGlzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBmb3IgZXZlcnkgZnVuY3Rpb24iLAoKZGVzY3JpcHRpb246ICJVc2luZyBcImZ1bmN0aW9uIF9fZnVuYygpe31cIiBhcyBhIEZ1bmN0aW9uRGVjbGFyYXRpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYygpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMucHJvdG90eXBlID09PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZnVuYy5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2_A1_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BMV9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTFfVDIuanMiLAoKYXNzZXJ0aW9uOiAiQSBcInByb3RvdHlwZVwiIHByb3BlcnR5IGlzIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBmb3IgZXZlcnkgZnVuY3Rpb24iLAoKZGVzY3JpcHRpb246ICJVc2luZyBcInZhciBfX2Z1bmMgPSBmdW5jdGlvbigpe31cIiBhcyBhIEZ1bmN0aW9uRGVjbGFyYXRpb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX2Z1bmMgPSBmdW5jdGlvbigpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMucHJvdG90eXBlID09PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZnVuYy5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S13.2_A1_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BMl9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTJfVDEuanMiLAoKYXNzZXJ0aW9uOiAiTmVzdGVkIGZ1bmN0aW9uIGFyZSBhZG1pdHRlZCIsCgpkZXNjcmlwdGlvbjogIk5lc3RpbmcgbGV2ZWwgaXMgdHdvIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgX19KRURJPSJqZWRpIjsKCmZ1bmN0aW9uIF9fRlVOQygpewogICAgZnVuY3Rpb24gX19HVU5DKCl7CiAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1swXTsKICAgIH07CiAgICAKICAgIHJldHVybiBfX0dVTkM7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX0ZVTkMoKShfX0pFREkpICE9PSBfX0pFREkpIHsKCSRFUlJPUignIzE6IF9fRlVOQygpKF9fSkVESSkgPT09IF9fSkVESS4gQWN0dWFsOiBfX0ZVTkMoKShfX0pFREkpID09PScrX19GVU5DKCkoX19KRURJKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S13.2_A2_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BMl9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTJfVDIuanMiLAoKYXNzZXJ0aW9uOiAiTmVzdGVkIGZ1bmN0aW9uIGFyZSBhZG1pdHRlZCIsCgpkZXNjcmlwdGlvbjogIk5lc3RpbmcgbGV2ZWwgaXMgdGhyZWUiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX1JPQk9UPSJDM1BPIjsKCmZ1bmN0aW9uIF9fRlVOQygpewogICAgZnVuY3Rpb24gX19HVU5DKCl7CiAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1swXTsKICAgIH07CiAgICBmdW5jdGlvbiBfX0hVTkMoKXsKICAgICAgICByZXR1cm4gX19HVU5DOwogICAgfTsKICAgIHJldHVybiBfX0hVTkM7Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX0ZVTkMoKSgpKF9fUk9CT1QpICE9PSBfX1JPQk9UKSB7CgkkRVJST1IoJyMxOiBfX0ZVTkMoKSgpKF9fUk9CT1QpID09PSBfX1JPQk9ULiBBY3R1YWw6IF9fRlVOQygpKCkoX19ST0JPVCkgPT09JytfX0ZVTkMoKSgpKF9fUk9CT1QpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCiB9Cn0pOwoK","id":"S13.2_A2_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BMyIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTMuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiBGdW5jdGlvbiBvYmplY3QoRikgaXMgY29uc3RydWN0ZWQgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGIGlzIHNldCB0byB0aGUgbnVtYmVyIG9mIGZvcm1hbCBwcm9wZXJ0aWVzIHNwZWNpZmllZCBpbiBGb3JtYWxQYXJhbWV0ZXJMaXN0IiwKCmRlc2NyaXB0aW9uOiAiQ3JlYXRpbmcgZnVuY3Rpb25zIHdpdGggdmFyaW91cyBGb3JtYWxQYXJhbWV0ZXJMaXN0IGFuZCBjaGVja2luZyB0aGVpciBsZW5ndGhzIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICBmdW5jdGlvbiBfX2Z1bmMoKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jLmxlbmd0aCAhPT0gMCkgewoJJEVSUk9SKCcjMTogX19mdW5jLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiBfX2Z1bmMubGVuZ3RoID09PScrX19mdW5jLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2d1bmMoYSxiLGMpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2d1bmMubGVuZ3RoICE9PSAzKSB7CgkkRVJST1IoJyMyOiBfX2d1bmMubGVuZ3RoID09PSAzLiBBY3R1YWw6IF9fZ3VuYy5sZW5ndGggPT09JytfX2d1bmMubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgogfQp9KTsKCg==","id":"S13.2_A3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BNF9UMSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTRfVDEuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiBGdW5jdGlvbiBvYmplY3QoRikgaXMgY29uc3RydWN0ZWQgdGhlIGZvbGxvd2luZyBzdGVwcyBmcm9tIDkgdG8gMTEgdGFrZSBwbGFjZSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIHByb3RvdHlwZSwgcHJvdG90eXBlLmNvbnN0cnVjdG9yIHByb3BlcnRpZXMgYW5kIHtEb250RW51bX0gcHJvcGVydHkgb2YgYSBjb25zdHJ1Y3Rvci4iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYygpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19mdW5jLnByb3RvdHlwZSAhPT0gJ29iamVjdCcpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2Z1bmMucHJvdG90eXBlID09PSBcJ29iamVjdFwnLiBBY3R1YWw6IHR5cGVvZiBfX2d1bmMucHJvdG90eXBlID09PScrdHlwZW9mIF9fZ3VuYy5wcm90b3R5cGUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19mdW5jLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gX19mdW5jKSB7CgkkRVJST1IoJyMyOiBfX2Z1bmMucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBfX2Z1bmMuIEFjdHVhbDogX19ndW5jLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0nK19fZ3VuYy5wcm90b3R5cGUuY29uc3RydWN0b3IpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fY29uc3RydWN0b3Jfd2FzX19lbnVtZWQ7Cgpmb3IgKF9fcHJvcCBpbiBfX2Z1bmMucHJvdG90eXBlKXsKICAgIGlmIChfX3Byb3AgPSAnY29uc3RydWN0b3InKQogICAgICAgIF9fY29uc3RydWN0b3Jfd2FzX19lbnVtZWQgPSB0cnVlOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkKSB7CgkkRVJST1IoJyMzOiBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkID09PSBmYWxzZS4gQWN0dWFsOiBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkID09PScrX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCgoKCiB9Cn0pOwoK","id":"S13.2_A4_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BNF9UMiIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTRfVDIuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiBGdW5jdGlvbiBvYmplY3QoRikgaXMgY29uc3RydWN0ZWQgdGhlIGZvbGxvd2luZyBzdGVwcyBmcm9tIDkgdG8gMTEgdGFrZSBwbGFjZSIsCgpkZXNjcmlwdGlvbjogIkNoZWNraW5nIHByb3RvdHlwZSwgcHJvdG90eXBlLmNvbnN0cnVjdG9yIHByb3BlcnRpZXMgYW5kIHtEb250RW51bX0gcHJvcGVydHkgb2YgYSBjb25zdHJ1Y3Rvci4iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBfX2d1bmMgPSBmdW5jdGlvbigpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19ndW5jLnByb3RvdHlwZSAhPT0gJ29iamVjdCcpIHsKCSRFUlJPUignIzE6IHR5cGVvZiBfX2d1bmMucHJvdG90eXBlID09PSBcJ29iamVjdFwnLiBBY3R1YWw6IHR5cGVvZiBfX2d1bmMucHJvdG90eXBlID09PScrdHlwZW9mIF9fZ3VuYy5wcm90b3R5cGUpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19ndW5jLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gX19ndW5jKSB7CgkkRVJST1IoJyMyOiBfX2d1bmMucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBfX2d1bmMuIEFjdHVhbDogX19ndW5jLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0nK19fZ3VuYy5wcm90b3R5cGUuY29uc3RydWN0b3IpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fY29uc3RydWN0b3Jfd2FzX19lbnVtZWQ7Cgpmb3IgKF9fcHJvcCBpbiBfX2d1bmMucHJvdG90eXBlKXsKICAgIGlmIChfX3Byb3AgPSAnY29uc3RydWN0b3InKQogICAgICAgIF9fY29uc3RydWN0b3Jfd2FzX19lbnVtZWQgPSB0cnVlOwp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkKSB7CgkkRVJST1IoJyMzOiBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkID09PSBmYWxzZS4gQWN0dWFsOiBfX2NvbnN0cnVjdG9yX3dhc19fZW51bWVkID09PScrX19jb25zdHJ1Y3Rvcl93YXNfX2VudW1lZCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCgoKCiB9Cn0pOwoK","id":"S13.2_A4_T2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTMuMl9BNSIsCgpwYXRoOiAiMTNfRnVuY3Rpb25fRGVmaW5pdGlvblwxMy4yX0NyZWF0aW5nX0Z1bmN0aW9uX09iamVjdHNcUzEzLjJfQTUuanMiLAoKYXNzZXJ0aW9uOiAiV2hlbiBGdW5jdGlvbiBvYmplY3QoRikgaXMgY29uc3RydWN0ZWQiLAoKZGVzY3JpcHRpb246ICJGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZigpIGlzIHVzZWQiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIGZ1bmN0aW9uIF9fZnVuYygpe307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKF9fZnVuYykpKSB7CgkkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2Z1bmMpJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKdmFyIF9fZ3VuYyA9IGZ1bmN0aW9uKCl7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19ndW5jKSkpIHsKCSRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKF9fZ3VuYyknKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoKIH0KfSk7Cgo=","id":"S13.2_A5"}]}} \ No newline at end of file
diff --git a/website/resources/scripts/testcases/14_Program.json b/website/resources/scripts/testcases/14_Program.json
index 5ecf0f43e..a4c98c3ac 100644
--- a/website/resources/scripts/testcases/14_Program.json
+++ b/website/resources/scripts/testcases/14_Program.json
@@ -1 +1 @@
-{"testsCollection":{"name":"Chapter - 14_Program","numTests":"5","tests":[{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTRfQTEiLAoKcGF0aDogIjE0X1Byb2dyYW1cUzE0X0ExLmpzIiwKCmFzc2VydGlvbjogIkZ1bmN0aW9uRXhwcmVzc2lvbiBtdXN0IGJlIGxvY2FsZWQgaW4gYSByZWFjaGVhYmxlIGZyYWdtZW50IG9mIHRoZSBwcm9ncmFtIiwKCmRlc2NyaXB0aW9uOiAiRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aGluIGFuIFwiaWZcIiBFeHByZXNzaW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICB2YXIgVEhFUkUgPSAiSSdtIHRoZXJlIjsKdmFyIEhFUkUgPSAiSSdtIGhlcmUiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIF9fZnVuYyAhPT0gdW5kZWZpbmVkKSB7CgkkRVJST1IoJyMxOiBfX2Z1bmMgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAgX19mdW5jID09PScrIF9fZnVuYyAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmlmICh0cnVlKXsKICAgIHZhciBfX2Z1bmMgPSBmdW5jdGlvbigpe3JldHVybiBIRVJFO307Cn0gZWxzZSB7CiAgICB2YXIgX19mdW5jID0gZnVuY3Rpb24gKCl7cmV0dXJuIFRIRVJFO307Cn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2Z1bmMoKSAhPT0gSEVSRSkgewoJJEVSUk9SKCcjMjogX19mdW5jKCkgPT09IEhFUkUuIEFjdHVhbDogIF9fZnVuYygpID09PScrIF9fZnVuYygpICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S14_A1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTRfQTIiLAoKcGF0aDogIjE0X1Byb2dyYW1cUzE0X0EyLmpzIiwKCmFzc2VydGlvbjogIkZ1bmN0aW9uRGVjbGFyYXRpb24gY2Fubm90IGJlIGxvY2FsZWQgaW5zaWRlIGFuIEV4cHJlc3Npb24iLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoaW4gYW4gXCJpZlwiIEV4cHJlc3Npb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBmICE9PSAndW5kZWZpbmVkJykgewoJJEVSUk9SKCcjMTogdHlwZW9mIGYgPT09IFwndW5kZWZpbmVkXCcuIEFjdHVhbDogIHR5cGVvZiBmID09PScrIHR5cGVvZiBmICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoZnVuY3Rpb24gZihhcmcpewoJaWYgKGFyZz09PTApCgkgICByZXR1cm4gMTsKCWVsc2UKCSAgIHJldHVybiBmKGFyZy0xKSphcmc7Cn0oMykhPT02KSB7CgkkRVJST1IoJyMyOiBGdW5jdGlvbkRlY2xhcmF0aW9uIGNhbm5vdCBiZSBsb2NhbGVkIGluc2lkZSBhbiBFeHByZXNzaW9uJyk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKIH0KfSk7Cgo=","id":"S14_A2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTRfQTMiLAoKcGF0aDogIjE0X1Byb2dyYW1cUzE0X0EzLmpzIiwKCmFzc2VydGlvbjogIkdsb2JhbCBGdW5jdGlvbkRlY2xhcmF0aW9uIGNhbm5vdCBiZSBkZWZpbmVkIHdpdGhpbiB0aGUgYm9keSBvZiBhbm90aGVyIEZ1bmN0aW9uRGVjbGFyYXRpb24iLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoaW4gdGhlIGJvZHkgb2YgYW5vdGhlciBmdW5jdGlvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fZnVuYyAhPT0gImZ1bmN0aW9uIikgewoJJEVSUk9SKCcjMTogdHlwZW9mIF9fZnVuYyA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAgdHlwZW9mIF9fZnVuYyA9PT0nKyB0eXBlb2YgX19mdW5jICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAodHlwZW9mIF9fZ3VuYyAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzI6IHR5cGVvZiBfX2d1bmMgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICB0eXBlb2YgX19ndW5jID09PScrIHR5cGVvZiBfX2d1bmMgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmMoKXsKICAgIGZ1bmN0aW9uIF9fZ3VuYygpe3JldHVybiB0cnVlfTsKfQoKIH0KfSk7Cgo=","id":"S14_A3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTRfQTVfVDEiLAoKcGF0aDogIjE0X1Byb2dyYW1cUzE0X0E1X1QxLmpzIiwKCmFzc2VydGlvbjogIlRoZSBJZGVudGlmZXIgd2l0aGluIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiBjYW4gYmUgd3JpdHRlbiBpbiBib3RoIGxldHRlcnMgYW5kIHVuaWNvZGUiLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoIFwiZnVuY3Rpb24gX19cXHUwMDY2XFx1MDA3NVxcdTAwNmVcXHUwMDYzKCl7cmV0dXJuIFwiYm90aFwifVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoKSAhPT0gImJvdGgiKSB7CgkkRVJST1IoJyMxOiBfX2Z1bmMoKSA9PT0gImJvdGgiLiBBY3R1YWw6ICBfX2Z1bmMoKSA9PT0nKyBfX2Z1bmMoKSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAiYXNjaWkifTsKZnVuY3Rpb24gXHUwMDVmXHUwMDVmXHUwMDY2XHUwMDc1XHUwMDZlXHUwMDYzKCl7cmV0dXJuICJ1bmljb2RlIn07Ly9fX2Z1bmMgaW4gdW5pY29kZQpmdW5jdGlvbiBfX1x1MDA2Nlx1MDA3NVx1MDA2ZVx1MDA2Mygpe3JldHVybiAiYm90aCJ9Oy8vX19mdW5jIGluIHVuaWNvZGUKCiB9Cn0pOwoK","id":"S14_A5_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTRfQTVfVDIiLAoKcGF0aDogIjE0X1Byb2dyYW1cUzE0X0E1X1QyLmpzIiwKCmFzc2VydGlvbjogIlRoZSBJZGVudGlmZXIgd2l0aGluIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiBjYW4gYmUgd3JpdHRlbiBpbiBib3RoIGxldHRlcnMgYW5kIHVuaWNvZGUiLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoIFwiZnVuY3Rpb24gXFx1MDA1ZlxcdTAwNWZcXHUwMDY2XFx1MDA3NVxcdTAwNmVcXHUwMDYzKCl7cmV0dXJuIFwidW5pY29kZVwifVwiIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2Z1bmMoKSAhPT0gInVuaWNvZGUiKSB7CgkkRVJST1IoJyMxOiBfX2Z1bmMoKSA9PT0gInVuaWNvZGUiLiBBY3R1YWw6ICBfX2Z1bmMoKSA9PT0nKyBfX2Z1bmMoKSAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fZnVuYygpe3JldHVybiAiYXNjaWkifTsKZnVuY3Rpb24gXHUwMDVmXHUwMDVmXHUwMDY2XHUwMDc1XHUwMDZlXHUwMDYzKCl7cmV0dXJuICJ1bmljb2RlIn07Ly9fX2Z1bmMgaW4gdW5pY29kZQoKIH0KfSk7Cgo=","id":"S14_A5_T2"}]}} \ No newline at end of file
+{"testsCollection":{"name":"Chapter - 14_Program","numTests":"5","tests":[{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTQuMF9BMSIsCgpwYXRoOiAiMTRfUHJvZ3JhbVwxNC4wX0NoYXB0ZXJcUzE0LjBfQTEuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25FeHByZXNzaW9uIG11c3QgYmUgbG9jYWxlZCBpbiBhIHJlYWNoZWFibGUgZnJhZ21lbnQgb2YgdGhlIHByb2dyYW0iLAoKZGVzY3JpcHRpb246ICJEZWNsYXJpbmcgYSBmdW5jdGlvbiB3aXRoaW4gYW4gXCJpZlwiIEV4cHJlc3Npb24iLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIHZhciBUSEVSRSA9ICJJJ20gdGhlcmUiOwp2YXIgSEVSRSA9ICJJJ20gaGVyZSI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICggX19mdW5jICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IF9fZnVuYyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICBfX2Z1bmMgPT09JysgX19mdW5jICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKaWYgKHRydWUpewogICAgdmFyIF9fZnVuYyA9IGZ1bmN0aW9uKCl7cmV0dXJuIEhFUkU7fTsKfSBlbHNlIHsKICAgIHZhciBfX2Z1bmMgPSBmdW5jdGlvbiAoKXtyZXR1cm4gVEhFUkU7fTsKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fZnVuYygpICE9PSBIRVJFKSB7CgkkRVJST1IoJyMyOiBfX2Z1bmMoKSA9PT0gSEVSRS4gQWN0dWFsOiAgX19mdW5jKCkgPT09JysgX19mdW5jKCkgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S14.0_A1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTQuMF9BMiIsCgpwYXRoOiAiMTRfUHJvZ3JhbVwxNC4wX0NoYXB0ZXJcUzE0LjBfQTIuanMiLAoKYXNzZXJ0aW9uOiAiRnVuY3Rpb25EZWNsYXJhdGlvbiBjYW5ub3QgYmUgbG9jYWxlZCBpbnNpZGUgYW4gRXhwcmVzc2lvbiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGhpbiBhbiBcImlmXCIgRXhwcmVzc2lvbiIsCgp0ZXN0OiBmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsKICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGYgIT09ICd1bmRlZmluZWQnKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgZiA9PT0gXCd1bmRlZmluZWRcJy4gQWN0dWFsOiAgdHlwZW9mIGYgPT09JysgdHlwZW9mIGYgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChmdW5jdGlvbiBmKGFyZyl7CglpZiAoYXJnPT09MCkKCSAgIHJldHVybiAxOwoJZWxzZQoJICAgcmV0dXJuIGYoYXJnLTEpKmFyZzsKfSgzKSE9PTYpIHsKCSRFUlJPUignIzI6IEZ1bmN0aW9uRGVjbGFyYXRpb24gY2Fubm90IGJlIGxvY2FsZWQgaW5zaWRlIGFuIEV4cHJlc3Npb24nKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgogfQp9KTsKCg==","id":"S14.0_A2"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTQuMF9BMyIsCgpwYXRoOiAiMTRfUHJvZ3JhbVwxNC4wX0NoYXB0ZXJcUzE0LjBfQTMuanMiLAoKYXNzZXJ0aW9uOiAiR2xvYmFsIEZ1bmN0aW9uRGVjbGFyYXRpb24gY2Fubm90IGJlIGRlZmluZWQgd2l0aGluIHRoZSBib2R5IG9mIGFub3RoZXIgRnVuY3Rpb25EZWNsYXJhdGlvbiIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGhpbiB0aGUgYm9keSBvZiBhbm90aGVyIGZ1bmN0aW9uIiwKCnRlc3Q6IGZ1bmN0aW9uIHRlc3RjYXNlKCkgewogICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19mdW5jICE9PSAiZnVuY3Rpb24iKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YgX19mdW5jID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6ICB0eXBlb2YgX19mdW5jID09PScrIHR5cGVvZiBfX2Z1bmMgICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YgX19ndW5jICE9PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMjogdHlwZW9mIF9fZ3VuYyA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogIHR5cGVvZiBfX2d1bmMgPT09JysgdHlwZW9mIF9fZ3VuYyAgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fZnVuYygpewogICAgZnVuY3Rpb24gX19ndW5jKCl7cmV0dXJuIHRydWV9Owp9CgogfQp9KTsKCg==","id":"S14.0_A3"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTQuMF9BNV9UMSIsCgpwYXRoOiAiMTRfUHJvZ3JhbVwxNC4wX0NoYXB0ZXJcUzE0LjBfQTVfVDEuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIElkZW50aWZlciB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGNhbiBiZSB3cml0dGVuIGluIGJvdGggbGV0dGVycyBhbmQgdW5pY29kZSIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBfX1xcdTAwNjZcXHUwMDc1XFx1MDA2ZVxcdTAwNjMoKXtyZXR1cm4gXCJib3RoXCJ9XCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygpICE9PSAiYm90aCIpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSAiYm90aCIuIEFjdHVhbDogIF9fZnVuYygpID09PScrIF9fZnVuYygpICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuICJhc2NpaSJ9OwpmdW5jdGlvbiBcdTAwNWZcdTAwNWZcdTAwNjZcdTAwNzVcdTAwNmVcdTAwNjMoKXtyZXR1cm4gInVuaWNvZGUifTsvL19fZnVuYyBpbiB1bmljb2RlCmZ1bmN0aW9uIF9fXHUwMDY2XHUwMDc1XHUwMDZlXHUwMDYzKCl7cmV0dXJuICJib3RoIn07Ly9fX2Z1bmMgaW4gdW5pY29kZQoKIH0KfSk7Cgo=","id":"S14.0_A5_T1"},{"code":"RVM1SGFybmVzcy5yZWdpc3RlclRlc3QoIHsKaWQ6ICJTMTQuMF9BNV9UMiIsCgpwYXRoOiAiMTRfUHJvZ3JhbVwxNC4wX0NoYXB0ZXJcUzE0LjBfQTVfVDIuanMiLAoKYXNzZXJ0aW9uOiAiVGhlIElkZW50aWZlciB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGNhbiBiZSB3cml0dGVuIGluIGJvdGggbGV0dGVycyBhbmQgdW5pY29kZSIsCgpkZXNjcmlwdGlvbjogIkRlY2xhcmluZyBhIGZ1bmN0aW9uIHdpdGggXCJmdW5jdGlvbiBcXHUwMDVmXFx1MDA1ZlxcdTAwNjZcXHUwMDc1XFx1MDA2ZVxcdTAwNjMoKXtyZXR1cm4gXCJ1bmljb2RlXCJ9XCIiLAoKdGVzdDogZnVuY3Rpb24gdGVzdGNhc2UoKSB7CiAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYygpICE9PSAidW5pY29kZSIpIHsKCSRFUlJPUignIzE6IF9fZnVuYygpID09PSAidW5pY29kZSIuIEFjdHVhbDogIF9fZnVuYygpID09PScrIF9fZnVuYygpICApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19mdW5jKCl7cmV0dXJuICJhc2NpaSJ9OwpmdW5jdGlvbiBcdTAwNWZcdTAwNWZcdTAwNjZcdTAwNzVcdTAwNmVcdTAwNjMoKXtyZXR1cm4gInVuaWNvZGUifTsvL19fZnVuYyBpbiB1bmljb2RlCgogfQp9KTsKCg==","id":"S14.0_A5_T2"}]}} \ No newline at end of file
diff --git a/website/resources/scripts/testcases/SputnikGlobalScope.js b/website/resources/scripts/testcases/SputnikGlobalScope.js
index e4908e6ec..e728bfebd 100644
--- a/website/resources/scripts/testcases/SputnikGlobalScope.js
+++ b/website/resources/scripts/testcases/SputnikGlobalScope.js
@@ -346,7 +346,7 @@ GlobalScopeTests["S12.9_A1_T6"]={"assertion":"Appearing of \"return\" without a
GlobalScopeTests["S12.9_A1_T7"]={"assertion":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return x\" with no function, placed inside Block, fails","id":"S12.9_A1_T7","path":"12_Statement\\12.9_The_return_Statement\\S12.9_A1_T7.js","negative":"."};
GlobalScopeTests["S12.9_A1_T8"]={"assertion":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return x\" with no function, placed into a loop, fails","id":"S12.9_A1_T8","path":"12_Statement\\12.9_The_return_Statement\\S12.9_A1_T8.js","negative":"."};
GlobalScopeTests["S12.9_A1_T9"]={"assertion":"Appearing of \"return\" without a function body leads to syntax error","description":"Checking if execution of \"return\", placed into a catch Block, fails","id":"S12.9_A1_T9","path":"12_Statement\\12.9_The_return_Statement\\S12.9_A1_T9.js","negative":"."};
-GlobalScopeTests["S13_A7_T3"]={"assertion":"The FunctionBody must be SourceElements","description":"Checking if execution of \"function __func(){\\A\\B\\C}\" fails","id":"S13_A7_T3","path":"13_Function_Definition\\S13_A7_T3.js","negative":"."};
+GlobalScopeTests["S13.0_A7_T3"]={"assertion":"The FunctionBody must be SourceElements","description":"Checking if execution of \"function __func(){\\A\\B\\C}\" fails","id":"S13.0_A7_T3","path":"13_Function_Definition\\13.0_Chapter\\S13.0_A7_T3.js","negative":"."};
GlobalScopeTests["S15.10.2.11_A1_T2"]={"assertion":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"It is an error if n is greater than the total number of left capturing parentheses in the entire regular expression","id":"S15.10.2.11_A1_T2","path":"15_Native\\15.10_RegExp_Objects\\15.10.2_Pattern_Semantics\\15.10.2.11_DecimalEscape\\S15.10.2.11_A1_T2.js","negative":"."};
GlobalScopeTests["S15.10.2.11_A1_T3"]={"assertion":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"It is an error if n is greater than the total number of left capturing parentheses in the entire regular expression","id":"S15.10.2.11_A1_T3","path":"15_Native\\15.10_RegExp_Objects\\15.10.2_Pattern_Semantics\\15.10.2.11_DecimalEscape\\S15.10.2.11_A1_T3.js","negative":"."};
GlobalScopeTests["S15.1_A1_T1"]={"assertion":"The global object does not have a [[Construct]] property","description":"It is not possible to use the global object as a constructor","id":"S15.1_A1_T1","path":"15_Native\\15.1_The_Global_Object\\S15.1_A1_T1.js","negative":"."};
diff --git a/website/resources/scripts/testcases/testcaseslist.json b/website/resources/scripts/testcases/testcaseslist.json
index fdfd5867f..9c27b3b9f 100644
--- a/website/resources/scripts/testcases/testcaseslist.json
+++ b/website/resources/scripts/testcases/testcaseslist.json
@@ -1 +1 @@
-{"date":"2011-04-20","numTests":10872,"testSuite":["resources/scripts/testcases/07_Lexical_Conventions.json","resources/scripts/testcases/08_Types.json","resources/scripts/testcases/09_Type_Conversion.json","resources/scripts/testcases/10_Execution_Contexts.json","resources/scripts/testcases/11.10_Binary_Bitwise_Operators.json","resources/scripts/testcases/11.11_Binary_Logical_Operators.json","resources/scripts/testcases/11.12_Conditional_Operator.json","resources/scripts/testcases/11.13_Assignment_Operators.json","resources/scripts/testcases/11.14_Comma_Operator.json","resources/scripts/testcases/11.1_Primary_Expressions.json","resources/scripts/testcases/11.2_Left_Hand_Side_Expressions.json","resources/scripts/testcases/11.3_PostfixExpressions.json","resources/scripts/testcases/11.4_Unary_Operators.json","resources/scripts/testcases/11.5_Multiplicative_Operators.json","resources/scripts/testcases/11.6_Additive_Operators.json","resources/scripts/testcases/11.7_Bitwise_Shift_Operators.json","resources/scripts/testcases/11.8_Relational_Operators.json","resources/scripts/testcases/11.9_Equality_Operators.json","resources/scripts/testcases/12_Statement.json","resources/scripts/testcases/13_Function_Definition.json","resources/scripts/testcases/14_Program.json","resources/scripts/testcases/15.10_RegExp_Objects.json","resources/scripts/testcases/15.11_Error_Objects.json","resources/scripts/testcases/15.1_The_Global_Object.json","resources/scripts/testcases/15.2_Object_Objects.json","resources/scripts/testcases/15.3_Function_Objects.json","resources/scripts/testcases/15.4_Array_Objects.json","resources/scripts/testcases/15.5_String_Objects.json","resources/scripts/testcases/15.6_Boolean_Objects.json","resources/scripts/testcases/15.7_Number_Objects.json","resources/scripts/testcases/15.8_The_Math_Object.json","resources/scripts/testcases/15.9_Date_Objects.json","resources/scripts/testcases/chapter07.json","resources/scripts/testcases/chapter08.json","resources/scripts/testcases/chapter10.json","resources/scripts/testcases/chapter11.json","resources/scripts/testcases/chapter12.json","resources/scripts/testcases/chapter13.json","resources/scripts/testcases/chapter14.json","resources/scripts/testcases/15.1.json","resources/scripts/testcases/15.10.json","resources/scripts/testcases/15.11.json","resources/scripts/testcases/15.12.json","resources/scripts/testcases/15.2.3.1.json","resources/scripts/testcases/15.2.3.10.json","resources/scripts/testcases/15.2.3.11.json","resources/scripts/testcases/15.2.3.12.json","resources/scripts/testcases/15.2.3.13.json","resources/scripts/testcases/15.2.3.14.json","resources/scripts/testcases/15.2.3.2.json","resources/scripts/testcases/15.2.3.3.json","resources/scripts/testcases/15.2.3.4.json","resources/scripts/testcases/15.2.3.5.json","resources/scripts/testcases/15.2.3.6.json","resources/scripts/testcases/15.2.3.7.json","resources/scripts/testcases/15.2.3.8.json","resources/scripts/testcases/15.2.3.9.json","resources/scripts/testcases/15.2.4.json","resources/scripts/testcases/15.3.json","resources/scripts/testcases/15.4.3.json","resources/scripts/testcases/15.4.4.10.json","resources/scripts/testcases/15.4.4.12.json","resources/scripts/testcases/15.4.4.14.json","resources/scripts/testcases/15.4.4.15.json","resources/scripts/testcases/15.4.4.16.json","resources/scripts/testcases/15.4.4.17.json","resources/scripts/testcases/15.4.4.18.json","resources/scripts/testcases/15.4.4.19.json","resources/scripts/testcases/15.4.4.20.json","resources/scripts/testcases/15.4.4.21.json","resources/scripts/testcases/15.4.4.22.json","resources/scripts/testcases/15.4.4.4.json","resources/scripts/testcases/15.4.5.json","resources/scripts/testcases/15.5.json","resources/scripts/testcases/15.7.json","resources/scripts/testcases/15.9.json"],"version":"0.7.1"} \ No newline at end of file
+{"date":"2011-04-20","numTests":10872,"testSuite":["resources/scripts/testcases/07_Lexical_Conventions.json","resources/scripts/testcases/08_Types.json","resources/scripts/testcases/09_Type_Conversion.json","resources/scripts/testcases/10_Execution_Contexts.json","resources/scripts/testcases/11.10_Binary_Bitwise_Operators.json","resources/scripts/testcases/11.11_Binary_Logical_Operators.json","resources/scripts/testcases/11.12_Conditional_Operator.json","resources/scripts/testcases/11.13_Assignment_Operators.json","resources/scripts/testcases/11.14_Comma_Operator.json","resources/scripts/testcases/11.1_Primary_Expressions.json","resources/scripts/testcases/11.2_Left_Hand_Side_Expressions.json","resources/scripts/testcases/11.3_PostfixExpressions.json","resources/scripts/testcases/11.4_Unary_Operators.json","resources/scripts/testcases/11.5_Multiplicative_Operators.json","resources/scripts/testcases/11.6_Additive_Operators.json","resources/scripts/testcases/11.7_Bitwise_Shift_Operators.json","resources/scripts/testcases/11.8_Relational_Operators.json","resources/scripts/testcases/11.9_Equality_Operators.json","resources/scripts/testcases/12_Statement.json","resources/scripts/testcases/13_Function_Definition.json","resources/scripts/testcases/14_Program.json","resources/scripts/testcases/15.10_RegExp_Objects.json","resources/scripts/testcases/15.11_Error_Objects.json","resources/scripts/testcases/15.1_The_Global_Object.json","resources/scripts/testcases/15.2_Object_Objects.json","resources/scripts/testcases/15.3_Function_Objects.json","resources/scripts/testcases/15.4_Array_Objects.json","resources/scripts/testcases/15.5_String_Objects.json","resources/scripts/testcases/15.6_Boolean_Objects.json","resources/scripts/testcases/15.7_Number_Objects.json","resources/scripts/testcases/15.8_The_Math_Object.json","resources/scripts/testcases/15.9_Date_Objects.json","resources/scripts/testcases/chapter07.json","resources/scripts/testcases/chapter08.json","resources/scripts/testcases/chapter10.json","resources/scripts/testcases/chapter11.json","resources/scripts/testcases/chapter12.json","resources/scripts/testcases/chapter13.json","resources/scripts/testcases/chapter14.json","resources/scripts/testcases/15.1.json","resources/scripts/testcases/15.10.json","resources/scripts/testcases/15.11.json","resources/scripts/testcases/15.12.json","resources/scripts/testcases/15.2.3.1.json","resources/scripts/testcases/15.2.3.10.json","resources/scripts/testcases/15.2.3.11.json","resources/scripts/testcases/15.2.3.12.json","resources/scripts/testcases/15.2.3.13.json","resources/scripts/testcases/15.2.3.14.json","resources/scripts/testcases/15.2.3.2.json","resources/scripts/testcases/15.2.3.3.json","resources/scripts/testcases/15.2.3.4.json","resources/scripts/testcases/15.2.3.5.json","resources/scripts/testcases/15.2.3.6.json","resources/scripts/testcases/15.2.3.7.json","resources/scripts/testcases/15.2.3.8.json","resources/scripts/testcases/15.2.3.9.json","resources/scripts/testcases/15.2.4.json","resources/scripts/testcases/15.3.json","resources/scripts/testcases/15.4.3.json","resources/scripts/testcases/15.4.4.10.json","resources/scripts/testcases/15.4.4.12.json","resources/scripts/testcases/15.4.4.14.json","resources/scripts/testcases/15.4.4.15.json","resources/scripts/testcases/15.4.4.16.json","resources/scripts/testcases/15.4.4.17.json","resources/scripts/testcases/15.4.4.18.json","resources/scripts/testcases/15.4.4.19.json","resources/scripts/testcases/15.4.4.20.json","resources/scripts/testcases/15.4.4.21.json","resources/scripts/testcases/15.4.4.22.json","resources/scripts/testcases/15.4.4.4.json","resources/scripts/testcases/15.4.5.json","resources/scripts/testcases/15.5.json","resources/scripts/testcases/15.7.json","resources/scripts/testcases/15.9.json"],"version":"0.7.2"} \ No newline at end of file