1 module unrobotstxt.test_extra; 2 3 import unrobotstxt; 4 5 // Regression tests against original robots.cc, generated using KLEE, custom code and radamsa 6 7 unittest 8 { 9 import std.file : dirEntries, read, SpanMode; 10 import std.path : buildPath, dirName; 11 import std.stdio : File; 12 import std.string : split; 13 14 static void runTests(string dir) 15 { 16 auto matcher = new RobotsMatcher(); 17 foreach (robots_txt_path; dirEntries(dir, "robots*[0-9]", SpanMode.shallow)) 18 { 19 const robots_txt = cast(string)read(robots_txt_path); 20 21 foreach (line; File(robots_txt_path ~ ".out").byLineCopy()) 22 { 23 const pieces = line.split(); 24 const ex_result = pieces[0]; 25 const url_path = pieces[1]; 26 const user_agents = pieces[2..$]; 27 28 const result = matcher.AllowedByRobots(robots_txt, user_agents, url_path) ? "ALLOWED" : "DISALLOWED"; 29 assert (result == ex_result, "Failure for " ~ robots_txt_path ~ " at: " ~ line); 30 } 31 } 32 } 33 34 auto this_dir = dirName(__FILE_FULL_PATH__); 35 runTests(buildPath(this_dir, "testdata", "normal")); 36 runTests(buildPath(this_dir, "testdata", "fuzzed")); 37 } 38 39 unittest 40 { 41 assert (MaybeEscapePattern("") == ""); 42 assert (MaybeEscapePattern("\x99") == "%99"); 43 assert (MaybeEscapePattern("v") == "v"); 44 assert (MaybeEscapePattern("\x99\x99") == "%99%99"); 45 assert (MaybeEscapePattern(",") == ","); 46 assert (MaybeEscapePattern("%") == "%"); 47 assert (MaybeEscapePattern("\x99h") == "%99h"); 48 assert (MaybeEscapePattern("v\x99") == "v%99"); 49 assert (MaybeEscapePattern("\x99\x99\x99") == "%99%99%99"); 50 assert (MaybeEscapePattern("\x99 ") == "%99 "); 51 assert (MaybeEscapePattern("\x99%") == "%99%"); 52 assert (MaybeEscapePattern("vh") == "vh"); 53 assert (MaybeEscapePattern(",\x99") == ",%99"); 54 assert (MaybeEscapePattern("%\x99") == "%%99"); 55 assert (MaybeEscapePattern("\x99\x99\x99\x99") == "%99%99%99%99"); 56 assert (MaybeEscapePattern("\x99\x99d") == "%99%99d"); 57 assert (MaybeEscapePattern("v ") == "v "); 58 assert (MaybeEscapePattern("\x99h\x99") == "%99h%99"); 59 assert (MaybeEscapePattern("v\x99\x99") == "v%99%99"); 60 assert (MaybeEscapePattern(",h") == ",h"); 61 assert (MaybeEscapePattern("v%") == "v%"); 62 assert (MaybeEscapePattern("\x99\x99\x99~") == "%99%99%99~"); 63 assert (MaybeEscapePattern("\x99\x99\x99S") == "%99%99%99S"); 64 assert (MaybeEscapePattern("\x99\x99\x99%") == "%99%99%99%"); 65 assert (MaybeEscapePattern("\x99\x99d\x99") == "%99%99d%99"); 66 assert (MaybeEscapePattern("\x99\x99+") == "%99%99+"); 67 assert (MaybeEscapePattern("\x99\x99%") == "%99%99%"); 68 assert (MaybeEscapePattern("%h") == "%h"); 69 assert (MaybeEscapePattern("%c") == "%c"); 70 assert (MaybeEscapePattern("\x99h\x99\x99") == "%99h%99%99"); 71 assert (MaybeEscapePattern("v\x99\x99\x99") == "v%99%99%99"); 72 assert (MaybeEscapePattern("\x99\x99d~") == "%99%99d~"); 73 assert (MaybeEscapePattern(", ") == ", "); 74 assert (MaybeEscapePattern("\x99 \x99") == "%99 %99"); 75 assert (MaybeEscapePattern(",%") == ",%"); 76 assert (MaybeEscapePattern("\x99hd") == "%99hd"); 77 assert (MaybeEscapePattern("\x99%\x99") == "%99%%99"); 78 assert (MaybeEscapePattern("%5") == "%5"); 79 assert (MaybeEscapePattern("\x99\x99dS") == "%99%99dS"); 80 assert (MaybeEscapePattern("v\x99d") == "v%99d"); 81 assert (MaybeEscapePattern("\x99\x99d%") == "%99%99d%"); 82 assert (MaybeEscapePattern(",\x99\x99") == ",%99%99"); 83 assert (MaybeEscapePattern("%\x99\x99") == "%%99%99"); 84 assert (MaybeEscapePattern("\x99\x99+\x99") == "%99%99+%99"); 85 assert (MaybeEscapePattern("\x99\x99%\x99") == "%99%99%%99"); 86 assert (MaybeEscapePattern("vh\x99") == "vh%99"); 87 assert (MaybeEscapePattern("\x99h\x99~") == "%99h%99~"); 88 assert (MaybeEscapePattern("% ") == "% "); 89 assert (MaybeEscapePattern("%%") == "%%"); 90 assert (MaybeEscapePattern("v\x99\x99~") == "v%99%99~"); 91 assert (MaybeEscapePattern("\x99\x99+~") == "%99%99+~"); 92 assert (MaybeEscapePattern("\x99\x99%~") == "%99%99%~"); 93 assert (MaybeEscapePattern("\x99\x99%f") == "%99%99%f"); 94 assert (MaybeEscapePattern("\x99h\x99S") == "%99h%99S"); 95 assert (MaybeEscapePattern("\x99\x99+S") == "%99%99+S"); 96 assert (MaybeEscapePattern("\x99h\x99%") == "%99h%99%"); 97 assert (MaybeEscapePattern("\x99\x99+%") == "%99%99+%"); 98 assert (MaybeEscapePattern("\x99\x99%6") == "%99%99%6"); 99 assert (MaybeEscapePattern("v\x99\x99S") == "v%99%99S"); 100 assert (MaybeEscapePattern("\x99\x99%S") == "%99%99%S"); 101 assert (MaybeEscapePattern("\x99\x99%%") == "%99%99%%"); 102 assert (MaybeEscapePattern("v\x99\x99%") == "v%99%99%"); 103 assert (MaybeEscapePattern("\x99h+") == "%99h+"); 104 assert (MaybeEscapePattern("\x99h%") == "%99h%"); 105 assert (MaybeEscapePattern("\x99hd\x99") == "%99hd%99"); 106 assert (MaybeEscapePattern("v\x99+") == "v%99+"); 107 assert (MaybeEscapePattern("\x99 \x99\x99") == "%99 %99%99"); 108 assert (MaybeEscapePattern("\x99%\x99\x99") == "%99%%99%99"); 109 assert (MaybeEscapePattern("\x99 d") == "%99 d"); 110 assert (MaybeEscapePattern("v\x99%") == "v%99%"); 111 assert (MaybeEscapePattern("v\x99d\x99") == "v%99d%99"); 112 assert (MaybeEscapePattern("\x99hd~") == "%99hd~"); 113 assert (MaybeEscapePattern("%\x99\x99\x99") == "%%99%99%99"); 114 assert (MaybeEscapePattern("\x99hd%") == "%99hd%"); 115 assert (MaybeEscapePattern("vhd") == "vhd"); 116 assert (MaybeEscapePattern("\x99hdS") == "%99hdS"); 117 assert (MaybeEscapePattern(",\x99\x99\x99") == ",%99%99%99"); 118 assert (MaybeEscapePattern("vh\x99\x99") == "vh%99%99"); 119 assert (MaybeEscapePattern("\x99h+\x99") == "%99h+%99"); 120 assert (MaybeEscapePattern("\x99 \x99~") == "%99 %99~"); 121 assert (MaybeEscapePattern("\x99h%\x99") == "%99h%%99"); 122 assert (MaybeEscapePattern("\x99%\x99~") == "%99%%99~"); 123 assert (MaybeEscapePattern("%\x99d") == "%%99d"); 124 assert (MaybeEscapePattern("v\x99d~") == "v%99d~"); 125 assert (MaybeEscapePattern("v \x99") == "v %99"); 126 assert (MaybeEscapePattern("\x99h+~") == "%99h+~"); 127 assert (MaybeEscapePattern(",\x99d") == ",%99d"); 128 assert (MaybeEscapePattern("\x99%{") == "%99%{"); 129 assert (MaybeEscapePattern("\x99%d") == "%99%d"); 130 assert (MaybeEscapePattern("v%\x99") == "v%%99"); 131 assert (MaybeEscapePattern(",h\x99") == ",h%99"); 132 assert (MaybeEscapePattern("\x99 \x99S") == "%99 %99S"); 133 assert (MaybeEscapePattern("\x99 \x99%") == "%99 %99%"); 134 assert (MaybeEscapePattern("\x99%\x99S") == "%99%%99S"); 135 assert (MaybeEscapePattern("\x99h%f") == "%99h%f"); 136 assert (MaybeEscapePattern("\x99h%~") == "%99h%~"); 137 assert (MaybeEscapePattern("\x99%\x99%") == "%99%%99%"); 138 assert (MaybeEscapePattern("\x99 +") == "%99 +"); 139 assert (MaybeEscapePattern("\x99h+%") == "%99h+%"); 140 assert (MaybeEscapePattern("\x99h+S") == "%99h+S"); 141 assert (MaybeEscapePattern("\x99h%6") == "%99h%6"); 142 assert (MaybeEscapePattern("v\x99d%") == "v%99d%"); 143 assert (MaybeEscapePattern("\x99 %") == "%99 %"); 144 assert (MaybeEscapePattern("v\x99dS") == "v%99dS"); 145 assert (MaybeEscapePattern("v\x99+\x99") == "v%99+%99"); 146 assert (MaybeEscapePattern("v\x99%\x99") == "v%99%%99"); 147 assert (MaybeEscapePattern("\x99%2") == "%99%2"); 148 assert (MaybeEscapePattern("\x99h%S") == "%99h%S"); 149 assert (MaybeEscapePattern("\x99h%%") == "%99h%%"); 150 assert (MaybeEscapePattern("\x99 d\x99") == "%99 d%99"); 151 assert (MaybeEscapePattern("\x99%+") == "%99%+"); 152 assert (MaybeEscapePattern("\x99%%") == "%99%%"); 153 assert (MaybeEscapePattern("%\x99\x99~") == "%%99%99~"); 154 assert (MaybeEscapePattern(",\x99\x99~") == ",%99%99~"); 155 assert (MaybeEscapePattern("vh\x99~") == "vh%99~"); 156 assert (MaybeEscapePattern("\x99%{\x99") == "%99%{%99"); 157 assert (MaybeEscapePattern("vh+") == "vh+"); 158 assert (MaybeEscapePattern("\x99%d\x99") == "%99%d%99"); 159 assert (MaybeEscapePattern("vh%") == "vh%"); 160 assert (MaybeEscapePattern("\x99 d~") == "%99 d~"); 161 assert (MaybeEscapePattern("v\x99+~") == "v%99+~"); 162 assert (MaybeEscapePattern("\x99 +\x99") == "%99 +%99"); 163 assert (MaybeEscapePattern("\x99%2\x99") == "%99%2%99"); 164 assert (MaybeEscapePattern("\x99 %\x99") == "%99 %%99"); 165 assert (MaybeEscapePattern("\x99%{~") == "%99%{~"); 166 assert (MaybeEscapePattern("\x99 dS") == "%99 dS"); 167 assert (MaybeEscapePattern("\x99 d%") == "%99 d%"); 168 assert (MaybeEscapePattern("\x99%df") == "%99%DF"); 169 assert (MaybeEscapePattern("\x99%+\x99") == "%99%+%99"); 170 assert (MaybeEscapePattern(",\x99\x99S") == ",%99%99S"); 171 assert (MaybeEscapePattern("\x99%d~") == "%99%d~"); 172 assert (MaybeEscapePattern("\x99%%\x99") == "%99%%%99"); 173 assert (MaybeEscapePattern("v\x99%f") == "v%99%f"); 174 assert (MaybeEscapePattern("%\x99\x99S") == "%%99%99S"); 175 assert (MaybeEscapePattern("v\x99%~") == "v%99%~"); 176 assert (MaybeEscapePattern(",\x99\x99%") == ",%99%99%"); 177 assert (MaybeEscapePattern("%\x99\x99%") == "%%99%99%"); 178 assert (MaybeEscapePattern("vh\x99S") == "vh%99S"); 179 assert (MaybeEscapePattern("\x99%d6") == "%99%D6"); 180 assert (MaybeEscapePattern(",hd") == ",hd"); 181 assert (MaybeEscapePattern("v\x99+S") == "v%99+S"); 182 assert (MaybeEscapePattern("v d") == "v d"); 183 assert (MaybeEscapePattern("vh\x99%") == "vh%99%"); 184 assert (MaybeEscapePattern("v\x99+%") == "v%99+%"); 185 assert (MaybeEscapePattern("\x99 +~") == "%99 +~"); 186 assert (MaybeEscapePattern("\x99%{S") == "%99%{S"); 187 assert (MaybeEscapePattern("v\x99%6") == "v%99%6"); 188 assert (MaybeEscapePattern("\x99%{%") == "%99%{%"); 189 assert (MaybeEscapePattern("%\x99+") == "%%99+"); 190 assert (MaybeEscapePattern("\x99%dS") == "%99%dS"); 191 assert (MaybeEscapePattern("\x99%d%") == "%99%d%"); 192 assert (MaybeEscapePattern("%h\x99") == "%h%99"); 193 assert (MaybeEscapePattern(",\x99d\x99") == ",%99d%99"); 194 assert (MaybeEscapePattern("%\x99%") == "%%99%"); 195 assert (MaybeEscapePattern("%c\x99") == "%c%99"); 196 assert (MaybeEscapePattern("v\x99%S") == "v%99%S"); 197 assert (MaybeEscapePattern(",\x99+") == ",%99+"); 198 assert (MaybeEscapePattern(",\x99%") == ",%99%"); 199 assert (MaybeEscapePattern("v\x99%%") == "v%99%%"); 200 assert (MaybeEscapePattern("%\x99d\x99") == "%%99d%99"); 201 assert (MaybeEscapePattern("\x99 %~") == "%99 %~"); 202 assert (MaybeEscapePattern("\x99 %f") == "%99 %f"); 203 assert (MaybeEscapePattern("vhd\x99") == "vhd%99"); 204 assert (MaybeEscapePattern("v \x99\x99") == "v %99%99"); 205 assert (MaybeEscapePattern("\x99%26") == "%99%26"); 206 assert (MaybeEscapePattern("\x99%2f") == "%99%2F"); 207 assert (MaybeEscapePattern("\x99%+~") == "%99%+~"); 208 assert (MaybeEscapePattern("\x99%2~") == "%99%2~"); 209 assert (MaybeEscapePattern("v%\x99\x99") == "v%%99%99"); 210 assert (MaybeEscapePattern("\x99 +S") == "%99 +S"); 211 assert (MaybeEscapePattern("\x99 +%") == "%99 +%"); 212 assert (MaybeEscapePattern("\x99%%~") == "%99%%~"); 213 assert (MaybeEscapePattern("\x99 %6") == "%99 %6"); 214 assert (MaybeEscapePattern("\x99%%f") == "%99%%f"); 215 assert (MaybeEscapePattern(", \x99") == ", %99"); 216 assert (MaybeEscapePattern("\x99 %%") == "%99 %%"); 217 assert (MaybeEscapePattern("vhd~") == "vhd~"); 218 assert (MaybeEscapePattern("\x99 %S") == "%99 %S"); 219 assert (MaybeEscapePattern("\x99%2%") == "%99%2%"); 220 assert (MaybeEscapePattern("\x99%2S") == "%99%2S"); 221 assert (MaybeEscapePattern("\x99%+%") == "%99%+%"); 222 assert (MaybeEscapePattern("\x99%+S") == "%99%+S"); 223 assert (MaybeEscapePattern("\x99%%6") == "%99%%6"); 224 assert (MaybeEscapePattern("v%d") == "v%d"); 225 assert (MaybeEscapePattern("v%{") == "v%{"); 226 assert (MaybeEscapePattern("vhd%") == "vhd%"); 227 assert (MaybeEscapePattern("vhdS") == "vhdS"); 228 assert (MaybeEscapePattern("\x99%%S") == "%99%%S"); 229 assert (MaybeEscapePattern("\x99%%%") == "%99%%%"); 230 assert (MaybeEscapePattern(",%\x99") == ",%%99"); 231 assert (MaybeEscapePattern("%hd") == "%hd"); 232 assert (MaybeEscapePattern("v +") == "v +"); 233 assert (MaybeEscapePattern("vh%\x99") == "vh%%99"); 234 assert (MaybeEscapePattern("vh+\x99") == "vh+%99"); 235 assert (MaybeEscapePattern(",\x99d~") == ",%99d~"); 236 assert (MaybeEscapePattern("%\x99d~") == "%%99d~"); 237 assert (MaybeEscapePattern("vh+~") == "vh+~"); 238 assert (MaybeEscapePattern("v %") == "v %"); 239 assert (MaybeEscapePattern("v%2") == "v%2"); 240 assert (MaybeEscapePattern(",h+") == ",h+"); 241 assert (MaybeEscapePattern("%5\x99") == "%5%99"); 242 assert (MaybeEscapePattern("v \x99~") == "v %99~"); 243 assert (MaybeEscapePattern("v%\x99~") == "v%%99~"); 244 assert (MaybeEscapePattern("vh%~") == "vh%~"); 245 assert (MaybeEscapePattern("vh%f") == "vh%f"); 246 assert (MaybeEscapePattern(",h\x99\x99") == ",h%99%99"); 247 assert (MaybeEscapePattern(",h%") == ",h%"); 248 assert (MaybeEscapePattern("vh+S") == "vh+S"); 249 assert (MaybeEscapePattern("vh+%") == "vh+%"); 250 assert (MaybeEscapePattern("vh%6") == "vh%6"); 251 assert (MaybeEscapePattern("vh%%") == "vh%%"); 252 assert (MaybeEscapePattern("vh%S") == "vh%S"); 253 assert (MaybeEscapePattern("v%+") == "v%+"); 254 assert (MaybeEscapePattern("v%%") == "v%%"); 255 assert (MaybeEscapePattern("v \x99%") == "v %99%"); 256 assert (MaybeEscapePattern(", d") == ", d"); 257 assert (MaybeEscapePattern(",\x99dS") == ",%99dS"); 258 assert (MaybeEscapePattern("v \x99S") == "v %99S"); 259 assert (MaybeEscapePattern("v%\x99S") == "v%%99S"); 260 assert (MaybeEscapePattern("v%\x99%") == "v%%99%"); 261 assert (MaybeEscapePattern(",\x99d%") == ",%99d%"); 262 assert (MaybeEscapePattern("%\x99dS") == "%%99dS"); 263 assert (MaybeEscapePattern("%\x99d%") == "%%99d%"); 264 assert (MaybeEscapePattern(",\x99+\x99") == ",%99+%99"); 265 assert (MaybeEscapePattern("v d\x99") == "v d%99"); 266 assert (MaybeEscapePattern("%\x99+\x99") == "%%99+%99"); 267 assert (MaybeEscapePattern(",\x99%\x99") == ",%99%%99"); 268 assert (MaybeEscapePattern("%\x99%\x99") == "%%99%%99"); 269 assert (MaybeEscapePattern("%%\x99") == "%%%99"); 270 assert (MaybeEscapePattern("% \x99") == "% %99"); 271 assert (MaybeEscapePattern("%cd") == "%CD"); 272 assert (MaybeEscapePattern("v d~") == "v d~"); 273 assert (MaybeEscapePattern("v%{\x99") == "v%{%99"); 274 assert (MaybeEscapePattern("v%d\x99") == "v%d%99"); 275 assert (MaybeEscapePattern("%c{") == "%c{"); 276 assert (MaybeEscapePattern("v%{~") == "v%{~"); 277 assert (MaybeEscapePattern("v +\x99") == "v +%99"); 278 assert (MaybeEscapePattern("%\x99+~") == "%%99+~"); 279 assert (MaybeEscapePattern(",\x99+~") == ",%99+~"); 280 assert (MaybeEscapePattern("v %\x99") == "v %%99"); 281 assert (MaybeEscapePattern("v dS") == "v dS"); 282 assert (MaybeEscapePattern("v +~") == "v +~"); 283 assert (MaybeEscapePattern("v%d~") == "v%d~"); 284 assert (MaybeEscapePattern("v d%") == "v d%"); 285 assert (MaybeEscapePattern("v%2\x99") == "v%2%99"); 286 assert (MaybeEscapePattern("%h%") == "%h%"); 287 assert (MaybeEscapePattern("%h\x99\x99") == "%h%99%99"); 288 assert (MaybeEscapePattern("v%df") == "v%DF"); 289 assert (MaybeEscapePattern("%c\x99\x99") == "%c%99%99"); 290 assert (MaybeEscapePattern("%h+") == "%h+"); 291 assert (MaybeEscapePattern("v%{S") == "v%{S"); 292 assert (MaybeEscapePattern("v%{%") == "v%{%"); 293 assert (MaybeEscapePattern(",%{") == ",%{"); 294 assert (MaybeEscapePattern("v%+\x99") == "v%+%99"); 295 assert (MaybeEscapePattern("v%d6") == "v%D6"); 296 assert (MaybeEscapePattern("v%%\x99") == "v%%%99"); 297 assert (MaybeEscapePattern(",h\x99~") == ",h%99~"); 298 assert (MaybeEscapePattern("v%dS") == "v%dS"); 299 assert (MaybeEscapePattern("v%d%") == "v%d%"); 300 assert (MaybeEscapePattern("%52") == "%52"); 301 assert (MaybeEscapePattern(", +") == ", +"); 302 assert (MaybeEscapePattern("%\x99%~") == "%%99%~"); 303 assert (MaybeEscapePattern("v %~") == "v %~"); 304 assert (MaybeEscapePattern("%\x99%f") == "%%99%f"); 305 assert (MaybeEscapePattern("v %f") == "v %f"); 306 assert (MaybeEscapePattern(",\x99%f") == ",%99%f"); 307 assert (MaybeEscapePattern(",\x99%~") == ",%99%~"); 308 assert (MaybeEscapePattern(",\x99+S") == ",%99+S"); 309 assert (MaybeEscapePattern("v%+~") == "v%+~"); 310 assert (MaybeEscapePattern(",\x99+%") == ",%99+%"); 311 assert (MaybeEscapePattern("v%2f") == "v%2F"); 312 assert (MaybeEscapePattern("v +%") == "v +%"); 313 assert (MaybeEscapePattern("v +S") == "v +S"); 314 assert (MaybeEscapePattern("v%2~") == "v%2~"); 315 assert (MaybeEscapePattern("v%%f") == "v%%f"); 316 assert (MaybeEscapePattern("v %6") == "v %6"); 317 assert (MaybeEscapePattern("v%%~") == "v%%~"); 318 assert (MaybeEscapePattern("v%26") == "v%26"); 319 assert (MaybeEscapePattern(",\x99%6") == ",%99%6"); 320 assert (MaybeEscapePattern("%\x99+S") == "%%99+S"); 321 assert (MaybeEscapePattern("%\x99%6") == "%%99%6"); 322 assert (MaybeEscapePattern(",%d") == ",%d"); 323 assert (MaybeEscapePattern("v %S") == "v %S"); 324 assert (MaybeEscapePattern("v %%") == "v %%"); 325 assert (MaybeEscapePattern("%\x99+%") == "%%99+%"); 326 assert (MaybeEscapePattern("v%2S") == "v%2S"); 327 assert (MaybeEscapePattern("%c2") == "%C2"); 328 assert (MaybeEscapePattern("v%2%") == "v%2%"); 329 assert (MaybeEscapePattern("v%+S") == "v%+S"); 330 assert (MaybeEscapePattern("v%+%") == "v%+%"); 331 assert (MaybeEscapePattern("v%%6") == "v%%6"); 332 assert (MaybeEscapePattern(", %") == ", %"); 333 assert (MaybeEscapePattern("v%%%") == "v%%%"); 334 assert (MaybeEscapePattern("v%%S") == "v%%S"); 335 assert (MaybeEscapePattern(",\x99%S") == ",%99%S"); 336 assert (MaybeEscapePattern(",\x99%%") == ",%99%%"); 337 assert (MaybeEscapePattern("%c+") == "%c+"); 338 assert (MaybeEscapePattern("%\x99%%") == "%%99%%"); 339 assert (MaybeEscapePattern("%\x99%S") == "%%99%S"); 340 assert (MaybeEscapePattern("%5{") == "%5{"); 341 assert (MaybeEscapePattern("%5d") == "%5D"); 342 assert (MaybeEscapePattern("% d") == "% d"); 343 assert (MaybeEscapePattern("%c%") == "%c%"); 344 assert (MaybeEscapePattern("%h\x99~") == "%h%99~"); 345 assert (MaybeEscapePattern(",hd\x99") == ",hd%99"); 346 assert (MaybeEscapePattern(",%2") == ",%2"); 347 assert (MaybeEscapePattern("%c\x99~") == "%c%99~"); 348 assert (MaybeEscapePattern(",%\x99\x99") == ",%%99%99"); 349 assert (MaybeEscapePattern(", \x99\x99") == ", %99%99"); 350 assert (MaybeEscapePattern("% +") == "% +"); 351 assert (MaybeEscapePattern("%%d") == "%%d"); 352 assert (MaybeEscapePattern("%%{") == "%%{"); 353 assert (MaybeEscapePattern(",h\x99S") == ",h%99S"); 354 assert (MaybeEscapePattern("%5\x99\x99") == "%5%99%99"); 355 assert (MaybeEscapePattern(",%%") == ",%%"); 356 assert (MaybeEscapePattern(",h\x99%") == ",h%99%"); 357 assert (MaybeEscapePattern(",%+") == ",%+"); 358 assert (MaybeEscapePattern(",hd~") == ",hd~"); 359 assert (MaybeEscapePattern("%%2") == "%%2"); 360 assert (MaybeEscapePattern("% \x99\x99") == "% %99%99"); 361 assert (MaybeEscapePattern("%h\x99S") == "%h%99S"); 362 assert (MaybeEscapePattern("% %") == "% %"); 363 assert (MaybeEscapePattern("%h\x99%") == "%h%99%"); 364 assert (MaybeEscapePattern("%5+") == "%5+"); 365 assert (MaybeEscapePattern("%%\x99\x99") == "%%%99%99"); 366 assert (MaybeEscapePattern("%c\x99S") == "%c%99S"); 367 assert (MaybeEscapePattern("%5%") == "%5%"); 368 assert (MaybeEscapePattern("%c\x99%") == "%c%99%"); 369 assert (MaybeEscapePattern("%hd\x99") == "%hd%99"); 370 assert (MaybeEscapePattern("%%+") == "%%+"); 371 assert (MaybeEscapePattern("%%%") == "%%%"); 372 assert (MaybeEscapePattern(", \x99~") == ", %99~"); 373 assert (MaybeEscapePattern("%cd\x99") == "%CD%99"); 374 assert (MaybeEscapePattern(",%\x99~") == ",%%99~"); 375 assert (MaybeEscapePattern("%c{\x99") == "%c{%99"); 376 assert (MaybeEscapePattern(",hdS") == ",hdS"); 377 assert (MaybeEscapePattern("%5\x99~") == "%5%99~"); 378 assert (MaybeEscapePattern("%hd~") == "%hd~"); 379 assert (MaybeEscapePattern(",h+\x99") == ",h+%99"); 380 assert (MaybeEscapePattern(",hd%") == ",hd%"); 381 assert (MaybeEscapePattern(",h%\x99") == ",h%%99"); 382 assert (MaybeEscapePattern("%c{~") == "%c{~"); 383 assert (MaybeEscapePattern("%cd~") == "%CD~"); 384 assert (MaybeEscapePattern("%hdS") == "%hdS"); 385 assert (MaybeEscapePattern("%hd%") == "%hd%"); 386 assert (MaybeEscapePattern("% \x99~") == "% %99~"); 387 assert (MaybeEscapePattern(",h+~") == ",h+~"); 388 assert (MaybeEscapePattern("%%\x99~") == "%%%99~"); 389 assert (MaybeEscapePattern("%c{S") == "%c{S"); 390 assert (MaybeEscapePattern("%c{%") == "%c{%"); 391 assert (MaybeEscapePattern("%c2\x99") == "%C2%99"); 392 assert (MaybeEscapePattern("%cdS") == "%CDS"); 393 assert (MaybeEscapePattern("%cd%") == "%CD%"); 394 assert (MaybeEscapePattern(", \x99S") == ", %99S"); 395 assert (MaybeEscapePattern("%h+\x99") == "%h+%99"); 396 assert (MaybeEscapePattern(",h+S") == ",h+S"); 397 assert (MaybeEscapePattern("%h%\x99") == "%h%%99"); 398 assert (MaybeEscapePattern(", \x99%") == ", %99%"); 399 assert (MaybeEscapePattern(",h%~") == ",h%~"); 400 assert (MaybeEscapePattern(",%\x99%") == ",%%99%"); 401 assert (MaybeEscapePattern(",%\x99S") == ",%%99S"); 402 assert (MaybeEscapePattern(",h+%") == ",h+%"); 403 assert (MaybeEscapePattern(", d\x99") == ", d%99"); 404 assert (MaybeEscapePattern(",h%f") == ",h%f"); 405 assert (MaybeEscapePattern(", d~") == ", d~"); 406 assert (MaybeEscapePattern("%c+\x99") == "%c+%99"); 407 assert (MaybeEscapePattern("%5\x99S") == "%5%99S"); 408 assert (MaybeEscapePattern("%c%\x99") == "%c%%99"); 409 assert (MaybeEscapePattern(",h%6") == ",h%6"); 410 assert (MaybeEscapePattern("%5\x99%") == "%5%99%"); 411 assert (MaybeEscapePattern("%h+~") == "%h+~"); 412 assert (MaybeEscapePattern(",h%S") == ",h%S"); 413 assert (MaybeEscapePattern(",h%%") == ",h%%"); 414 assert (MaybeEscapePattern("%h+S") == "%h+S"); 415 assert (MaybeEscapePattern("%c2~") == "%C2~"); 416 assert (MaybeEscapePattern("% \x99S") == "% %99S"); 417 assert (MaybeEscapePattern("%h%f") == "%h%f"); 418 assert (MaybeEscapePattern("%h%~") == "%h%~"); 419 assert (MaybeEscapePattern(", d%") == ", d%"); 420 assert (MaybeEscapePattern("%c+~") == "%c+~"); 421 assert (MaybeEscapePattern("%h+%") == "%h+%"); 422 assert (MaybeEscapePattern("% \x99%") == "% %99%"); 423 assert (MaybeEscapePattern("%%\x99S") == "%%%99S"); 424 assert (MaybeEscapePattern("%%\x99%") == "%%%99%"); 425 assert (MaybeEscapePattern("%c%~") == "%c%~"); 426 assert (MaybeEscapePattern("%c%f") == "%c%f"); 427 assert (MaybeEscapePattern("%h%6") == "%h%6"); 428 assert (MaybeEscapePattern("%h%S") == "%h%S"); 429 assert (MaybeEscapePattern(", dS") == ", dS"); 430 assert (MaybeEscapePattern("%h%%") == "%h%%"); 431 assert (MaybeEscapePattern("%c2%") == "%C2%"); 432 assert (MaybeEscapePattern("%c2S") == "%C2S"); 433 assert (MaybeEscapePattern("%c+S") == "%c+S"); 434 assert (MaybeEscapePattern("%c%6") == "%c%6"); 435 assert (MaybeEscapePattern("%c+%") == "%c+%"); 436 assert (MaybeEscapePattern("%c%S") == "%c%S"); 437 assert (MaybeEscapePattern("%c%%") == "%c%%"); 438 assert (MaybeEscapePattern(",%{~") == ",%{~"); 439 assert (MaybeEscapePattern("%52~") == "%52~"); 440 assert (MaybeEscapePattern(", +~") == ", +~"); 441 assert (MaybeEscapePattern("% d~") == "% d~"); 442 assert (MaybeEscapePattern(",%{\x99") == ",%{%99"); 443 assert (MaybeEscapePattern(",%d\x99") == ",%d%99"); 444 assert (MaybeEscapePattern("% d\x99") == "% d%99"); 445 assert (MaybeEscapePattern(",%{S") == ",%{S"); 446 assert (MaybeEscapePattern("%52\x99") == "%52%99"); 447 assert (MaybeEscapePattern("%52S") == "%52S"); 448 assert (MaybeEscapePattern(",%26") == ",%26"); 449 assert (MaybeEscapePattern("%5d\x99") == "%5D%99"); 450 assert (MaybeEscapePattern("%5{\x99") == "%5{%99"); 451 assert (MaybeEscapePattern(",%{%") == ",%{%"); 452 assert (MaybeEscapePattern(", +\x99") == ", +%99"); 453 assert (MaybeEscapePattern(", +%") == ", +%"); 454 assert (MaybeEscapePattern(", %\x99") == ", %%99"); 455 assert (MaybeEscapePattern(",%+~") == ",%+~"); 456 assert (MaybeEscapePattern(",%d~") == ",%d~"); 457 assert (MaybeEscapePattern("% +~") == "% +~"); 458 assert (MaybeEscapePattern("%52%") == "%52%"); 459 assert (MaybeEscapePattern(", %6") == ", %6"); 460 assert (MaybeEscapePattern(",%2\x99") == ",%2%99"); 461 assert (MaybeEscapePattern(", +S") == ", +S"); 462 assert (MaybeEscapePattern(", %~") == ", %~"); 463 assert (MaybeEscapePattern("% d%") == "% d%"); 464 assert (MaybeEscapePattern("%%d\x99") == "%%d%99"); 465 assert (MaybeEscapePattern("%%{\x99") == "%%{%99"); 466 assert (MaybeEscapePattern("% dS") == "% dS"); 467 assert (MaybeEscapePattern("%5+~") == "%5+~"); 468 assert (MaybeEscapePattern("%5{~") == "%5{~"); 469 assert (MaybeEscapePattern(",%d%") == ",%d%"); 470 assert (MaybeEscapePattern(",%df") == ",%DF"); 471 assert (MaybeEscapePattern(",%dS") == ",%dS"); 472 assert (MaybeEscapePattern(",%d6") == ",%D6"); 473 assert (MaybeEscapePattern("%5d~") == "%5D~"); 474 assert (MaybeEscapePattern("%%{~") == "%%{~"); 475 assert (MaybeEscapePattern(",%+\x99") == ",%+%99"); 476 assert (MaybeEscapePattern(", %f") == ", %f"); 477 assert (MaybeEscapePattern(",%2~") == ",%2~"); 478 assert (MaybeEscapePattern(", %S") == ", %S"); 479 assert (MaybeEscapePattern(",%%\x99") == ",%%%99"); 480 assert (MaybeEscapePattern("%%{S") == "%%{S"); 481 assert (MaybeEscapePattern("%5+S") == "%5+S"); 482 assert (MaybeEscapePattern("%%d~") == "%%d~"); 483 assert (MaybeEscapePattern("%%26") == "%%26"); 484 assert (MaybeEscapePattern("%%{%") == "%%{%"); 485 assert (MaybeEscapePattern("%5{S") == "%5{S"); 486 assert (MaybeEscapePattern(", %%") == ", %%"); 487 assert (MaybeEscapePattern("%%df") == "%%DF"); 488 assert (MaybeEscapePattern(",%2S") == ",%2S"); 489 assert (MaybeEscapePattern("%5{%") == "%5{%"); 490 assert (MaybeEscapePattern(",%+%") == ",%+%"); 491 assert (MaybeEscapePattern(",%%~") == ",%%~"); 492 assert (MaybeEscapePattern("%5%~") == "%5%~"); 493 assert (MaybeEscapePattern("%5+\x99") == "%5+%99"); 494 assert (MaybeEscapePattern("%5%\x99") == "%5%%99"); 495 assert (MaybeEscapePattern("%5%f") == "%5%f"); 496 assert (MaybeEscapePattern(",%2%") == ",%2%"); 497 assert (MaybeEscapePattern("%5dS") == "%5DS"); 498 assert (MaybeEscapePattern("% %6") == "% %6"); 499 assert (MaybeEscapePattern("%5d%") == "%5D%"); 500 assert (MaybeEscapePattern("%%dS") == "%%dS"); 501 assert (MaybeEscapePattern("%%d%") == "%%d%"); 502 assert (MaybeEscapePattern("%%d6") == "%%D6"); 503 assert (MaybeEscapePattern("% %f") == "% %f"); 504 assert (MaybeEscapePattern(",%%6") == ",%%6"); 505 assert (MaybeEscapePattern(",%+S") == ",%+S"); 506 assert (MaybeEscapePattern("% +\x99") == "% +%99"); 507 assert (MaybeEscapePattern("% %\x99") == "% %%99"); 508 assert (MaybeEscapePattern("% %~") == "% %~"); 509 assert (MaybeEscapePattern(",%%f") == ",%%f"); 510 assert (MaybeEscapePattern("% %S") == "% %S"); 511 assert (MaybeEscapePattern("%%2~") == "%%2~"); 512 assert (MaybeEscapePattern("%%+~") == "%%+~"); 513 assert (MaybeEscapePattern("%%2\x99") == "%%2%99"); 514 assert (MaybeEscapePattern("% +%") == "% +%"); 515 assert (MaybeEscapePattern(",%%S") == ",%%S"); 516 assert (MaybeEscapePattern("%%+S") == "%%+S"); 517 assert (MaybeEscapePattern(",%2f") == ",%2F"); 518 assert (MaybeEscapePattern("%%+\x99") == "%%+%99"); 519 assert (MaybeEscapePattern("% +S") == "% +S"); 520 assert (MaybeEscapePattern("%5%S") == "%5%S"); 521 assert (MaybeEscapePattern(",%%%") == ",%%%"); 522 assert (MaybeEscapePattern("%%%~") == "%%%~"); 523 assert (MaybeEscapePattern("%5%6") == "%5%6"); 524 assert (MaybeEscapePattern("%%%\x99") == "%%%%99"); 525 assert (MaybeEscapePattern("%5+%") == "%5+%"); 526 assert (MaybeEscapePattern("%%%f") == "%%%f"); 527 assert (MaybeEscapePattern("%5%%") == "%5%%"); 528 assert (MaybeEscapePattern("%%2f") == "%%2F"); 529 assert (MaybeEscapePattern("% %%") == "% %%"); 530 assert (MaybeEscapePattern("%%%S") == "%%%S"); 531 assert (MaybeEscapePattern("%%+%") == "%%+%"); 532 assert (MaybeEscapePattern("%%2%") == "%%2%"); 533 assert (MaybeEscapePattern("%%2S") == "%%2S"); 534 assert (MaybeEscapePattern("%%%6") == "%%%6"); 535 assert (MaybeEscapePattern("%%%%") == "%%%%"); 536 } 537 538 unittest 539 { 540 assert (MaybeEscapePattern("aaaaaaaa") == "aaaaaaaa"); 541 assert (MaybeEscapePattern("aaaaaaaA") == "aaaaaaaA"); 542 assert (MaybeEscapePattern("aaaaaaa%") == "aaaaaaa%"); 543 assert (MaybeEscapePattern("aaaaaaAa") == "aaaaaaAa"); 544 assert (MaybeEscapePattern("aaaaaaA%") == "aaaaaaA%"); 545 assert (MaybeEscapePattern("aaaaaa%a") == "aaaaaa%a"); 546 assert (MaybeEscapePattern("aaaaaa%A") == "aaaaaa%A"); 547 assert (MaybeEscapePattern("aaaaaa%%") == "aaaaaa%%"); 548 assert (MaybeEscapePattern("aaaaaAaa") == "aaaaaAaa"); 549 assert (MaybeEscapePattern("aaaaaAa%") == "aaaaaAa%"); 550 assert (MaybeEscapePattern("aaaaaA%a") == "aaaaaA%a"); 551 assert (MaybeEscapePattern("aaaaaA%%") == "aaaaaA%%"); 552 assert (MaybeEscapePattern("aaaaa%aa") == "aaaaa%AA"); 553 assert (MaybeEscapePattern("aaaaa%aA") == "aaaaa%AA"); 554 assert (MaybeEscapePattern("aaaaa%a%") == "aaaaa%a%"); 555 assert (MaybeEscapePattern("aaaaa%Aa") == "aaaaa%AA"); 556 assert (MaybeEscapePattern("aaaaa%A%") == "aaaaa%A%"); 557 assert (MaybeEscapePattern("aaaaa%%a") == "aaaaa%%a"); 558 assert (MaybeEscapePattern("aaaaa%%A") == "aaaaa%%A"); 559 assert (MaybeEscapePattern("aaaaa%%%") == "aaaaa%%%"); 560 assert (MaybeEscapePattern("aaaaAaaa") == "aaaaAaaa"); 561 assert (MaybeEscapePattern("aaaaAaa%") == "aaaaAaa%"); 562 assert (MaybeEscapePattern("aaaaAa%a") == "aaaaAa%a"); 563 assert (MaybeEscapePattern("aaaaAa%%") == "aaaaAa%%"); 564 assert (MaybeEscapePattern("aaaaA%aa") == "aaaaA%AA"); 565 assert (MaybeEscapePattern("aaaaA%a%") == "aaaaA%a%"); 566 assert (MaybeEscapePattern("aaaaA%%a") == "aaaaA%%a"); 567 assert (MaybeEscapePattern("aaaaA%%%") == "aaaaA%%%"); 568 assert (MaybeEscapePattern("aaaa%aaa") == "aaaa%AAa"); 569 assert (MaybeEscapePattern("aaaa%aaA") == "aaaa%AAA"); 570 assert (MaybeEscapePattern("aaaa%aa%") == "aaaa%AA%"); 571 assert (MaybeEscapePattern("aaaa%aAa") == "aaaa%AAa"); 572 assert (MaybeEscapePattern("aaaa%aA%") == "aaaa%AA%"); 573 assert (MaybeEscapePattern("aaaa%a%a") == "aaaa%a%a"); 574 assert (MaybeEscapePattern("aaaa%a%A") == "aaaa%a%A"); 575 assert (MaybeEscapePattern("aaaa%a%%") == "aaaa%a%%"); 576 assert (MaybeEscapePattern("aaaa%Aaa") == "aaaa%AAa"); 577 assert (MaybeEscapePattern("aaaa%Aa%") == "aaaa%AA%"); 578 assert (MaybeEscapePattern("aaaa%A%a") == "aaaa%A%a"); 579 assert (MaybeEscapePattern("aaaa%A%%") == "aaaa%A%%"); 580 assert (MaybeEscapePattern("aaaa%%aa") == "aaaa%%AA"); 581 assert (MaybeEscapePattern("aaaa%%aA") == "aaaa%%AA"); 582 assert (MaybeEscapePattern("aaaa%%a%") == "aaaa%%a%"); 583 assert (MaybeEscapePattern("aaaa%%Aa") == "aaaa%%AA"); 584 assert (MaybeEscapePattern("aaaa%%A%") == "aaaa%%A%"); 585 assert (MaybeEscapePattern("aaaa%%%a") == "aaaa%%%a"); 586 assert (MaybeEscapePattern("aaaa%%%A") == "aaaa%%%A"); 587 assert (MaybeEscapePattern("aaaa%%%%") == "aaaa%%%%"); 588 assert (MaybeEscapePattern("aaaAaaaa") == "aaaAaaaa"); 589 assert (MaybeEscapePattern("aaaAaaa%") == "aaaAaaa%"); 590 assert (MaybeEscapePattern("aaaAaa%a") == "aaaAaa%a"); 591 assert (MaybeEscapePattern("aaaAaa%%") == "aaaAaa%%"); 592 assert (MaybeEscapePattern("aaaAa%aa") == "aaaAa%AA"); 593 assert (MaybeEscapePattern("aaaAa%a%") == "aaaAa%a%"); 594 assert (MaybeEscapePattern("aaaAa%%a") == "aaaAa%%a"); 595 assert (MaybeEscapePattern("aaaAa%%%") == "aaaAa%%%"); 596 assert (MaybeEscapePattern("aaaA%aaa") == "aaaA%AAa"); 597 assert (MaybeEscapePattern("aaaA%aa%") == "aaaA%AA%"); 598 assert (MaybeEscapePattern("aaaA%a%a") == "aaaA%a%a"); 599 assert (MaybeEscapePattern("aaaA%a%%") == "aaaA%a%%"); 600 assert (MaybeEscapePattern("aaaA%%aa") == "aaaA%%AA"); 601 assert (MaybeEscapePattern("aaaA%%a%") == "aaaA%%a%"); 602 assert (MaybeEscapePattern("aaaA%%%a") == "aaaA%%%a"); 603 assert (MaybeEscapePattern("aaaA%%%%") == "aaaA%%%%"); 604 assert (MaybeEscapePattern("aaa%aaaa") == "aaa%AAaa"); 605 assert (MaybeEscapePattern("aaa%aaaA") == "aaa%AAaA"); 606 assert (MaybeEscapePattern("aaa%aaa%") == "aaa%AAa%"); 607 assert (MaybeEscapePattern("aaa%aaAa") == "aaa%AAAa"); 608 assert (MaybeEscapePattern("aaa%aaA%") == "aaa%AAA%"); 609 assert (MaybeEscapePattern("aaa%aa%a") == "aaa%AA%a"); 610 assert (MaybeEscapePattern("aaa%aa%A") == "aaa%AA%A"); 611 assert (MaybeEscapePattern("aaa%aa%%") == "aaa%AA%%"); 612 assert (MaybeEscapePattern("aaa%aAaa") == "aaa%AAaa"); 613 assert (MaybeEscapePattern("aaa%aAa%") == "aaa%AAa%"); 614 assert (MaybeEscapePattern("aaa%aA%a") == "aaa%AA%a"); 615 assert (MaybeEscapePattern("aaa%aA%%") == "aaa%AA%%"); 616 assert (MaybeEscapePattern("aaa%a%aa") == "aaa%a%AA"); 617 assert (MaybeEscapePattern("aaa%a%aA") == "aaa%a%AA"); 618 assert (MaybeEscapePattern("aaa%a%a%") == "aaa%a%a%"); 619 assert (MaybeEscapePattern("aaa%a%Aa") == "aaa%a%AA"); 620 assert (MaybeEscapePattern("aaa%a%A%") == "aaa%a%A%"); 621 assert (MaybeEscapePattern("aaa%a%%a") == "aaa%a%%a"); 622 assert (MaybeEscapePattern("aaa%a%%A") == "aaa%a%%A"); 623 assert (MaybeEscapePattern("aaa%a%%%") == "aaa%a%%%"); 624 assert (MaybeEscapePattern("aaa%Aaaa") == "aaa%AAaa"); 625 assert (MaybeEscapePattern("aaa%Aaa%") == "aaa%AAa%"); 626 assert (MaybeEscapePattern("aaa%Aa%a") == "aaa%AA%a"); 627 assert (MaybeEscapePattern("aaa%Aa%%") == "aaa%AA%%"); 628 assert (MaybeEscapePattern("aaa%A%aa") == "aaa%A%AA"); 629 assert (MaybeEscapePattern("aaa%A%a%") == "aaa%A%a%"); 630 assert (MaybeEscapePattern("aaa%A%%a") == "aaa%A%%a"); 631 assert (MaybeEscapePattern("aaa%A%%%") == "aaa%A%%%"); 632 assert (MaybeEscapePattern("aaa%%aaa") == "aaa%%AAa"); 633 assert (MaybeEscapePattern("aaa%%aaA") == "aaa%%AAA"); 634 assert (MaybeEscapePattern("aaa%%aa%") == "aaa%%AA%"); 635 assert (MaybeEscapePattern("aaa%%aAa") == "aaa%%AAa"); 636 assert (MaybeEscapePattern("aaa%%aA%") == "aaa%%AA%"); 637 assert (MaybeEscapePattern("aaa%%a%a") == "aaa%%a%a"); 638 assert (MaybeEscapePattern("aaa%%a%A") == "aaa%%a%A"); 639 assert (MaybeEscapePattern("aaa%%a%%") == "aaa%%a%%"); 640 assert (MaybeEscapePattern("aaa%%Aaa") == "aaa%%AAa"); 641 assert (MaybeEscapePattern("aaa%%Aa%") == "aaa%%AA%"); 642 assert (MaybeEscapePattern("aaa%%A%a") == "aaa%%A%a"); 643 assert (MaybeEscapePattern("aaa%%A%%") == "aaa%%A%%"); 644 assert (MaybeEscapePattern("aaa%%%aa") == "aaa%%%AA"); 645 assert (MaybeEscapePattern("aaa%%%aA") == "aaa%%%AA"); 646 assert (MaybeEscapePattern("aaa%%%a%") == "aaa%%%a%"); 647 assert (MaybeEscapePattern("aaa%%%Aa") == "aaa%%%AA"); 648 assert (MaybeEscapePattern("aaa%%%A%") == "aaa%%%A%"); 649 assert (MaybeEscapePattern("aaa%%%%a") == "aaa%%%%a"); 650 assert (MaybeEscapePattern("aaa%%%%A") == "aaa%%%%A"); 651 assert (MaybeEscapePattern("aaa%%%%%") == "aaa%%%%%"); 652 assert (MaybeEscapePattern("aaAaaaaa") == "aaAaaaaa"); 653 assert (MaybeEscapePattern("aaAaaaa%") == "aaAaaaa%"); 654 assert (MaybeEscapePattern("aaAaaa%a") == "aaAaaa%a"); 655 assert (MaybeEscapePattern("aaAaaa%%") == "aaAaaa%%"); 656 assert (MaybeEscapePattern("aaAaa%aa") == "aaAaa%AA"); 657 assert (MaybeEscapePattern("aaAaa%a%") == "aaAaa%a%"); 658 assert (MaybeEscapePattern("aaAaa%%a") == "aaAaa%%a"); 659 assert (MaybeEscapePattern("aaAaa%%%") == "aaAaa%%%"); 660 assert (MaybeEscapePattern("aaAa%aaa") == "aaAa%AAa"); 661 assert (MaybeEscapePattern("aaAa%aa%") == "aaAa%AA%"); 662 assert (MaybeEscapePattern("aaAa%a%a") == "aaAa%a%a"); 663 assert (MaybeEscapePattern("aaAa%a%%") == "aaAa%a%%"); 664 assert (MaybeEscapePattern("aaAa%%aa") == "aaAa%%AA"); 665 assert (MaybeEscapePattern("aaAa%%a%") == "aaAa%%a%"); 666 assert (MaybeEscapePattern("aaAa%%%a") == "aaAa%%%a"); 667 assert (MaybeEscapePattern("aaAa%%%%") == "aaAa%%%%"); 668 assert (MaybeEscapePattern("aaA%aaaa") == "aaA%AAaa"); 669 assert (MaybeEscapePattern("aaA%aaa%") == "aaA%AAa%"); 670 assert (MaybeEscapePattern("aaA%aa%a") == "aaA%AA%a"); 671 assert (MaybeEscapePattern("aaA%aa%%") == "aaA%AA%%"); 672 assert (MaybeEscapePattern("aaA%a%aa") == "aaA%a%AA"); 673 assert (MaybeEscapePattern("aaA%a%a%") == "aaA%a%a%"); 674 assert (MaybeEscapePattern("aaA%a%%a") == "aaA%a%%a"); 675 assert (MaybeEscapePattern("aaA%a%%%") == "aaA%a%%%"); 676 assert (MaybeEscapePattern("aaA%%aaa") == "aaA%%AAa"); 677 assert (MaybeEscapePattern("aaA%%aa%") == "aaA%%AA%"); 678 assert (MaybeEscapePattern("aaA%%a%a") == "aaA%%a%a"); 679 assert (MaybeEscapePattern("aaA%%a%%") == "aaA%%a%%"); 680 assert (MaybeEscapePattern("aaA%%%aa") == "aaA%%%AA"); 681 assert (MaybeEscapePattern("aaA%%%a%") == "aaA%%%a%"); 682 assert (MaybeEscapePattern("aaA%%%%a") == "aaA%%%%a"); 683 assert (MaybeEscapePattern("aaA%%%%%") == "aaA%%%%%"); 684 assert (MaybeEscapePattern("aa%aaaaa") == "aa%AAaaa"); 685 assert (MaybeEscapePattern("aa%aaaaA") == "aa%AAaaA"); 686 assert (MaybeEscapePattern("aa%aaaa%") == "aa%AAaa%"); 687 assert (MaybeEscapePattern("aa%aaaAa") == "aa%AAaAa"); 688 assert (MaybeEscapePattern("aa%aaaA%") == "aa%AAaA%"); 689 assert (MaybeEscapePattern("aa%aaa%a") == "aa%AAa%a"); 690 assert (MaybeEscapePattern("aa%aaa%A") == "aa%AAa%A"); 691 assert (MaybeEscapePattern("aa%aaa%%") == "aa%AAa%%"); 692 assert (MaybeEscapePattern("aa%aaAaa") == "aa%AAAaa"); 693 assert (MaybeEscapePattern("aa%aaAa%") == "aa%AAAa%"); 694 assert (MaybeEscapePattern("aa%aaA%a") == "aa%AAA%a"); 695 assert (MaybeEscapePattern("aa%aaA%%") == "aa%AAA%%"); 696 assert (MaybeEscapePattern("aa%aa%aa") == "aa%AA%AA"); 697 assert (MaybeEscapePattern("aa%aa%aA") == "aa%AA%AA"); 698 assert (MaybeEscapePattern("aa%aa%a%") == "aa%AA%a%"); 699 assert (MaybeEscapePattern("aa%aa%Aa") == "aa%AA%AA"); 700 assert (MaybeEscapePattern("aa%aa%A%") == "aa%AA%A%"); 701 assert (MaybeEscapePattern("aa%aa%%a") == "aa%AA%%a"); 702 assert (MaybeEscapePattern("aa%aa%%A") == "aa%AA%%A"); 703 assert (MaybeEscapePattern("aa%aa%%%") == "aa%AA%%%"); 704 assert (MaybeEscapePattern("aa%aAaaa") == "aa%AAaaa"); 705 assert (MaybeEscapePattern("aa%aAaa%") == "aa%AAaa%"); 706 assert (MaybeEscapePattern("aa%aAa%a") == "aa%AAa%a"); 707 assert (MaybeEscapePattern("aa%aAa%%") == "aa%AAa%%"); 708 assert (MaybeEscapePattern("aa%aA%aa") == "aa%AA%AA"); 709 assert (MaybeEscapePattern("aa%aA%a%") == "aa%AA%a%"); 710 assert (MaybeEscapePattern("aa%aA%%a") == "aa%AA%%a"); 711 assert (MaybeEscapePattern("aa%aA%%%") == "aa%AA%%%"); 712 assert (MaybeEscapePattern("aa%a%aaa") == "aa%a%AAa"); 713 assert (MaybeEscapePattern("aa%a%aaA") == "aa%a%AAA"); 714 assert (MaybeEscapePattern("aa%a%aa%") == "aa%a%AA%"); 715 assert (MaybeEscapePattern("aa%a%aAa") == "aa%a%AAa"); 716 assert (MaybeEscapePattern("aa%a%aA%") == "aa%a%AA%"); 717 assert (MaybeEscapePattern("aa%a%a%a") == "aa%a%a%a"); 718 assert (MaybeEscapePattern("aa%a%a%A") == "aa%a%a%A"); 719 assert (MaybeEscapePattern("aa%a%a%%") == "aa%a%a%%"); 720 assert (MaybeEscapePattern("aa%a%Aaa") == "aa%a%AAa"); 721 assert (MaybeEscapePattern("aa%a%Aa%") == "aa%a%AA%"); 722 assert (MaybeEscapePattern("aa%a%A%a") == "aa%a%A%a"); 723 assert (MaybeEscapePattern("aa%a%A%%") == "aa%a%A%%"); 724 assert (MaybeEscapePattern("aa%a%%aa") == "aa%a%%AA"); 725 assert (MaybeEscapePattern("aa%a%%aA") == "aa%a%%AA"); 726 assert (MaybeEscapePattern("aa%a%%a%") == "aa%a%%a%"); 727 assert (MaybeEscapePattern("aa%a%%Aa") == "aa%a%%AA"); 728 assert (MaybeEscapePattern("aa%a%%A%") == "aa%a%%A%"); 729 assert (MaybeEscapePattern("aa%a%%%a") == "aa%a%%%a"); 730 assert (MaybeEscapePattern("aa%a%%%A") == "aa%a%%%A"); 731 assert (MaybeEscapePattern("aa%a%%%%") == "aa%a%%%%"); 732 assert (MaybeEscapePattern("aa%Aaaaa") == "aa%AAaaa"); 733 assert (MaybeEscapePattern("aa%Aaaa%") == "aa%AAaa%"); 734 assert (MaybeEscapePattern("aa%Aaa%a") == "aa%AAa%a"); 735 assert (MaybeEscapePattern("aa%Aaa%%") == "aa%AAa%%"); 736 assert (MaybeEscapePattern("aa%Aa%aa") == "aa%AA%AA"); 737 assert (MaybeEscapePattern("aa%Aa%a%") == "aa%AA%a%"); 738 assert (MaybeEscapePattern("aa%Aa%%a") == "aa%AA%%a"); 739 assert (MaybeEscapePattern("aa%Aa%%%") == "aa%AA%%%"); 740 assert (MaybeEscapePattern("aa%A%aaa") == "aa%A%AAa"); 741 assert (MaybeEscapePattern("aa%A%aa%") == "aa%A%AA%"); 742 assert (MaybeEscapePattern("aa%A%a%a") == "aa%A%a%a"); 743 assert (MaybeEscapePattern("aa%A%a%%") == "aa%A%a%%"); 744 assert (MaybeEscapePattern("aa%A%%aa") == "aa%A%%AA"); 745 assert (MaybeEscapePattern("aa%A%%a%") == "aa%A%%a%"); 746 assert (MaybeEscapePattern("aa%A%%%a") == "aa%A%%%a"); 747 assert (MaybeEscapePattern("aa%A%%%%") == "aa%A%%%%"); 748 assert (MaybeEscapePattern("aa%%aaaa") == "aa%%AAaa"); 749 assert (MaybeEscapePattern("aa%%aaaA") == "aa%%AAaA"); 750 assert (MaybeEscapePattern("aa%%aaa%") == "aa%%AAa%"); 751 assert (MaybeEscapePattern("aa%%aaAa") == "aa%%AAAa"); 752 assert (MaybeEscapePattern("aa%%aaA%") == "aa%%AAA%"); 753 assert (MaybeEscapePattern("aa%%aa%a") == "aa%%AA%a"); 754 assert (MaybeEscapePattern("aa%%aa%A") == "aa%%AA%A"); 755 assert (MaybeEscapePattern("aa%%aa%%") == "aa%%AA%%"); 756 assert (MaybeEscapePattern("aa%%aAaa") == "aa%%AAaa"); 757 assert (MaybeEscapePattern("aa%%aAa%") == "aa%%AAa%"); 758 assert (MaybeEscapePattern("aa%%aA%a") == "aa%%AA%a"); 759 assert (MaybeEscapePattern("aa%%aA%%") == "aa%%AA%%"); 760 assert (MaybeEscapePattern("aa%%a%aa") == "aa%%a%AA"); 761 assert (MaybeEscapePattern("aa%%a%aA") == "aa%%a%AA"); 762 assert (MaybeEscapePattern("aa%%a%a%") == "aa%%a%a%"); 763 assert (MaybeEscapePattern("aa%%a%Aa") == "aa%%a%AA"); 764 assert (MaybeEscapePattern("aa%%a%A%") == "aa%%a%A%"); 765 assert (MaybeEscapePattern("aa%%a%%a") == "aa%%a%%a"); 766 assert (MaybeEscapePattern("aa%%a%%A") == "aa%%a%%A"); 767 assert (MaybeEscapePattern("aa%%a%%%") == "aa%%a%%%"); 768 assert (MaybeEscapePattern("aa%%Aaaa") == "aa%%AAaa"); 769 assert (MaybeEscapePattern("aa%%Aaa%") == "aa%%AAa%"); 770 assert (MaybeEscapePattern("aa%%Aa%a") == "aa%%AA%a"); 771 assert (MaybeEscapePattern("aa%%Aa%%") == "aa%%AA%%"); 772 assert (MaybeEscapePattern("aa%%A%aa") == "aa%%A%AA"); 773 assert (MaybeEscapePattern("aa%%A%a%") == "aa%%A%a%"); 774 assert (MaybeEscapePattern("aa%%A%%a") == "aa%%A%%a"); 775 assert (MaybeEscapePattern("aa%%A%%%") == "aa%%A%%%"); 776 assert (MaybeEscapePattern("aa%%%aaa") == "aa%%%AAa"); 777 assert (MaybeEscapePattern("aa%%%aaA") == "aa%%%AAA"); 778 assert (MaybeEscapePattern("aa%%%aa%") == "aa%%%AA%"); 779 assert (MaybeEscapePattern("aa%%%aAa") == "aa%%%AAa"); 780 assert (MaybeEscapePattern("aa%%%aA%") == "aa%%%AA%"); 781 assert (MaybeEscapePattern("aa%%%a%a") == "aa%%%a%a"); 782 assert (MaybeEscapePattern("aa%%%a%A") == "aa%%%a%A"); 783 assert (MaybeEscapePattern("aa%%%a%%") == "aa%%%a%%"); 784 assert (MaybeEscapePattern("aa%%%Aaa") == "aa%%%AAa"); 785 assert (MaybeEscapePattern("aa%%%Aa%") == "aa%%%AA%"); 786 assert (MaybeEscapePattern("aa%%%A%a") == "aa%%%A%a"); 787 assert (MaybeEscapePattern("aa%%%A%%") == "aa%%%A%%"); 788 assert (MaybeEscapePattern("aa%%%%aa") == "aa%%%%AA"); 789 assert (MaybeEscapePattern("aa%%%%aA") == "aa%%%%AA"); 790 assert (MaybeEscapePattern("aa%%%%a%") == "aa%%%%a%"); 791 assert (MaybeEscapePattern("aa%%%%Aa") == "aa%%%%AA"); 792 assert (MaybeEscapePattern("aa%%%%A%") == "aa%%%%A%"); 793 assert (MaybeEscapePattern("aa%%%%%a") == "aa%%%%%a"); 794 assert (MaybeEscapePattern("aa%%%%%A") == "aa%%%%%A"); 795 assert (MaybeEscapePattern("aa%%%%%%") == "aa%%%%%%"); 796 assert (MaybeEscapePattern("aAaaaaaa") == "aAaaaaaa"); 797 assert (MaybeEscapePattern("aAaaaaa%") == "aAaaaaa%"); 798 assert (MaybeEscapePattern("aAaaaa%a") == "aAaaaa%a"); 799 assert (MaybeEscapePattern("aAaaaa%%") == "aAaaaa%%"); 800 assert (MaybeEscapePattern("aAaaa%aa") == "aAaaa%AA"); 801 assert (MaybeEscapePattern("aAaaa%a%") == "aAaaa%a%"); 802 assert (MaybeEscapePattern("aAaaa%%a") == "aAaaa%%a"); 803 assert (MaybeEscapePattern("aAaaa%%%") == "aAaaa%%%"); 804 assert (MaybeEscapePattern("aAaa%aaa") == "aAaa%AAa"); 805 assert (MaybeEscapePattern("aAaa%aa%") == "aAaa%AA%"); 806 assert (MaybeEscapePattern("aAaa%a%a") == "aAaa%a%a"); 807 assert (MaybeEscapePattern("aAaa%a%%") == "aAaa%a%%"); 808 assert (MaybeEscapePattern("aAaa%%aa") == "aAaa%%AA"); 809 assert (MaybeEscapePattern("aAaa%%a%") == "aAaa%%a%"); 810 assert (MaybeEscapePattern("aAaa%%%a") == "aAaa%%%a"); 811 assert (MaybeEscapePattern("aAaa%%%%") == "aAaa%%%%"); 812 assert (MaybeEscapePattern("aAa%aaaa") == "aAa%AAaa"); 813 assert (MaybeEscapePattern("aAa%aaa%") == "aAa%AAa%"); 814 assert (MaybeEscapePattern("aAa%aa%a") == "aAa%AA%a"); 815 assert (MaybeEscapePattern("aAa%aa%%") == "aAa%AA%%"); 816 assert (MaybeEscapePattern("aAa%a%aa") == "aAa%a%AA"); 817 assert (MaybeEscapePattern("aAa%a%a%") == "aAa%a%a%"); 818 assert (MaybeEscapePattern("aAa%a%%a") == "aAa%a%%a"); 819 assert (MaybeEscapePattern("aAa%a%%%") == "aAa%a%%%"); 820 assert (MaybeEscapePattern("aAa%%aaa") == "aAa%%AAa"); 821 assert (MaybeEscapePattern("aAa%%aa%") == "aAa%%AA%"); 822 assert (MaybeEscapePattern("aAa%%a%a") == "aAa%%a%a"); 823 assert (MaybeEscapePattern("aAa%%a%%") == "aAa%%a%%"); 824 assert (MaybeEscapePattern("aAa%%%aa") == "aAa%%%AA"); 825 assert (MaybeEscapePattern("aAa%%%a%") == "aAa%%%a%"); 826 assert (MaybeEscapePattern("aAa%%%%a") == "aAa%%%%a"); 827 assert (MaybeEscapePattern("aAa%%%%%") == "aAa%%%%%"); 828 assert (MaybeEscapePattern("aA%aaaaa") == "aA%AAaaa"); 829 assert (MaybeEscapePattern("aA%aaaa%") == "aA%AAaa%"); 830 assert (MaybeEscapePattern("aA%aaa%a") == "aA%AAa%a"); 831 assert (MaybeEscapePattern("aA%aaa%%") == "aA%AAa%%"); 832 assert (MaybeEscapePattern("aA%aa%aa") == "aA%AA%AA"); 833 assert (MaybeEscapePattern("aA%aa%a%") == "aA%AA%a%"); 834 assert (MaybeEscapePattern("aA%aa%%a") == "aA%AA%%a"); 835 assert (MaybeEscapePattern("aA%aa%%%") == "aA%AA%%%"); 836 assert (MaybeEscapePattern("aA%a%aaa") == "aA%a%AAa"); 837 assert (MaybeEscapePattern("aA%a%aa%") == "aA%a%AA%"); 838 assert (MaybeEscapePattern("aA%a%a%a") == "aA%a%a%a"); 839 assert (MaybeEscapePattern("aA%a%a%%") == "aA%a%a%%"); 840 assert (MaybeEscapePattern("aA%a%%aa") == "aA%a%%AA"); 841 assert (MaybeEscapePattern("aA%a%%a%") == "aA%a%%a%"); 842 assert (MaybeEscapePattern("aA%a%%%a") == "aA%a%%%a"); 843 assert (MaybeEscapePattern("aA%a%%%%") == "aA%a%%%%"); 844 assert (MaybeEscapePattern("aA%%aaaa") == "aA%%AAaa"); 845 assert (MaybeEscapePattern("aA%%aaa%") == "aA%%AAa%"); 846 assert (MaybeEscapePattern("aA%%aa%a") == "aA%%AA%a"); 847 assert (MaybeEscapePattern("aA%%aa%%") == "aA%%AA%%"); 848 assert (MaybeEscapePattern("aA%%a%aa") == "aA%%a%AA"); 849 assert (MaybeEscapePattern("aA%%a%a%") == "aA%%a%a%"); 850 assert (MaybeEscapePattern("aA%%a%%a") == "aA%%a%%a"); 851 assert (MaybeEscapePattern("aA%%a%%%") == "aA%%a%%%"); 852 assert (MaybeEscapePattern("aA%%%aaa") == "aA%%%AAa"); 853 assert (MaybeEscapePattern("aA%%%aa%") == "aA%%%AA%"); 854 assert (MaybeEscapePattern("aA%%%a%a") == "aA%%%a%a"); 855 assert (MaybeEscapePattern("aA%%%a%%") == "aA%%%a%%"); 856 assert (MaybeEscapePattern("aA%%%%aa") == "aA%%%%AA"); 857 assert (MaybeEscapePattern("aA%%%%a%") == "aA%%%%a%"); 858 assert (MaybeEscapePattern("aA%%%%%a") == "aA%%%%%a"); 859 assert (MaybeEscapePattern("aA%%%%%%") == "aA%%%%%%"); 860 assert (MaybeEscapePattern("a%aaaaaa") == "a%AAaaaa"); 861 assert (MaybeEscapePattern("a%aaaaaA") == "a%AAaaaA"); 862 assert (MaybeEscapePattern("a%aaaaa%") == "a%AAaaa%"); 863 assert (MaybeEscapePattern("a%aaaaAa") == "a%AAaaAa"); 864 assert (MaybeEscapePattern("a%aaaaA%") == "a%AAaaA%"); 865 assert (MaybeEscapePattern("a%aaaa%a") == "a%AAaa%a"); 866 assert (MaybeEscapePattern("a%aaaa%A") == "a%AAaa%A"); 867 assert (MaybeEscapePattern("a%aaaa%%") == "a%AAaa%%"); 868 assert (MaybeEscapePattern("a%aaaAaa") == "a%AAaAaa"); 869 assert (MaybeEscapePattern("a%aaaAa%") == "a%AAaAa%"); 870 assert (MaybeEscapePattern("a%aaaA%a") == "a%AAaA%a"); 871 assert (MaybeEscapePattern("a%aaaA%%") == "a%AAaA%%"); 872 assert (MaybeEscapePattern("a%aaa%aa") == "a%AAa%AA"); 873 assert (MaybeEscapePattern("a%aaa%aA") == "a%AAa%AA"); 874 assert (MaybeEscapePattern("a%aaa%a%") == "a%AAa%a%"); 875 assert (MaybeEscapePattern("a%aaa%Aa") == "a%AAa%AA"); 876 assert (MaybeEscapePattern("a%aaa%A%") == "a%AAa%A%"); 877 assert (MaybeEscapePattern("a%aaa%%a") == "a%AAa%%a"); 878 assert (MaybeEscapePattern("a%aaa%%A") == "a%AAa%%A"); 879 assert (MaybeEscapePattern("a%aaa%%%") == "a%AAa%%%"); 880 assert (MaybeEscapePattern("a%aaAaaa") == "a%AAAaaa"); 881 assert (MaybeEscapePattern("a%aaAaa%") == "a%AAAaa%"); 882 assert (MaybeEscapePattern("a%aaAa%a") == "a%AAAa%a"); 883 assert (MaybeEscapePattern("a%aaAa%%") == "a%AAAa%%"); 884 assert (MaybeEscapePattern("a%aaA%aa") == "a%AAA%AA"); 885 assert (MaybeEscapePattern("a%aaA%a%") == "a%AAA%a%"); 886 assert (MaybeEscapePattern("a%aaA%%a") == "a%AAA%%a"); 887 assert (MaybeEscapePattern("a%aaA%%%") == "a%AAA%%%"); 888 assert (MaybeEscapePattern("a%aa%aaa") == "a%AA%AAa"); 889 assert (MaybeEscapePattern("a%aa%aaA") == "a%AA%AAA"); 890 assert (MaybeEscapePattern("a%aa%aa%") == "a%AA%AA%"); 891 assert (MaybeEscapePattern("a%aa%aAa") == "a%AA%AAa"); 892 assert (MaybeEscapePattern("a%aa%aA%") == "a%AA%AA%"); 893 assert (MaybeEscapePattern("a%aa%a%a") == "a%AA%a%a"); 894 assert (MaybeEscapePattern("a%aa%a%A") == "a%AA%a%A"); 895 assert (MaybeEscapePattern("a%aa%a%%") == "a%AA%a%%"); 896 assert (MaybeEscapePattern("a%aa%Aaa") == "a%AA%AAa"); 897 assert (MaybeEscapePattern("a%aa%Aa%") == "a%AA%AA%"); 898 assert (MaybeEscapePattern("a%aa%A%a") == "a%AA%A%a"); 899 assert (MaybeEscapePattern("a%aa%A%%") == "a%AA%A%%"); 900 assert (MaybeEscapePattern("a%aa%%aa") == "a%AA%%AA"); 901 assert (MaybeEscapePattern("a%aa%%aA") == "a%AA%%AA"); 902 assert (MaybeEscapePattern("a%aa%%a%") == "a%AA%%a%"); 903 assert (MaybeEscapePattern("a%aa%%Aa") == "a%AA%%AA"); 904 assert (MaybeEscapePattern("a%aa%%A%") == "a%AA%%A%"); 905 assert (MaybeEscapePattern("a%aa%%%a") == "a%AA%%%a"); 906 assert (MaybeEscapePattern("a%aa%%%A") == "a%AA%%%A"); 907 assert (MaybeEscapePattern("a%aa%%%%") == "a%AA%%%%"); 908 assert (MaybeEscapePattern("a%aAaaaa") == "a%AAaaaa"); 909 assert (MaybeEscapePattern("a%aAaaa%") == "a%AAaaa%"); 910 assert (MaybeEscapePattern("a%aAaa%a") == "a%AAaa%a"); 911 assert (MaybeEscapePattern("a%aAaa%%") == "a%AAaa%%"); 912 assert (MaybeEscapePattern("a%aAa%aa") == "a%AAa%AA"); 913 assert (MaybeEscapePattern("a%aAa%a%") == "a%AAa%a%"); 914 assert (MaybeEscapePattern("a%aAa%%a") == "a%AAa%%a"); 915 assert (MaybeEscapePattern("a%aAa%%%") == "a%AAa%%%"); 916 assert (MaybeEscapePattern("a%aA%aaa") == "a%AA%AAa"); 917 assert (MaybeEscapePattern("a%aA%aa%") == "a%AA%AA%"); 918 assert (MaybeEscapePattern("a%aA%a%a") == "a%AA%a%a"); 919 assert (MaybeEscapePattern("a%aA%a%%") == "a%AA%a%%"); 920 assert (MaybeEscapePattern("a%aA%%aa") == "a%AA%%AA"); 921 assert (MaybeEscapePattern("a%aA%%a%") == "a%AA%%a%"); 922 assert (MaybeEscapePattern("a%aA%%%a") == "a%AA%%%a"); 923 assert (MaybeEscapePattern("a%aA%%%%") == "a%AA%%%%"); 924 assert (MaybeEscapePattern("a%a%aaaa") == "a%a%AAaa"); 925 assert (MaybeEscapePattern("a%a%aaaA") == "a%a%AAaA"); 926 assert (MaybeEscapePattern("a%a%aaa%") == "a%a%AAa%"); 927 assert (MaybeEscapePattern("a%a%aaAa") == "a%a%AAAa"); 928 assert (MaybeEscapePattern("a%a%aaA%") == "a%a%AAA%"); 929 assert (MaybeEscapePattern("a%a%aa%a") == "a%a%AA%a"); 930 assert (MaybeEscapePattern("a%a%aa%A") == "a%a%AA%A"); 931 assert (MaybeEscapePattern("a%a%aa%%") == "a%a%AA%%"); 932 assert (MaybeEscapePattern("a%a%aAaa") == "a%a%AAaa"); 933 assert (MaybeEscapePattern("a%a%aAa%") == "a%a%AAa%"); 934 assert (MaybeEscapePattern("a%a%aA%a") == "a%a%AA%a"); 935 assert (MaybeEscapePattern("a%a%aA%%") == "a%a%AA%%"); 936 assert (MaybeEscapePattern("a%a%a%aa") == "a%a%a%AA"); 937 assert (MaybeEscapePattern("a%a%a%aA") == "a%a%a%AA"); 938 assert (MaybeEscapePattern("a%a%a%a%") == "a%a%a%a%"); 939 assert (MaybeEscapePattern("a%a%a%Aa") == "a%a%a%AA"); 940 assert (MaybeEscapePattern("a%a%a%A%") == "a%a%a%A%"); 941 assert (MaybeEscapePattern("a%a%a%%a") == "a%a%a%%a"); 942 assert (MaybeEscapePattern("a%a%a%%A") == "a%a%a%%A"); 943 assert (MaybeEscapePattern("a%a%a%%%") == "a%a%a%%%"); 944 assert (MaybeEscapePattern("a%a%Aaaa") == "a%a%AAaa"); 945 assert (MaybeEscapePattern("a%a%Aaa%") == "a%a%AAa%"); 946 assert (MaybeEscapePattern("a%a%Aa%a") == "a%a%AA%a"); 947 assert (MaybeEscapePattern("a%a%Aa%%") == "a%a%AA%%"); 948 assert (MaybeEscapePattern("a%a%A%aa") == "a%a%A%AA"); 949 assert (MaybeEscapePattern("a%a%A%a%") == "a%a%A%a%"); 950 assert (MaybeEscapePattern("a%a%A%%a") == "a%a%A%%a"); 951 assert (MaybeEscapePattern("a%a%A%%%") == "a%a%A%%%"); 952 assert (MaybeEscapePattern("a%a%%aaa") == "a%a%%AAa"); 953 assert (MaybeEscapePattern("a%a%%aaA") == "a%a%%AAA"); 954 assert (MaybeEscapePattern("a%a%%aa%") == "a%a%%AA%"); 955 assert (MaybeEscapePattern("a%a%%aAa") == "a%a%%AAa"); 956 assert (MaybeEscapePattern("a%a%%aA%") == "a%a%%AA%"); 957 assert (MaybeEscapePattern("a%a%%a%a") == "a%a%%a%a"); 958 assert (MaybeEscapePattern("a%a%%a%A") == "a%a%%a%A"); 959 assert (MaybeEscapePattern("a%a%%a%%") == "a%a%%a%%"); 960 assert (MaybeEscapePattern("a%a%%Aaa") == "a%a%%AAa"); 961 assert (MaybeEscapePattern("a%a%%Aa%") == "a%a%%AA%"); 962 assert (MaybeEscapePattern("a%a%%A%a") == "a%a%%A%a"); 963 assert (MaybeEscapePattern("a%a%%A%%") == "a%a%%A%%"); 964 assert (MaybeEscapePattern("a%a%%%aa") == "a%a%%%AA"); 965 assert (MaybeEscapePattern("a%a%%%aA") == "a%a%%%AA"); 966 assert (MaybeEscapePattern("a%a%%%a%") == "a%a%%%a%"); 967 assert (MaybeEscapePattern("a%a%%%Aa") == "a%a%%%AA"); 968 assert (MaybeEscapePattern("a%a%%%A%") == "a%a%%%A%"); 969 assert (MaybeEscapePattern("a%a%%%%a") == "a%a%%%%a"); 970 assert (MaybeEscapePattern("a%a%%%%A") == "a%a%%%%A"); 971 assert (MaybeEscapePattern("a%a%%%%%") == "a%a%%%%%"); 972 assert (MaybeEscapePattern("a%Aaaaaa") == "a%AAaaaa"); 973 assert (MaybeEscapePattern("a%Aaaaa%") == "a%AAaaa%"); 974 assert (MaybeEscapePattern("a%Aaaa%a") == "a%AAaa%a"); 975 assert (MaybeEscapePattern("a%Aaaa%%") == "a%AAaa%%"); 976 assert (MaybeEscapePattern("a%Aaa%aa") == "a%AAa%AA"); 977 assert (MaybeEscapePattern("a%Aaa%a%") == "a%AAa%a%"); 978 assert (MaybeEscapePattern("a%Aaa%%a") == "a%AAa%%a"); 979 assert (MaybeEscapePattern("a%Aaa%%%") == "a%AAa%%%"); 980 assert (MaybeEscapePattern("a%Aa%aaa") == "a%AA%AAa"); 981 assert (MaybeEscapePattern("a%Aa%aa%") == "a%AA%AA%"); 982 assert (MaybeEscapePattern("a%Aa%a%a") == "a%AA%a%a"); 983 assert (MaybeEscapePattern("a%Aa%a%%") == "a%AA%a%%"); 984 assert (MaybeEscapePattern("a%Aa%%aa") == "a%AA%%AA"); 985 assert (MaybeEscapePattern("a%Aa%%a%") == "a%AA%%a%"); 986 assert (MaybeEscapePattern("a%Aa%%%a") == "a%AA%%%a"); 987 assert (MaybeEscapePattern("a%Aa%%%%") == "a%AA%%%%"); 988 assert (MaybeEscapePattern("a%A%aaaa") == "a%A%AAaa"); 989 assert (MaybeEscapePattern("a%A%aaa%") == "a%A%AAa%"); 990 assert (MaybeEscapePattern("a%A%aa%a") == "a%A%AA%a"); 991 assert (MaybeEscapePattern("a%A%aa%%") == "a%A%AA%%"); 992 assert (MaybeEscapePattern("a%A%a%aa") == "a%A%a%AA"); 993 assert (MaybeEscapePattern("a%A%a%a%") == "a%A%a%a%"); 994 assert (MaybeEscapePattern("a%A%a%%a") == "a%A%a%%a"); 995 assert (MaybeEscapePattern("a%A%a%%%") == "a%A%a%%%"); 996 assert (MaybeEscapePattern("a%A%%aaa") == "a%A%%AAa"); 997 assert (MaybeEscapePattern("a%A%%aa%") == "a%A%%AA%"); 998 assert (MaybeEscapePattern("a%A%%a%a") == "a%A%%a%a"); 999 assert (MaybeEscapePattern("a%A%%a%%") == "a%A%%a%%"); 1000 assert (MaybeEscapePattern("a%A%%%aa") == "a%A%%%AA"); 1001 assert (MaybeEscapePattern("a%A%%%a%") == "a%A%%%a%"); 1002 assert (MaybeEscapePattern("a%A%%%%a") == "a%A%%%%a"); 1003 assert (MaybeEscapePattern("a%A%%%%%") == "a%A%%%%%"); 1004 assert (MaybeEscapePattern("a%%aaaaa") == "a%%AAaaa"); 1005 assert (MaybeEscapePattern("a%%aaaaA") == "a%%AAaaA"); 1006 assert (MaybeEscapePattern("a%%aaaa%") == "a%%AAaa%"); 1007 assert (MaybeEscapePattern("a%%aaaAa") == "a%%AAaAa"); 1008 assert (MaybeEscapePattern("a%%aaaA%") == "a%%AAaA%"); 1009 assert (MaybeEscapePattern("a%%aaa%a") == "a%%AAa%a"); 1010 assert (MaybeEscapePattern("a%%aaa%A") == "a%%AAa%A"); 1011 assert (MaybeEscapePattern("a%%aaa%%") == "a%%AAa%%"); 1012 assert (MaybeEscapePattern("a%%aaAaa") == "a%%AAAaa"); 1013 assert (MaybeEscapePattern("a%%aaAa%") == "a%%AAAa%"); 1014 assert (MaybeEscapePattern("a%%aaA%a") == "a%%AAA%a"); 1015 assert (MaybeEscapePattern("a%%aaA%%") == "a%%AAA%%"); 1016 assert (MaybeEscapePattern("a%%aa%aa") == "a%%AA%AA"); 1017 assert (MaybeEscapePattern("a%%aa%aA") == "a%%AA%AA"); 1018 assert (MaybeEscapePattern("a%%aa%a%") == "a%%AA%a%"); 1019 assert (MaybeEscapePattern("a%%aa%Aa") == "a%%AA%AA"); 1020 assert (MaybeEscapePattern("a%%aa%A%") == "a%%AA%A%"); 1021 assert (MaybeEscapePattern("a%%aa%%a") == "a%%AA%%a"); 1022 assert (MaybeEscapePattern("a%%aa%%A") == "a%%AA%%A"); 1023 assert (MaybeEscapePattern("a%%aa%%%") == "a%%AA%%%"); 1024 assert (MaybeEscapePattern("a%%aAaaa") == "a%%AAaaa"); 1025 assert (MaybeEscapePattern("a%%aAaa%") == "a%%AAaa%"); 1026 assert (MaybeEscapePattern("a%%aAa%a") == "a%%AAa%a"); 1027 assert (MaybeEscapePattern("a%%aAa%%") == "a%%AAa%%"); 1028 assert (MaybeEscapePattern("a%%aA%aa") == "a%%AA%AA"); 1029 assert (MaybeEscapePattern("a%%aA%a%") == "a%%AA%a%"); 1030 assert (MaybeEscapePattern("a%%aA%%a") == "a%%AA%%a"); 1031 assert (MaybeEscapePattern("a%%aA%%%") == "a%%AA%%%"); 1032 assert (MaybeEscapePattern("a%%a%aaa") == "a%%a%AAa"); 1033 assert (MaybeEscapePattern("a%%a%aaA") == "a%%a%AAA"); 1034 assert (MaybeEscapePattern("a%%a%aa%") == "a%%a%AA%"); 1035 assert (MaybeEscapePattern("a%%a%aAa") == "a%%a%AAa"); 1036 assert (MaybeEscapePattern("a%%a%aA%") == "a%%a%AA%"); 1037 assert (MaybeEscapePattern("a%%a%a%a") == "a%%a%a%a"); 1038 assert (MaybeEscapePattern("a%%a%a%A") == "a%%a%a%A"); 1039 assert (MaybeEscapePattern("a%%a%a%%") == "a%%a%a%%"); 1040 assert (MaybeEscapePattern("a%%a%Aaa") == "a%%a%AAa"); 1041 assert (MaybeEscapePattern("a%%a%Aa%") == "a%%a%AA%"); 1042 assert (MaybeEscapePattern("a%%a%A%a") == "a%%a%A%a"); 1043 assert (MaybeEscapePattern("a%%a%A%%") == "a%%a%A%%"); 1044 assert (MaybeEscapePattern("a%%a%%aa") == "a%%a%%AA"); 1045 assert (MaybeEscapePattern("a%%a%%aA") == "a%%a%%AA"); 1046 assert (MaybeEscapePattern("a%%a%%a%") == "a%%a%%a%"); 1047 assert (MaybeEscapePattern("a%%a%%Aa") == "a%%a%%AA"); 1048 assert (MaybeEscapePattern("a%%a%%A%") == "a%%a%%A%"); 1049 assert (MaybeEscapePattern("a%%a%%%a") == "a%%a%%%a"); 1050 assert (MaybeEscapePattern("a%%a%%%A") == "a%%a%%%A"); 1051 assert (MaybeEscapePattern("a%%a%%%%") == "a%%a%%%%"); 1052 assert (MaybeEscapePattern("a%%Aaaaa") == "a%%AAaaa"); 1053 assert (MaybeEscapePattern("a%%Aaaa%") == "a%%AAaa%"); 1054 assert (MaybeEscapePattern("a%%Aaa%a") == "a%%AAa%a"); 1055 assert (MaybeEscapePattern("a%%Aaa%%") == "a%%AAa%%"); 1056 assert (MaybeEscapePattern("a%%Aa%aa") == "a%%AA%AA"); 1057 assert (MaybeEscapePattern("a%%Aa%a%") == "a%%AA%a%"); 1058 assert (MaybeEscapePattern("a%%Aa%%a") == "a%%AA%%a"); 1059 assert (MaybeEscapePattern("a%%Aa%%%") == "a%%AA%%%"); 1060 assert (MaybeEscapePattern("a%%A%aaa") == "a%%A%AAa"); 1061 assert (MaybeEscapePattern("a%%A%aa%") == "a%%A%AA%"); 1062 assert (MaybeEscapePattern("a%%A%a%a") == "a%%A%a%a"); 1063 assert (MaybeEscapePattern("a%%A%a%%") == "a%%A%a%%"); 1064 assert (MaybeEscapePattern("a%%A%%aa") == "a%%A%%AA"); 1065 assert (MaybeEscapePattern("a%%A%%a%") == "a%%A%%a%"); 1066 assert (MaybeEscapePattern("a%%A%%%a") == "a%%A%%%a"); 1067 assert (MaybeEscapePattern("a%%A%%%%") == "a%%A%%%%"); 1068 assert (MaybeEscapePattern("a%%%aaaa") == "a%%%AAaa"); 1069 assert (MaybeEscapePattern("a%%%aaaA") == "a%%%AAaA"); 1070 assert (MaybeEscapePattern("a%%%aaa%") == "a%%%AAa%"); 1071 assert (MaybeEscapePattern("a%%%aaAa") == "a%%%AAAa"); 1072 assert (MaybeEscapePattern("a%%%aaA%") == "a%%%AAA%"); 1073 assert (MaybeEscapePattern("a%%%aa%a") == "a%%%AA%a"); 1074 assert (MaybeEscapePattern("a%%%aa%A") == "a%%%AA%A"); 1075 assert (MaybeEscapePattern("a%%%aa%%") == "a%%%AA%%"); 1076 assert (MaybeEscapePattern("a%%%aAaa") == "a%%%AAaa"); 1077 assert (MaybeEscapePattern("a%%%aAa%") == "a%%%AAa%"); 1078 assert (MaybeEscapePattern("a%%%aA%a") == "a%%%AA%a"); 1079 assert (MaybeEscapePattern("a%%%aA%%") == "a%%%AA%%"); 1080 assert (MaybeEscapePattern("a%%%a%aa") == "a%%%a%AA"); 1081 assert (MaybeEscapePattern("a%%%a%aA") == "a%%%a%AA"); 1082 assert (MaybeEscapePattern("a%%%a%a%") == "a%%%a%a%"); 1083 assert (MaybeEscapePattern("a%%%a%Aa") == "a%%%a%AA"); 1084 assert (MaybeEscapePattern("a%%%a%A%") == "a%%%a%A%"); 1085 assert (MaybeEscapePattern("a%%%a%%a") == "a%%%a%%a"); 1086 assert (MaybeEscapePattern("a%%%a%%A") == "a%%%a%%A"); 1087 assert (MaybeEscapePattern("a%%%a%%%") == "a%%%a%%%"); 1088 assert (MaybeEscapePattern("a%%%Aaaa") == "a%%%AAaa"); 1089 assert (MaybeEscapePattern("a%%%Aaa%") == "a%%%AAa%"); 1090 assert (MaybeEscapePattern("a%%%Aa%a") == "a%%%AA%a"); 1091 assert (MaybeEscapePattern("a%%%Aa%%") == "a%%%AA%%"); 1092 assert (MaybeEscapePattern("a%%%A%aa") == "a%%%A%AA"); 1093 assert (MaybeEscapePattern("a%%%A%a%") == "a%%%A%a%"); 1094 assert (MaybeEscapePattern("a%%%A%%a") == "a%%%A%%a"); 1095 assert (MaybeEscapePattern("a%%%A%%%") == "a%%%A%%%"); 1096 assert (MaybeEscapePattern("a%%%%aaa") == "a%%%%AAa"); 1097 assert (MaybeEscapePattern("a%%%%aaA") == "a%%%%AAA"); 1098 assert (MaybeEscapePattern("a%%%%aa%") == "a%%%%AA%"); 1099 assert (MaybeEscapePattern("a%%%%aAa") == "a%%%%AAa"); 1100 assert (MaybeEscapePattern("a%%%%aA%") == "a%%%%AA%"); 1101 assert (MaybeEscapePattern("a%%%%a%a") == "a%%%%a%a"); 1102 assert (MaybeEscapePattern("a%%%%a%A") == "a%%%%a%A"); 1103 assert (MaybeEscapePattern("a%%%%a%%") == "a%%%%a%%"); 1104 assert (MaybeEscapePattern("a%%%%Aaa") == "a%%%%AAa"); 1105 assert (MaybeEscapePattern("a%%%%Aa%") == "a%%%%AA%"); 1106 assert (MaybeEscapePattern("a%%%%A%a") == "a%%%%A%a"); 1107 assert (MaybeEscapePattern("a%%%%A%%") == "a%%%%A%%"); 1108 assert (MaybeEscapePattern("a%%%%%aa") == "a%%%%%AA"); 1109 assert (MaybeEscapePattern("a%%%%%aA") == "a%%%%%AA"); 1110 assert (MaybeEscapePattern("a%%%%%a%") == "a%%%%%a%"); 1111 assert (MaybeEscapePattern("a%%%%%Aa") == "a%%%%%AA"); 1112 assert (MaybeEscapePattern("a%%%%%A%") == "a%%%%%A%"); 1113 assert (MaybeEscapePattern("a%%%%%%a") == "a%%%%%%a"); 1114 assert (MaybeEscapePattern("a%%%%%%A") == "a%%%%%%A"); 1115 assert (MaybeEscapePattern("a%%%%%%%") == "a%%%%%%%"); 1116 assert (MaybeEscapePattern("Aaaaaaaa") == "Aaaaaaaa"); 1117 assert (MaybeEscapePattern("Aaaaaaa%") == "Aaaaaaa%"); 1118 assert (MaybeEscapePattern("Aaaaaa%a") == "Aaaaaa%a"); 1119 assert (MaybeEscapePattern("Aaaaaa%%") == "Aaaaaa%%"); 1120 assert (MaybeEscapePattern("Aaaaa%aa") == "Aaaaa%AA"); 1121 assert (MaybeEscapePattern("Aaaaa%a%") == "Aaaaa%a%"); 1122 assert (MaybeEscapePattern("Aaaaa%%a") == "Aaaaa%%a"); 1123 assert (MaybeEscapePattern("Aaaaa%%%") == "Aaaaa%%%"); 1124 assert (MaybeEscapePattern("Aaaa%aaa") == "Aaaa%AAa"); 1125 assert (MaybeEscapePattern("Aaaa%aa%") == "Aaaa%AA%"); 1126 assert (MaybeEscapePattern("Aaaa%a%a") == "Aaaa%a%a"); 1127 assert (MaybeEscapePattern("Aaaa%a%%") == "Aaaa%a%%"); 1128 assert (MaybeEscapePattern("Aaaa%%aa") == "Aaaa%%AA"); 1129 assert (MaybeEscapePattern("Aaaa%%a%") == "Aaaa%%a%"); 1130 assert (MaybeEscapePattern("Aaaa%%%a") == "Aaaa%%%a"); 1131 assert (MaybeEscapePattern("Aaaa%%%%") == "Aaaa%%%%"); 1132 assert (MaybeEscapePattern("Aaa%aaaa") == "Aaa%AAaa"); 1133 assert (MaybeEscapePattern("Aaa%aaa%") == "Aaa%AAa%"); 1134 assert (MaybeEscapePattern("Aaa%aa%a") == "Aaa%AA%a"); 1135 assert (MaybeEscapePattern("Aaa%aa%%") == "Aaa%AA%%"); 1136 assert (MaybeEscapePattern("Aaa%a%aa") == "Aaa%a%AA"); 1137 assert (MaybeEscapePattern("Aaa%a%a%") == "Aaa%a%a%"); 1138 assert (MaybeEscapePattern("Aaa%a%%a") == "Aaa%a%%a"); 1139 assert (MaybeEscapePattern("Aaa%a%%%") == "Aaa%a%%%"); 1140 assert (MaybeEscapePattern("Aaa%%aaa") == "Aaa%%AAa"); 1141 assert (MaybeEscapePattern("Aaa%%aa%") == "Aaa%%AA%"); 1142 assert (MaybeEscapePattern("Aaa%%a%a") == "Aaa%%a%a"); 1143 assert (MaybeEscapePattern("Aaa%%a%%") == "Aaa%%a%%"); 1144 assert (MaybeEscapePattern("Aaa%%%aa") == "Aaa%%%AA"); 1145 assert (MaybeEscapePattern("Aaa%%%a%") == "Aaa%%%a%"); 1146 assert (MaybeEscapePattern("Aaa%%%%a") == "Aaa%%%%a"); 1147 assert (MaybeEscapePattern("Aaa%%%%%") == "Aaa%%%%%"); 1148 assert (MaybeEscapePattern("Aa%aaaaa") == "Aa%AAaaa"); 1149 assert (MaybeEscapePattern("Aa%aaaa%") == "Aa%AAaa%"); 1150 assert (MaybeEscapePattern("Aa%aaa%a") == "Aa%AAa%a"); 1151 assert (MaybeEscapePattern("Aa%aaa%%") == "Aa%AAa%%"); 1152 assert (MaybeEscapePattern("Aa%aa%aa") == "Aa%AA%AA"); 1153 assert (MaybeEscapePattern("Aa%aa%a%") == "Aa%AA%a%"); 1154 assert (MaybeEscapePattern("Aa%aa%%a") == "Aa%AA%%a"); 1155 assert (MaybeEscapePattern("Aa%aa%%%") == "Aa%AA%%%"); 1156 assert (MaybeEscapePattern("Aa%a%aaa") == "Aa%a%AAa"); 1157 assert (MaybeEscapePattern("Aa%a%aa%") == "Aa%a%AA%"); 1158 assert (MaybeEscapePattern("Aa%a%a%a") == "Aa%a%a%a"); 1159 assert (MaybeEscapePattern("Aa%a%a%%") == "Aa%a%a%%"); 1160 assert (MaybeEscapePattern("Aa%a%%aa") == "Aa%a%%AA"); 1161 assert (MaybeEscapePattern("Aa%a%%a%") == "Aa%a%%a%"); 1162 assert (MaybeEscapePattern("Aa%a%%%a") == "Aa%a%%%a"); 1163 assert (MaybeEscapePattern("Aa%a%%%%") == "Aa%a%%%%"); 1164 assert (MaybeEscapePattern("Aa%%aaaa") == "Aa%%AAaa"); 1165 assert (MaybeEscapePattern("Aa%%aaa%") == "Aa%%AAa%"); 1166 assert (MaybeEscapePattern("Aa%%aa%a") == "Aa%%AA%a"); 1167 assert (MaybeEscapePattern("Aa%%aa%%") == "Aa%%AA%%"); 1168 assert (MaybeEscapePattern("Aa%%a%aa") == "Aa%%a%AA"); 1169 assert (MaybeEscapePattern("Aa%%a%a%") == "Aa%%a%a%"); 1170 assert (MaybeEscapePattern("Aa%%a%%a") == "Aa%%a%%a"); 1171 assert (MaybeEscapePattern("Aa%%a%%%") == "Aa%%a%%%"); 1172 assert (MaybeEscapePattern("Aa%%%aaa") == "Aa%%%AAa"); 1173 assert (MaybeEscapePattern("Aa%%%aa%") == "Aa%%%AA%"); 1174 assert (MaybeEscapePattern("Aa%%%a%a") == "Aa%%%a%a"); 1175 assert (MaybeEscapePattern("Aa%%%a%%") == "Aa%%%a%%"); 1176 assert (MaybeEscapePattern("Aa%%%%aa") == "Aa%%%%AA"); 1177 assert (MaybeEscapePattern("Aa%%%%a%") == "Aa%%%%a%"); 1178 assert (MaybeEscapePattern("Aa%%%%%a") == "Aa%%%%%a"); 1179 assert (MaybeEscapePattern("Aa%%%%%%") == "Aa%%%%%%"); 1180 assert (MaybeEscapePattern("A%aaaaaa") == "A%AAaaaa"); 1181 assert (MaybeEscapePattern("A%aaaaa%") == "A%AAaaa%"); 1182 assert (MaybeEscapePattern("A%aaaa%a") == "A%AAaa%a"); 1183 assert (MaybeEscapePattern("A%aaaa%%") == "A%AAaa%%"); 1184 assert (MaybeEscapePattern("A%aaa%aa") == "A%AAa%AA"); 1185 assert (MaybeEscapePattern("A%aaa%a%") == "A%AAa%a%"); 1186 assert (MaybeEscapePattern("A%aaa%%a") == "A%AAa%%a"); 1187 assert (MaybeEscapePattern("A%aaa%%%") == "A%AAa%%%"); 1188 assert (MaybeEscapePattern("A%aa%aaa") == "A%AA%AAa"); 1189 assert (MaybeEscapePattern("A%aa%aa%") == "A%AA%AA%"); 1190 assert (MaybeEscapePattern("A%aa%a%a") == "A%AA%a%a"); 1191 assert (MaybeEscapePattern("A%aa%a%%") == "A%AA%a%%"); 1192 assert (MaybeEscapePattern("A%aa%%aa") == "A%AA%%AA"); 1193 assert (MaybeEscapePattern("A%aa%%a%") == "A%AA%%a%"); 1194 assert (MaybeEscapePattern("A%aa%%%a") == "A%AA%%%a"); 1195 assert (MaybeEscapePattern("A%aa%%%%") == "A%AA%%%%"); 1196 assert (MaybeEscapePattern("A%a%aaaa") == "A%a%AAaa"); 1197 assert (MaybeEscapePattern("A%a%aaa%") == "A%a%AAa%"); 1198 assert (MaybeEscapePattern("A%a%aa%a") == "A%a%AA%a"); 1199 assert (MaybeEscapePattern("A%a%aa%%") == "A%a%AA%%"); 1200 assert (MaybeEscapePattern("A%a%a%aa") == "A%a%a%AA"); 1201 assert (MaybeEscapePattern("A%a%a%a%") == "A%a%a%a%"); 1202 assert (MaybeEscapePattern("A%a%a%%a") == "A%a%a%%a"); 1203 assert (MaybeEscapePattern("A%a%a%%%") == "A%a%a%%%"); 1204 assert (MaybeEscapePattern("A%a%%aaa") == "A%a%%AAa"); 1205 assert (MaybeEscapePattern("A%a%%aa%") == "A%a%%AA%"); 1206 assert (MaybeEscapePattern("A%a%%a%a") == "A%a%%a%a"); 1207 assert (MaybeEscapePattern("A%a%%a%%") == "A%a%%a%%"); 1208 assert (MaybeEscapePattern("A%a%%%aa") == "A%a%%%AA"); 1209 assert (MaybeEscapePattern("A%a%%%a%") == "A%a%%%a%"); 1210 assert (MaybeEscapePattern("A%a%%%%a") == "A%a%%%%a"); 1211 assert (MaybeEscapePattern("A%a%%%%%") == "A%a%%%%%"); 1212 assert (MaybeEscapePattern("A%%aaaaa") == "A%%AAaaa"); 1213 assert (MaybeEscapePattern("A%%aaaa%") == "A%%AAaa%"); 1214 assert (MaybeEscapePattern("A%%aaa%a") == "A%%AAa%a"); 1215 assert (MaybeEscapePattern("A%%aaa%%") == "A%%AAa%%"); 1216 assert (MaybeEscapePattern("A%%aa%aa") == "A%%AA%AA"); 1217 assert (MaybeEscapePattern("A%%aa%a%") == "A%%AA%a%"); 1218 assert (MaybeEscapePattern("A%%aa%%a") == "A%%AA%%a"); 1219 assert (MaybeEscapePattern("A%%aa%%%") == "A%%AA%%%"); 1220 assert (MaybeEscapePattern("A%%a%aaa") == "A%%a%AAa"); 1221 assert (MaybeEscapePattern("A%%a%aa%") == "A%%a%AA%"); 1222 assert (MaybeEscapePattern("A%%a%a%a") == "A%%a%a%a"); 1223 assert (MaybeEscapePattern("A%%a%a%%") == "A%%a%a%%"); 1224 assert (MaybeEscapePattern("A%%a%%aa") == "A%%a%%AA"); 1225 assert (MaybeEscapePattern("A%%a%%a%") == "A%%a%%a%"); 1226 assert (MaybeEscapePattern("A%%a%%%a") == "A%%a%%%a"); 1227 assert (MaybeEscapePattern("A%%a%%%%") == "A%%a%%%%"); 1228 assert (MaybeEscapePattern("A%%%aaaa") == "A%%%AAaa"); 1229 assert (MaybeEscapePattern("A%%%aaa%") == "A%%%AAa%"); 1230 assert (MaybeEscapePattern("A%%%aa%a") == "A%%%AA%a"); 1231 assert (MaybeEscapePattern("A%%%aa%%") == "A%%%AA%%"); 1232 assert (MaybeEscapePattern("A%%%a%aa") == "A%%%a%AA"); 1233 assert (MaybeEscapePattern("A%%%a%a%") == "A%%%a%a%"); 1234 assert (MaybeEscapePattern("A%%%a%%a") == "A%%%a%%a"); 1235 assert (MaybeEscapePattern("A%%%a%%%") == "A%%%a%%%"); 1236 assert (MaybeEscapePattern("A%%%%aaa") == "A%%%%AAa"); 1237 assert (MaybeEscapePattern("A%%%%aa%") == "A%%%%AA%"); 1238 assert (MaybeEscapePattern("A%%%%a%a") == "A%%%%a%a"); 1239 assert (MaybeEscapePattern("A%%%%a%%") == "A%%%%a%%"); 1240 assert (MaybeEscapePattern("A%%%%%aa") == "A%%%%%AA"); 1241 assert (MaybeEscapePattern("A%%%%%a%") == "A%%%%%a%"); 1242 assert (MaybeEscapePattern("A%%%%%%a") == "A%%%%%%a"); 1243 assert (MaybeEscapePattern("A%%%%%%%") == "A%%%%%%%"); 1244 assert (MaybeEscapePattern("%aaaaaaa") == "%AAaaaaa"); 1245 assert (MaybeEscapePattern("%aaaaaaA") == "%AAaaaaA"); 1246 assert (MaybeEscapePattern("%aaaaaa%") == "%AAaaaa%"); 1247 assert (MaybeEscapePattern("%aaaaaAa") == "%AAaaaAa"); 1248 assert (MaybeEscapePattern("%aaaaaA%") == "%AAaaaA%"); 1249 assert (MaybeEscapePattern("%aaaaa%a") == "%AAaaa%a"); 1250 assert (MaybeEscapePattern("%aaaaa%A") == "%AAaaa%A"); 1251 assert (MaybeEscapePattern("%aaaaa%%") == "%AAaaa%%"); 1252 assert (MaybeEscapePattern("%aaaaAaa") == "%AAaaAaa"); 1253 assert (MaybeEscapePattern("%aaaaAa%") == "%AAaaAa%"); 1254 assert (MaybeEscapePattern("%aaaaA%a") == "%AAaaA%a"); 1255 assert (MaybeEscapePattern("%aaaaA%%") == "%AAaaA%%"); 1256 assert (MaybeEscapePattern("%aaaa%aa") == "%AAaa%AA"); 1257 assert (MaybeEscapePattern("%aaaa%aA") == "%AAaa%AA"); 1258 assert (MaybeEscapePattern("%aaaa%a%") == "%AAaa%a%"); 1259 assert (MaybeEscapePattern("%aaaa%Aa") == "%AAaa%AA"); 1260 assert (MaybeEscapePattern("%aaaa%A%") == "%AAaa%A%"); 1261 assert (MaybeEscapePattern("%aaaa%%a") == "%AAaa%%a"); 1262 assert (MaybeEscapePattern("%aaaa%%A") == "%AAaa%%A"); 1263 assert (MaybeEscapePattern("%aaaa%%%") == "%AAaa%%%"); 1264 assert (MaybeEscapePattern("%aaaAaaa") == "%AAaAaaa"); 1265 assert (MaybeEscapePattern("%aaaAaa%") == "%AAaAaa%"); 1266 assert (MaybeEscapePattern("%aaaAa%a") == "%AAaAa%a"); 1267 assert (MaybeEscapePattern("%aaaAa%%") == "%AAaAa%%"); 1268 assert (MaybeEscapePattern("%aaaA%aa") == "%AAaA%AA"); 1269 assert (MaybeEscapePattern("%aaaA%a%") == "%AAaA%a%"); 1270 assert (MaybeEscapePattern("%aaaA%%a") == "%AAaA%%a"); 1271 assert (MaybeEscapePattern("%aaaA%%%") == "%AAaA%%%"); 1272 assert (MaybeEscapePattern("%aaa%aaa") == "%AAa%AAa"); 1273 assert (MaybeEscapePattern("%aaa%aaA") == "%AAa%AAA"); 1274 assert (MaybeEscapePattern("%aaa%aa%") == "%AAa%AA%"); 1275 assert (MaybeEscapePattern("%aaa%aAa") == "%AAa%AAa"); 1276 assert (MaybeEscapePattern("%aaa%aA%") == "%AAa%AA%"); 1277 assert (MaybeEscapePattern("%aaa%a%a") == "%AAa%a%a"); 1278 assert (MaybeEscapePattern("%aaa%a%A") == "%AAa%a%A"); 1279 assert (MaybeEscapePattern("%aaa%a%%") == "%AAa%a%%"); 1280 assert (MaybeEscapePattern("%aaa%Aaa") == "%AAa%AAa"); 1281 assert (MaybeEscapePattern("%aaa%Aa%") == "%AAa%AA%"); 1282 assert (MaybeEscapePattern("%aaa%A%a") == "%AAa%A%a"); 1283 assert (MaybeEscapePattern("%aaa%A%%") == "%AAa%A%%"); 1284 assert (MaybeEscapePattern("%aaa%%aa") == "%AAa%%AA"); 1285 assert (MaybeEscapePattern("%aaa%%aA") == "%AAa%%AA"); 1286 assert (MaybeEscapePattern("%aaa%%a%") == "%AAa%%a%"); 1287 assert (MaybeEscapePattern("%aaa%%Aa") == "%AAa%%AA"); 1288 assert (MaybeEscapePattern("%aaa%%A%") == "%AAa%%A%"); 1289 assert (MaybeEscapePattern("%aaa%%%a") == "%AAa%%%a"); 1290 assert (MaybeEscapePattern("%aaa%%%A") == "%AAa%%%A"); 1291 assert (MaybeEscapePattern("%aaa%%%%") == "%AAa%%%%"); 1292 assert (MaybeEscapePattern("%aaAaaaa") == "%AAAaaaa"); 1293 assert (MaybeEscapePattern("%aaAaaa%") == "%AAAaaa%"); 1294 assert (MaybeEscapePattern("%aaAaa%a") == "%AAAaa%a"); 1295 assert (MaybeEscapePattern("%aaAaa%%") == "%AAAaa%%"); 1296 assert (MaybeEscapePattern("%aaAa%aa") == "%AAAa%AA"); 1297 assert (MaybeEscapePattern("%aaAa%a%") == "%AAAa%a%"); 1298 assert (MaybeEscapePattern("%aaAa%%a") == "%AAAa%%a"); 1299 assert (MaybeEscapePattern("%aaAa%%%") == "%AAAa%%%"); 1300 assert (MaybeEscapePattern("%aaA%aaa") == "%AAA%AAa"); 1301 assert (MaybeEscapePattern("%aaA%aa%") == "%AAA%AA%"); 1302 assert (MaybeEscapePattern("%aaA%a%a") == "%AAA%a%a"); 1303 assert (MaybeEscapePattern("%aaA%a%%") == "%AAA%a%%"); 1304 assert (MaybeEscapePattern("%aaA%%aa") == "%AAA%%AA"); 1305 assert (MaybeEscapePattern("%aaA%%a%") == "%AAA%%a%"); 1306 assert (MaybeEscapePattern("%aaA%%%a") == "%AAA%%%a"); 1307 assert (MaybeEscapePattern("%aaA%%%%") == "%AAA%%%%"); 1308 assert (MaybeEscapePattern("%aa%aaaa") == "%AA%AAaa"); 1309 assert (MaybeEscapePattern("%aa%aaaA") == "%AA%AAaA"); 1310 assert (MaybeEscapePattern("%aa%aaa%") == "%AA%AAa%"); 1311 assert (MaybeEscapePattern("%aa%aaAa") == "%AA%AAAa"); 1312 assert (MaybeEscapePattern("%aa%aaA%") == "%AA%AAA%"); 1313 assert (MaybeEscapePattern("%aa%aa%a") == "%AA%AA%a"); 1314 assert (MaybeEscapePattern("%aa%aa%A") == "%AA%AA%A"); 1315 assert (MaybeEscapePattern("%aa%aa%%") == "%AA%AA%%"); 1316 assert (MaybeEscapePattern("%aa%aAaa") == "%AA%AAaa"); 1317 assert (MaybeEscapePattern("%aa%aAa%") == "%AA%AAa%"); 1318 assert (MaybeEscapePattern("%aa%aA%a") == "%AA%AA%a"); 1319 assert (MaybeEscapePattern("%aa%aA%%") == "%AA%AA%%"); 1320 assert (MaybeEscapePattern("%aa%a%aa") == "%AA%a%AA"); 1321 assert (MaybeEscapePattern("%aa%a%aA") == "%AA%a%AA"); 1322 assert (MaybeEscapePattern("%aa%a%a%") == "%AA%a%a%"); 1323 assert (MaybeEscapePattern("%aa%a%Aa") == "%AA%a%AA"); 1324 assert (MaybeEscapePattern("%aa%a%A%") == "%AA%a%A%"); 1325 assert (MaybeEscapePattern("%aa%a%%a") == "%AA%a%%a"); 1326 assert (MaybeEscapePattern("%aa%a%%A") == "%AA%a%%A"); 1327 assert (MaybeEscapePattern("%aa%a%%%") == "%AA%a%%%"); 1328 assert (MaybeEscapePattern("%aa%Aaaa") == "%AA%AAaa"); 1329 assert (MaybeEscapePattern("%aa%Aaa%") == "%AA%AAa%"); 1330 assert (MaybeEscapePattern("%aa%Aa%a") == "%AA%AA%a"); 1331 assert (MaybeEscapePattern("%aa%Aa%%") == "%AA%AA%%"); 1332 assert (MaybeEscapePattern("%aa%A%aa") == "%AA%A%AA"); 1333 assert (MaybeEscapePattern("%aa%A%a%") == "%AA%A%a%"); 1334 assert (MaybeEscapePattern("%aa%A%%a") == "%AA%A%%a"); 1335 assert (MaybeEscapePattern("%aa%A%%%") == "%AA%A%%%"); 1336 assert (MaybeEscapePattern("%aa%%aaa") == "%AA%%AAa"); 1337 assert (MaybeEscapePattern("%aa%%aaA") == "%AA%%AAA"); 1338 assert (MaybeEscapePattern("%aa%%aa%") == "%AA%%AA%"); 1339 assert (MaybeEscapePattern("%aa%%aAa") == "%AA%%AAa"); 1340 assert (MaybeEscapePattern("%aa%%aA%") == "%AA%%AA%"); 1341 assert (MaybeEscapePattern("%aa%%a%a") == "%AA%%a%a"); 1342 assert (MaybeEscapePattern("%aa%%a%A") == "%AA%%a%A"); 1343 assert (MaybeEscapePattern("%aa%%a%%") == "%AA%%a%%"); 1344 assert (MaybeEscapePattern("%aa%%Aaa") == "%AA%%AAa"); 1345 assert (MaybeEscapePattern("%aa%%Aa%") == "%AA%%AA%"); 1346 assert (MaybeEscapePattern("%aa%%A%a") == "%AA%%A%a"); 1347 assert (MaybeEscapePattern("%aa%%A%%") == "%AA%%A%%"); 1348 assert (MaybeEscapePattern("%aa%%%aa") == "%AA%%%AA"); 1349 assert (MaybeEscapePattern("%aa%%%aA") == "%AA%%%AA"); 1350 assert (MaybeEscapePattern("%aa%%%a%") == "%AA%%%a%"); 1351 assert (MaybeEscapePattern("%aa%%%Aa") == "%AA%%%AA"); 1352 assert (MaybeEscapePattern("%aa%%%A%") == "%AA%%%A%"); 1353 assert (MaybeEscapePattern("%aa%%%%a") == "%AA%%%%a"); 1354 assert (MaybeEscapePattern("%aa%%%%A") == "%AA%%%%A"); 1355 assert (MaybeEscapePattern("%aa%%%%%") == "%AA%%%%%"); 1356 assert (MaybeEscapePattern("%aAaaaaa") == "%AAaaaaa"); 1357 assert (MaybeEscapePattern("%aAaaaa%") == "%AAaaaa%"); 1358 assert (MaybeEscapePattern("%aAaaa%a") == "%AAaaa%a"); 1359 assert (MaybeEscapePattern("%aAaaa%%") == "%AAaaa%%"); 1360 assert (MaybeEscapePattern("%aAaa%aa") == "%AAaa%AA"); 1361 assert (MaybeEscapePattern("%aAaa%a%") == "%AAaa%a%"); 1362 assert (MaybeEscapePattern("%aAaa%%a") == "%AAaa%%a"); 1363 assert (MaybeEscapePattern("%aAaa%%%") == "%AAaa%%%"); 1364 assert (MaybeEscapePattern("%aAa%aaa") == "%AAa%AAa"); 1365 assert (MaybeEscapePattern("%aAa%aa%") == "%AAa%AA%"); 1366 assert (MaybeEscapePattern("%aAa%a%a") == "%AAa%a%a"); 1367 assert (MaybeEscapePattern("%aAa%a%%") == "%AAa%a%%"); 1368 assert (MaybeEscapePattern("%aAa%%aa") == "%AAa%%AA"); 1369 assert (MaybeEscapePattern("%aAa%%a%") == "%AAa%%a%"); 1370 assert (MaybeEscapePattern("%aAa%%%a") == "%AAa%%%a"); 1371 assert (MaybeEscapePattern("%aAa%%%%") == "%AAa%%%%"); 1372 assert (MaybeEscapePattern("%aA%aaaa") == "%AA%AAaa"); 1373 assert (MaybeEscapePattern("%aA%aaa%") == "%AA%AAa%"); 1374 assert (MaybeEscapePattern("%aA%aa%a") == "%AA%AA%a"); 1375 assert (MaybeEscapePattern("%aA%aa%%") == "%AA%AA%%"); 1376 assert (MaybeEscapePattern("%aA%a%aa") == "%AA%a%AA"); 1377 assert (MaybeEscapePattern("%aA%a%a%") == "%AA%a%a%"); 1378 assert (MaybeEscapePattern("%aA%a%%a") == "%AA%a%%a"); 1379 assert (MaybeEscapePattern("%aA%a%%%") == "%AA%a%%%"); 1380 assert (MaybeEscapePattern("%aA%%aaa") == "%AA%%AAa"); 1381 assert (MaybeEscapePattern("%aA%%aa%") == "%AA%%AA%"); 1382 assert (MaybeEscapePattern("%aA%%a%a") == "%AA%%a%a"); 1383 assert (MaybeEscapePattern("%aA%%a%%") == "%AA%%a%%"); 1384 assert (MaybeEscapePattern("%aA%%%aa") == "%AA%%%AA"); 1385 assert (MaybeEscapePattern("%aA%%%a%") == "%AA%%%a%"); 1386 assert (MaybeEscapePattern("%aA%%%%a") == "%AA%%%%a"); 1387 assert (MaybeEscapePattern("%aA%%%%%") == "%AA%%%%%"); 1388 assert (MaybeEscapePattern("%a%aaaaa") == "%a%AAaaa"); 1389 assert (MaybeEscapePattern("%a%aaaaA") == "%a%AAaaA"); 1390 assert (MaybeEscapePattern("%a%aaaa%") == "%a%AAaa%"); 1391 assert (MaybeEscapePattern("%a%aaaAa") == "%a%AAaAa"); 1392 assert (MaybeEscapePattern("%a%aaaA%") == "%a%AAaA%"); 1393 assert (MaybeEscapePattern("%a%aaa%a") == "%a%AAa%a"); 1394 assert (MaybeEscapePattern("%a%aaa%A") == "%a%AAa%A"); 1395 assert (MaybeEscapePattern("%a%aaa%%") == "%a%AAa%%"); 1396 assert (MaybeEscapePattern("%a%aaAaa") == "%a%AAAaa"); 1397 assert (MaybeEscapePattern("%a%aaAa%") == "%a%AAAa%"); 1398 assert (MaybeEscapePattern("%a%aaA%a") == "%a%AAA%a"); 1399 assert (MaybeEscapePattern("%a%aaA%%") == "%a%AAA%%"); 1400 assert (MaybeEscapePattern("%a%aa%aa") == "%a%AA%AA"); 1401 assert (MaybeEscapePattern("%a%aa%aA") == "%a%AA%AA"); 1402 assert (MaybeEscapePattern("%a%aa%a%") == "%a%AA%a%"); 1403 assert (MaybeEscapePattern("%a%aa%Aa") == "%a%AA%AA"); 1404 assert (MaybeEscapePattern("%a%aa%A%") == "%a%AA%A%"); 1405 assert (MaybeEscapePattern("%a%aa%%a") == "%a%AA%%a"); 1406 assert (MaybeEscapePattern("%a%aa%%A") == "%a%AA%%A"); 1407 assert (MaybeEscapePattern("%a%aa%%%") == "%a%AA%%%"); 1408 assert (MaybeEscapePattern("%a%aAaaa") == "%a%AAaaa"); 1409 assert (MaybeEscapePattern("%a%aAaa%") == "%a%AAaa%"); 1410 assert (MaybeEscapePattern("%a%aAa%a") == "%a%AAa%a"); 1411 assert (MaybeEscapePattern("%a%aAa%%") == "%a%AAa%%"); 1412 assert (MaybeEscapePattern("%a%aA%aa") == "%a%AA%AA"); 1413 assert (MaybeEscapePattern("%a%aA%a%") == "%a%AA%a%"); 1414 assert (MaybeEscapePattern("%a%aA%%a") == "%a%AA%%a"); 1415 assert (MaybeEscapePattern("%a%aA%%%") == "%a%AA%%%"); 1416 assert (MaybeEscapePattern("%a%a%aaa") == "%a%a%AAa"); 1417 assert (MaybeEscapePattern("%a%a%aaA") == "%a%a%AAA"); 1418 assert (MaybeEscapePattern("%a%a%aa%") == "%a%a%AA%"); 1419 assert (MaybeEscapePattern("%a%a%aAa") == "%a%a%AAa"); 1420 assert (MaybeEscapePattern("%a%a%aA%") == "%a%a%AA%"); 1421 assert (MaybeEscapePattern("%a%a%a%a") == "%a%a%a%a"); 1422 assert (MaybeEscapePattern("%a%a%a%A") == "%a%a%a%A"); 1423 assert (MaybeEscapePattern("%a%a%a%%") == "%a%a%a%%"); 1424 assert (MaybeEscapePattern("%a%a%Aaa") == "%a%a%AAa"); 1425 assert (MaybeEscapePattern("%a%a%Aa%") == "%a%a%AA%"); 1426 assert (MaybeEscapePattern("%a%a%A%a") == "%a%a%A%a"); 1427 assert (MaybeEscapePattern("%a%a%A%%") == "%a%a%A%%"); 1428 assert (MaybeEscapePattern("%a%a%%aa") == "%a%a%%AA"); 1429 assert (MaybeEscapePattern("%a%a%%aA") == "%a%a%%AA"); 1430 assert (MaybeEscapePattern("%a%a%%a%") == "%a%a%%a%"); 1431 assert (MaybeEscapePattern("%a%a%%Aa") == "%a%a%%AA"); 1432 assert (MaybeEscapePattern("%a%a%%A%") == "%a%a%%A%"); 1433 assert (MaybeEscapePattern("%a%a%%%a") == "%a%a%%%a"); 1434 assert (MaybeEscapePattern("%a%a%%%A") == "%a%a%%%A"); 1435 assert (MaybeEscapePattern("%a%a%%%%") == "%a%a%%%%"); 1436 assert (MaybeEscapePattern("%a%Aaaaa") == "%a%AAaaa"); 1437 assert (MaybeEscapePattern("%a%Aaaa%") == "%a%AAaa%"); 1438 assert (MaybeEscapePattern("%a%Aaa%a") == "%a%AAa%a"); 1439 assert (MaybeEscapePattern("%a%Aaa%%") == "%a%AAa%%"); 1440 assert (MaybeEscapePattern("%a%Aa%aa") == "%a%AA%AA"); 1441 assert (MaybeEscapePattern("%a%Aa%a%") == "%a%AA%a%"); 1442 assert (MaybeEscapePattern("%a%Aa%%a") == "%a%AA%%a"); 1443 assert (MaybeEscapePattern("%a%Aa%%%") == "%a%AA%%%"); 1444 assert (MaybeEscapePattern("%a%A%aaa") == "%a%A%AAa"); 1445 assert (MaybeEscapePattern("%a%A%aa%") == "%a%A%AA%"); 1446 assert (MaybeEscapePattern("%a%A%a%a") == "%a%A%a%a"); 1447 assert (MaybeEscapePattern("%a%A%a%%") == "%a%A%a%%"); 1448 assert (MaybeEscapePattern("%a%A%%aa") == "%a%A%%AA"); 1449 assert (MaybeEscapePattern("%a%A%%a%") == "%a%A%%a%"); 1450 assert (MaybeEscapePattern("%a%A%%%a") == "%a%A%%%a"); 1451 assert (MaybeEscapePattern("%a%A%%%%") == "%a%A%%%%"); 1452 assert (MaybeEscapePattern("%a%%aaaa") == "%a%%AAaa"); 1453 assert (MaybeEscapePattern("%a%%aaaA") == "%a%%AAaA"); 1454 assert (MaybeEscapePattern("%a%%aaa%") == "%a%%AAa%"); 1455 assert (MaybeEscapePattern("%a%%aaAa") == "%a%%AAAa"); 1456 assert (MaybeEscapePattern("%a%%aaA%") == "%a%%AAA%"); 1457 assert (MaybeEscapePattern("%a%%aa%a") == "%a%%AA%a"); 1458 assert (MaybeEscapePattern("%a%%aa%A") == "%a%%AA%A"); 1459 assert (MaybeEscapePattern("%a%%aa%%") == "%a%%AA%%"); 1460 assert (MaybeEscapePattern("%a%%aAaa") == "%a%%AAaa"); 1461 assert (MaybeEscapePattern("%a%%aAa%") == "%a%%AAa%"); 1462 assert (MaybeEscapePattern("%a%%aA%a") == "%a%%AA%a"); 1463 assert (MaybeEscapePattern("%a%%aA%%") == "%a%%AA%%"); 1464 assert (MaybeEscapePattern("%a%%a%aa") == "%a%%a%AA"); 1465 assert (MaybeEscapePattern("%a%%a%aA") == "%a%%a%AA"); 1466 assert (MaybeEscapePattern("%a%%a%a%") == "%a%%a%a%"); 1467 assert (MaybeEscapePattern("%a%%a%Aa") == "%a%%a%AA"); 1468 assert (MaybeEscapePattern("%a%%a%A%") == "%a%%a%A%"); 1469 assert (MaybeEscapePattern("%a%%a%%a") == "%a%%a%%a"); 1470 assert (MaybeEscapePattern("%a%%a%%A") == "%a%%a%%A"); 1471 assert (MaybeEscapePattern("%a%%a%%%") == "%a%%a%%%"); 1472 assert (MaybeEscapePattern("%a%%Aaaa") == "%a%%AAaa"); 1473 assert (MaybeEscapePattern("%a%%Aaa%") == "%a%%AAa%"); 1474 assert (MaybeEscapePattern("%a%%Aa%a") == "%a%%AA%a"); 1475 assert (MaybeEscapePattern("%a%%Aa%%") == "%a%%AA%%"); 1476 assert (MaybeEscapePattern("%a%%A%aa") == "%a%%A%AA"); 1477 assert (MaybeEscapePattern("%a%%A%a%") == "%a%%A%a%"); 1478 assert (MaybeEscapePattern("%a%%A%%a") == "%a%%A%%a"); 1479 assert (MaybeEscapePattern("%a%%A%%%") == "%a%%A%%%"); 1480 assert (MaybeEscapePattern("%a%%%aaa") == "%a%%%AAa"); 1481 assert (MaybeEscapePattern("%a%%%aaA") == "%a%%%AAA"); 1482 assert (MaybeEscapePattern("%a%%%aa%") == "%a%%%AA%"); 1483 assert (MaybeEscapePattern("%a%%%aAa") == "%a%%%AAa"); 1484 assert (MaybeEscapePattern("%a%%%aA%") == "%a%%%AA%"); 1485 assert (MaybeEscapePattern("%a%%%a%a") == "%a%%%a%a"); 1486 assert (MaybeEscapePattern("%a%%%a%A") == "%a%%%a%A"); 1487 assert (MaybeEscapePattern("%a%%%a%%") == "%a%%%a%%"); 1488 assert (MaybeEscapePattern("%a%%%Aaa") == "%a%%%AAa"); 1489 assert (MaybeEscapePattern("%a%%%Aa%") == "%a%%%AA%"); 1490 assert (MaybeEscapePattern("%a%%%A%a") == "%a%%%A%a"); 1491 assert (MaybeEscapePattern("%a%%%A%%") == "%a%%%A%%"); 1492 assert (MaybeEscapePattern("%a%%%%aa") == "%a%%%%AA"); 1493 assert (MaybeEscapePattern("%a%%%%aA") == "%a%%%%AA"); 1494 assert (MaybeEscapePattern("%a%%%%a%") == "%a%%%%a%"); 1495 assert (MaybeEscapePattern("%a%%%%Aa") == "%a%%%%AA"); 1496 assert (MaybeEscapePattern("%a%%%%A%") == "%a%%%%A%"); 1497 assert (MaybeEscapePattern("%a%%%%%a") == "%a%%%%%a"); 1498 assert (MaybeEscapePattern("%a%%%%%A") == "%a%%%%%A"); 1499 assert (MaybeEscapePattern("%a%%%%%%") == "%a%%%%%%"); 1500 assert (MaybeEscapePattern("%Aaaaaaa") == "%AAaaaaa"); 1501 assert (MaybeEscapePattern("%Aaaaaa%") == "%AAaaaa%"); 1502 assert (MaybeEscapePattern("%Aaaaa%a") == "%AAaaa%a"); 1503 assert (MaybeEscapePattern("%Aaaaa%%") == "%AAaaa%%"); 1504 assert (MaybeEscapePattern("%Aaaa%aa") == "%AAaa%AA"); 1505 assert (MaybeEscapePattern("%Aaaa%a%") == "%AAaa%a%"); 1506 assert (MaybeEscapePattern("%Aaaa%%a") == "%AAaa%%a"); 1507 assert (MaybeEscapePattern("%Aaaa%%%") == "%AAaa%%%"); 1508 assert (MaybeEscapePattern("%Aaa%aaa") == "%AAa%AAa"); 1509 assert (MaybeEscapePattern("%Aaa%aa%") == "%AAa%AA%"); 1510 assert (MaybeEscapePattern("%Aaa%a%a") == "%AAa%a%a"); 1511 assert (MaybeEscapePattern("%Aaa%a%%") == "%AAa%a%%"); 1512 assert (MaybeEscapePattern("%Aaa%%aa") == "%AAa%%AA"); 1513 assert (MaybeEscapePattern("%Aaa%%a%") == "%AAa%%a%"); 1514 assert (MaybeEscapePattern("%Aaa%%%a") == "%AAa%%%a"); 1515 assert (MaybeEscapePattern("%Aaa%%%%") == "%AAa%%%%"); 1516 assert (MaybeEscapePattern("%Aa%aaaa") == "%AA%AAaa"); 1517 assert (MaybeEscapePattern("%Aa%aaa%") == "%AA%AAa%"); 1518 assert (MaybeEscapePattern("%Aa%aa%a") == "%AA%AA%a"); 1519 assert (MaybeEscapePattern("%Aa%aa%%") == "%AA%AA%%"); 1520 assert (MaybeEscapePattern("%Aa%a%aa") == "%AA%a%AA"); 1521 assert (MaybeEscapePattern("%Aa%a%a%") == "%AA%a%a%"); 1522 assert (MaybeEscapePattern("%Aa%a%%a") == "%AA%a%%a"); 1523 assert (MaybeEscapePattern("%Aa%a%%%") == "%AA%a%%%"); 1524 assert (MaybeEscapePattern("%Aa%%aaa") == "%AA%%AAa"); 1525 assert (MaybeEscapePattern("%Aa%%aa%") == "%AA%%AA%"); 1526 assert (MaybeEscapePattern("%Aa%%a%a") == "%AA%%a%a"); 1527 assert (MaybeEscapePattern("%Aa%%a%%") == "%AA%%a%%"); 1528 assert (MaybeEscapePattern("%Aa%%%aa") == "%AA%%%AA"); 1529 assert (MaybeEscapePattern("%Aa%%%a%") == "%AA%%%a%"); 1530 assert (MaybeEscapePattern("%Aa%%%%a") == "%AA%%%%a"); 1531 assert (MaybeEscapePattern("%Aa%%%%%") == "%AA%%%%%"); 1532 assert (MaybeEscapePattern("%A%aaaaa") == "%A%AAaaa"); 1533 assert (MaybeEscapePattern("%A%aaaa%") == "%A%AAaa%"); 1534 assert (MaybeEscapePattern("%A%aaa%a") == "%A%AAa%a"); 1535 assert (MaybeEscapePattern("%A%aaa%%") == "%A%AAa%%"); 1536 assert (MaybeEscapePattern("%A%aa%aa") == "%A%AA%AA"); 1537 assert (MaybeEscapePattern("%A%aa%a%") == "%A%AA%a%"); 1538 assert (MaybeEscapePattern("%A%aa%%a") == "%A%AA%%a"); 1539 assert (MaybeEscapePattern("%A%aa%%%") == "%A%AA%%%"); 1540 assert (MaybeEscapePattern("%A%a%aaa") == "%A%a%AAa"); 1541 assert (MaybeEscapePattern("%A%a%aa%") == "%A%a%AA%"); 1542 assert (MaybeEscapePattern("%A%a%a%a") == "%A%a%a%a"); 1543 assert (MaybeEscapePattern("%A%a%a%%") == "%A%a%a%%"); 1544 assert (MaybeEscapePattern("%A%a%%aa") == "%A%a%%AA"); 1545 assert (MaybeEscapePattern("%A%a%%a%") == "%A%a%%a%"); 1546 assert (MaybeEscapePattern("%A%a%%%a") == "%A%a%%%a"); 1547 assert (MaybeEscapePattern("%A%a%%%%") == "%A%a%%%%"); 1548 assert (MaybeEscapePattern("%A%%aaaa") == "%A%%AAaa"); 1549 assert (MaybeEscapePattern("%A%%aaa%") == "%A%%AAa%"); 1550 assert (MaybeEscapePattern("%A%%aa%a") == "%A%%AA%a"); 1551 assert (MaybeEscapePattern("%A%%aa%%") == "%A%%AA%%"); 1552 assert (MaybeEscapePattern("%A%%a%aa") == "%A%%a%AA"); 1553 assert (MaybeEscapePattern("%A%%a%a%") == "%A%%a%a%"); 1554 assert (MaybeEscapePattern("%A%%a%%a") == "%A%%a%%a"); 1555 assert (MaybeEscapePattern("%A%%a%%%") == "%A%%a%%%"); 1556 assert (MaybeEscapePattern("%A%%%aaa") == "%A%%%AAa"); 1557 assert (MaybeEscapePattern("%A%%%aa%") == "%A%%%AA%"); 1558 assert (MaybeEscapePattern("%A%%%a%a") == "%A%%%a%a"); 1559 assert (MaybeEscapePattern("%A%%%a%%") == "%A%%%a%%"); 1560 assert (MaybeEscapePattern("%A%%%%aa") == "%A%%%%AA"); 1561 assert (MaybeEscapePattern("%A%%%%a%") == "%A%%%%a%"); 1562 assert (MaybeEscapePattern("%A%%%%%a") == "%A%%%%%a"); 1563 assert (MaybeEscapePattern("%A%%%%%%") == "%A%%%%%%"); 1564 assert (MaybeEscapePattern("%%aaaaaa") == "%%AAaaaa"); 1565 assert (MaybeEscapePattern("%%aaaaaA") == "%%AAaaaA"); 1566 assert (MaybeEscapePattern("%%aaaaa%") == "%%AAaaa%"); 1567 assert (MaybeEscapePattern("%%aaaaAa") == "%%AAaaAa"); 1568 assert (MaybeEscapePattern("%%aaaaA%") == "%%AAaaA%"); 1569 assert (MaybeEscapePattern("%%aaaa%a") == "%%AAaa%a"); 1570 assert (MaybeEscapePattern("%%aaaa%A") == "%%AAaa%A"); 1571 assert (MaybeEscapePattern("%%aaaa%%") == "%%AAaa%%"); 1572 assert (MaybeEscapePattern("%%aaaAaa") == "%%AAaAaa"); 1573 assert (MaybeEscapePattern("%%aaaAa%") == "%%AAaAa%"); 1574 assert (MaybeEscapePattern("%%aaaA%a") == "%%AAaA%a"); 1575 assert (MaybeEscapePattern("%%aaaA%%") == "%%AAaA%%"); 1576 assert (MaybeEscapePattern("%%aaa%aa") == "%%AAa%AA"); 1577 assert (MaybeEscapePattern("%%aaa%aA") == "%%AAa%AA"); 1578 assert (MaybeEscapePattern("%%aaa%a%") == "%%AAa%a%"); 1579 assert (MaybeEscapePattern("%%aaa%Aa") == "%%AAa%AA"); 1580 assert (MaybeEscapePattern("%%aaa%A%") == "%%AAa%A%"); 1581 assert (MaybeEscapePattern("%%aaa%%a") == "%%AAa%%a"); 1582 assert (MaybeEscapePattern("%%aaa%%A") == "%%AAa%%A"); 1583 assert (MaybeEscapePattern("%%aaa%%%") == "%%AAa%%%"); 1584 assert (MaybeEscapePattern("%%aaAaaa") == "%%AAAaaa"); 1585 assert (MaybeEscapePattern("%%aaAaa%") == "%%AAAaa%"); 1586 assert (MaybeEscapePattern("%%aaAa%a") == "%%AAAa%a"); 1587 assert (MaybeEscapePattern("%%aaAa%%") == "%%AAAa%%"); 1588 assert (MaybeEscapePattern("%%aaA%aa") == "%%AAA%AA"); 1589 assert (MaybeEscapePattern("%%aaA%a%") == "%%AAA%a%"); 1590 assert (MaybeEscapePattern("%%aaA%%a") == "%%AAA%%a"); 1591 assert (MaybeEscapePattern("%%aaA%%%") == "%%AAA%%%"); 1592 assert (MaybeEscapePattern("%%aa%aaa") == "%%AA%AAa"); 1593 assert (MaybeEscapePattern("%%aa%aaA") == "%%AA%AAA"); 1594 assert (MaybeEscapePattern("%%aa%aa%") == "%%AA%AA%"); 1595 assert (MaybeEscapePattern("%%aa%aAa") == "%%AA%AAa"); 1596 assert (MaybeEscapePattern("%%aa%aA%") == "%%AA%AA%"); 1597 assert (MaybeEscapePattern("%%aa%a%a") == "%%AA%a%a"); 1598 assert (MaybeEscapePattern("%%aa%a%A") == "%%AA%a%A"); 1599 assert (MaybeEscapePattern("%%aa%a%%") == "%%AA%a%%"); 1600 assert (MaybeEscapePattern("%%aa%Aaa") == "%%AA%AAa"); 1601 assert (MaybeEscapePattern("%%aa%Aa%") == "%%AA%AA%"); 1602 assert (MaybeEscapePattern("%%aa%A%a") == "%%AA%A%a"); 1603 assert (MaybeEscapePattern("%%aa%A%%") == "%%AA%A%%"); 1604 assert (MaybeEscapePattern("%%aa%%aa") == "%%AA%%AA"); 1605 assert (MaybeEscapePattern("%%aa%%aA") == "%%AA%%AA"); 1606 assert (MaybeEscapePattern("%%aa%%a%") == "%%AA%%a%"); 1607 assert (MaybeEscapePattern("%%aa%%Aa") == "%%AA%%AA"); 1608 assert (MaybeEscapePattern("%%aa%%A%") == "%%AA%%A%"); 1609 assert (MaybeEscapePattern("%%aa%%%a") == "%%AA%%%a"); 1610 assert (MaybeEscapePattern("%%aa%%%A") == "%%AA%%%A"); 1611 assert (MaybeEscapePattern("%%aa%%%%") == "%%AA%%%%"); 1612 assert (MaybeEscapePattern("%%aAaaaa") == "%%AAaaaa"); 1613 assert (MaybeEscapePattern("%%aAaaa%") == "%%AAaaa%"); 1614 assert (MaybeEscapePattern("%%aAaa%a") == "%%AAaa%a"); 1615 assert (MaybeEscapePattern("%%aAaa%%") == "%%AAaa%%"); 1616 assert (MaybeEscapePattern("%%aAa%aa") == "%%AAa%AA"); 1617 assert (MaybeEscapePattern("%%aAa%a%") == "%%AAa%a%"); 1618 assert (MaybeEscapePattern("%%aAa%%a") == "%%AAa%%a"); 1619 assert (MaybeEscapePattern("%%aAa%%%") == "%%AAa%%%"); 1620 assert (MaybeEscapePattern("%%aA%aaa") == "%%AA%AAa"); 1621 assert (MaybeEscapePattern("%%aA%aa%") == "%%AA%AA%"); 1622 assert (MaybeEscapePattern("%%aA%a%a") == "%%AA%a%a"); 1623 assert (MaybeEscapePattern("%%aA%a%%") == "%%AA%a%%"); 1624 assert (MaybeEscapePattern("%%aA%%aa") == "%%AA%%AA"); 1625 assert (MaybeEscapePattern("%%aA%%a%") == "%%AA%%a%"); 1626 assert (MaybeEscapePattern("%%aA%%%a") == "%%AA%%%a"); 1627 assert (MaybeEscapePattern("%%aA%%%%") == "%%AA%%%%"); 1628 assert (MaybeEscapePattern("%%a%aaaa") == "%%a%AAaa"); 1629 assert (MaybeEscapePattern("%%a%aaaA") == "%%a%AAaA"); 1630 assert (MaybeEscapePattern("%%a%aaa%") == "%%a%AAa%"); 1631 assert (MaybeEscapePattern("%%a%aaAa") == "%%a%AAAa"); 1632 assert (MaybeEscapePattern("%%a%aaA%") == "%%a%AAA%"); 1633 assert (MaybeEscapePattern("%%a%aa%a") == "%%a%AA%a"); 1634 assert (MaybeEscapePattern("%%a%aa%A") == "%%a%AA%A"); 1635 assert (MaybeEscapePattern("%%a%aa%%") == "%%a%AA%%"); 1636 assert (MaybeEscapePattern("%%a%aAaa") == "%%a%AAaa"); 1637 assert (MaybeEscapePattern("%%a%aAa%") == "%%a%AAa%"); 1638 assert (MaybeEscapePattern("%%a%aA%a") == "%%a%AA%a"); 1639 assert (MaybeEscapePattern("%%a%aA%%") == "%%a%AA%%"); 1640 assert (MaybeEscapePattern("%%a%a%aa") == "%%a%a%AA"); 1641 assert (MaybeEscapePattern("%%a%a%aA") == "%%a%a%AA"); 1642 assert (MaybeEscapePattern("%%a%a%a%") == "%%a%a%a%"); 1643 assert (MaybeEscapePattern("%%a%a%Aa") == "%%a%a%AA"); 1644 assert (MaybeEscapePattern("%%a%a%A%") == "%%a%a%A%"); 1645 assert (MaybeEscapePattern("%%a%a%%a") == "%%a%a%%a"); 1646 assert (MaybeEscapePattern("%%a%a%%A") == "%%a%a%%A"); 1647 assert (MaybeEscapePattern("%%a%a%%%") == "%%a%a%%%"); 1648 assert (MaybeEscapePattern("%%a%Aaaa") == "%%a%AAaa"); 1649 assert (MaybeEscapePattern("%%a%Aaa%") == "%%a%AAa%"); 1650 assert (MaybeEscapePattern("%%a%Aa%a") == "%%a%AA%a"); 1651 assert (MaybeEscapePattern("%%a%Aa%%") == "%%a%AA%%"); 1652 assert (MaybeEscapePattern("%%a%A%aa") == "%%a%A%AA"); 1653 assert (MaybeEscapePattern("%%a%A%a%") == "%%a%A%a%"); 1654 assert (MaybeEscapePattern("%%a%A%%a") == "%%a%A%%a"); 1655 assert (MaybeEscapePattern("%%a%A%%%") == "%%a%A%%%"); 1656 assert (MaybeEscapePattern("%%a%%aaa") == "%%a%%AAa"); 1657 assert (MaybeEscapePattern("%%a%%aaA") == "%%a%%AAA"); 1658 assert (MaybeEscapePattern("%%a%%aa%") == "%%a%%AA%"); 1659 assert (MaybeEscapePattern("%%a%%aAa") == "%%a%%AAa"); 1660 assert (MaybeEscapePattern("%%a%%aA%") == "%%a%%AA%"); 1661 assert (MaybeEscapePattern("%%a%%a%a") == "%%a%%a%a"); 1662 assert (MaybeEscapePattern("%%a%%a%A") == "%%a%%a%A"); 1663 assert (MaybeEscapePattern("%%a%%a%%") == "%%a%%a%%"); 1664 assert (MaybeEscapePattern("%%a%%Aaa") == "%%a%%AAa"); 1665 assert (MaybeEscapePattern("%%a%%Aa%") == "%%a%%AA%"); 1666 assert (MaybeEscapePattern("%%a%%A%a") == "%%a%%A%a"); 1667 assert (MaybeEscapePattern("%%a%%A%%") == "%%a%%A%%"); 1668 assert (MaybeEscapePattern("%%a%%%aa") == "%%a%%%AA"); 1669 assert (MaybeEscapePattern("%%a%%%aA") == "%%a%%%AA"); 1670 assert (MaybeEscapePattern("%%a%%%a%") == "%%a%%%a%"); 1671 assert (MaybeEscapePattern("%%a%%%Aa") == "%%a%%%AA"); 1672 assert (MaybeEscapePattern("%%a%%%A%") == "%%a%%%A%"); 1673 assert (MaybeEscapePattern("%%a%%%%a") == "%%a%%%%a"); 1674 assert (MaybeEscapePattern("%%a%%%%A") == "%%a%%%%A"); 1675 assert (MaybeEscapePattern("%%a%%%%%") == "%%a%%%%%"); 1676 assert (MaybeEscapePattern("%%Aaaaaa") == "%%AAaaaa"); 1677 assert (MaybeEscapePattern("%%Aaaaa%") == "%%AAaaa%"); 1678 assert (MaybeEscapePattern("%%Aaaa%a") == "%%AAaa%a"); 1679 assert (MaybeEscapePattern("%%Aaaa%%") == "%%AAaa%%"); 1680 assert (MaybeEscapePattern("%%Aaa%aa") == "%%AAa%AA"); 1681 assert (MaybeEscapePattern("%%Aaa%a%") == "%%AAa%a%"); 1682 assert (MaybeEscapePattern("%%Aaa%%a") == "%%AAa%%a"); 1683 assert (MaybeEscapePattern("%%Aaa%%%") == "%%AAa%%%"); 1684 assert (MaybeEscapePattern("%%Aa%aaa") == "%%AA%AAa"); 1685 assert (MaybeEscapePattern("%%Aa%aa%") == "%%AA%AA%"); 1686 assert (MaybeEscapePattern("%%Aa%a%a") == "%%AA%a%a"); 1687 assert (MaybeEscapePattern("%%Aa%a%%") == "%%AA%a%%"); 1688 assert (MaybeEscapePattern("%%Aa%%aa") == "%%AA%%AA"); 1689 assert (MaybeEscapePattern("%%Aa%%a%") == "%%AA%%a%"); 1690 assert (MaybeEscapePattern("%%Aa%%%a") == "%%AA%%%a"); 1691 assert (MaybeEscapePattern("%%Aa%%%%") == "%%AA%%%%"); 1692 assert (MaybeEscapePattern("%%A%aaaa") == "%%A%AAaa"); 1693 assert (MaybeEscapePattern("%%A%aaa%") == "%%A%AAa%"); 1694 assert (MaybeEscapePattern("%%A%aa%a") == "%%A%AA%a"); 1695 assert (MaybeEscapePattern("%%A%aa%%") == "%%A%AA%%"); 1696 assert (MaybeEscapePattern("%%A%a%aa") == "%%A%a%AA"); 1697 assert (MaybeEscapePattern("%%A%a%a%") == "%%A%a%a%"); 1698 assert (MaybeEscapePattern("%%A%a%%a") == "%%A%a%%a"); 1699 assert (MaybeEscapePattern("%%A%a%%%") == "%%A%a%%%"); 1700 assert (MaybeEscapePattern("%%A%%aaa") == "%%A%%AAa"); 1701 assert (MaybeEscapePattern("%%A%%aa%") == "%%A%%AA%"); 1702 assert (MaybeEscapePattern("%%A%%a%a") == "%%A%%a%a"); 1703 assert (MaybeEscapePattern("%%A%%a%%") == "%%A%%a%%"); 1704 assert (MaybeEscapePattern("%%A%%%aa") == "%%A%%%AA"); 1705 assert (MaybeEscapePattern("%%A%%%a%") == "%%A%%%a%"); 1706 assert (MaybeEscapePattern("%%A%%%%a") == "%%A%%%%a"); 1707 assert (MaybeEscapePattern("%%A%%%%%") == "%%A%%%%%"); 1708 assert (MaybeEscapePattern("%%%aaaaa") == "%%%AAaaa"); 1709 assert (MaybeEscapePattern("%%%aaaaA") == "%%%AAaaA"); 1710 assert (MaybeEscapePattern("%%%aaaa%") == "%%%AAaa%"); 1711 assert (MaybeEscapePattern("%%%aaaAa") == "%%%AAaAa"); 1712 assert (MaybeEscapePattern("%%%aaaA%") == "%%%AAaA%"); 1713 assert (MaybeEscapePattern("%%%aaa%a") == "%%%AAa%a"); 1714 assert (MaybeEscapePattern("%%%aaa%A") == "%%%AAa%A"); 1715 assert (MaybeEscapePattern("%%%aaa%%") == "%%%AAa%%"); 1716 assert (MaybeEscapePattern("%%%aaAaa") == "%%%AAAaa"); 1717 assert (MaybeEscapePattern("%%%aaAa%") == "%%%AAAa%"); 1718 assert (MaybeEscapePattern("%%%aaA%a") == "%%%AAA%a"); 1719 assert (MaybeEscapePattern("%%%aaA%%") == "%%%AAA%%"); 1720 assert (MaybeEscapePattern("%%%aa%aa") == "%%%AA%AA"); 1721 assert (MaybeEscapePattern("%%%aa%aA") == "%%%AA%AA"); 1722 assert (MaybeEscapePattern("%%%aa%a%") == "%%%AA%a%"); 1723 assert (MaybeEscapePattern("%%%aa%Aa") == "%%%AA%AA"); 1724 assert (MaybeEscapePattern("%%%aa%A%") == "%%%AA%A%"); 1725 assert (MaybeEscapePattern("%%%aa%%a") == "%%%AA%%a"); 1726 assert (MaybeEscapePattern("%%%aa%%A") == "%%%AA%%A"); 1727 assert (MaybeEscapePattern("%%%aa%%%") == "%%%AA%%%"); 1728 assert (MaybeEscapePattern("%%%aAaaa") == "%%%AAaaa"); 1729 assert (MaybeEscapePattern("%%%aAaa%") == "%%%AAaa%"); 1730 assert (MaybeEscapePattern("%%%aAa%a") == "%%%AAa%a"); 1731 assert (MaybeEscapePattern("%%%aAa%%") == "%%%AAa%%"); 1732 assert (MaybeEscapePattern("%%%aA%aa") == "%%%AA%AA"); 1733 assert (MaybeEscapePattern("%%%aA%a%") == "%%%AA%a%"); 1734 assert (MaybeEscapePattern("%%%aA%%a") == "%%%AA%%a"); 1735 assert (MaybeEscapePattern("%%%aA%%%") == "%%%AA%%%"); 1736 assert (MaybeEscapePattern("%%%a%aaa") == "%%%a%AAa"); 1737 assert (MaybeEscapePattern("%%%a%aaA") == "%%%a%AAA"); 1738 assert (MaybeEscapePattern("%%%a%aa%") == "%%%a%AA%"); 1739 assert (MaybeEscapePattern("%%%a%aAa") == "%%%a%AAa"); 1740 assert (MaybeEscapePattern("%%%a%aA%") == "%%%a%AA%"); 1741 assert (MaybeEscapePattern("%%%a%a%a") == "%%%a%a%a"); 1742 assert (MaybeEscapePattern("%%%a%a%A") == "%%%a%a%A"); 1743 assert (MaybeEscapePattern("%%%a%a%%") == "%%%a%a%%"); 1744 assert (MaybeEscapePattern("%%%a%Aaa") == "%%%a%AAa"); 1745 assert (MaybeEscapePattern("%%%a%Aa%") == "%%%a%AA%"); 1746 assert (MaybeEscapePattern("%%%a%A%a") == "%%%a%A%a"); 1747 assert (MaybeEscapePattern("%%%a%A%%") == "%%%a%A%%"); 1748 assert (MaybeEscapePattern("%%%a%%aa") == "%%%a%%AA"); 1749 assert (MaybeEscapePattern("%%%a%%aA") == "%%%a%%AA"); 1750 assert (MaybeEscapePattern("%%%a%%a%") == "%%%a%%a%"); 1751 assert (MaybeEscapePattern("%%%a%%Aa") == "%%%a%%AA"); 1752 assert (MaybeEscapePattern("%%%a%%A%") == "%%%a%%A%"); 1753 assert (MaybeEscapePattern("%%%a%%%a") == "%%%a%%%a"); 1754 assert (MaybeEscapePattern("%%%a%%%A") == "%%%a%%%A"); 1755 assert (MaybeEscapePattern("%%%a%%%%") == "%%%a%%%%"); 1756 assert (MaybeEscapePattern("%%%Aaaaa") == "%%%AAaaa"); 1757 assert (MaybeEscapePattern("%%%Aaaa%") == "%%%AAaa%"); 1758 assert (MaybeEscapePattern("%%%Aaa%a") == "%%%AAa%a"); 1759 assert (MaybeEscapePattern("%%%Aaa%%") == "%%%AAa%%"); 1760 assert (MaybeEscapePattern("%%%Aa%aa") == "%%%AA%AA"); 1761 assert (MaybeEscapePattern("%%%Aa%a%") == "%%%AA%a%"); 1762 assert (MaybeEscapePattern("%%%Aa%%a") == "%%%AA%%a"); 1763 assert (MaybeEscapePattern("%%%Aa%%%") == "%%%AA%%%"); 1764 assert (MaybeEscapePattern("%%%A%aaa") == "%%%A%AAa"); 1765 assert (MaybeEscapePattern("%%%A%aa%") == "%%%A%AA%"); 1766 assert (MaybeEscapePattern("%%%A%a%a") == "%%%A%a%a"); 1767 assert (MaybeEscapePattern("%%%A%a%%") == "%%%A%a%%"); 1768 assert (MaybeEscapePattern("%%%A%%aa") == "%%%A%%AA"); 1769 assert (MaybeEscapePattern("%%%A%%a%") == "%%%A%%a%"); 1770 assert (MaybeEscapePattern("%%%A%%%a") == "%%%A%%%a"); 1771 assert (MaybeEscapePattern("%%%A%%%%") == "%%%A%%%%"); 1772 assert (MaybeEscapePattern("%%%%aaaa") == "%%%%AAaa"); 1773 assert (MaybeEscapePattern("%%%%aaaA") == "%%%%AAaA"); 1774 assert (MaybeEscapePattern("%%%%aaa%") == "%%%%AAa%"); 1775 assert (MaybeEscapePattern("%%%%aaAa") == "%%%%AAAa"); 1776 assert (MaybeEscapePattern("%%%%aaA%") == "%%%%AAA%"); 1777 assert (MaybeEscapePattern("%%%%aa%a") == "%%%%AA%a"); 1778 assert (MaybeEscapePattern("%%%%aa%A") == "%%%%AA%A"); 1779 assert (MaybeEscapePattern("%%%%aa%%") == "%%%%AA%%"); 1780 assert (MaybeEscapePattern("%%%%aAaa") == "%%%%AAaa"); 1781 assert (MaybeEscapePattern("%%%%aAa%") == "%%%%AAa%"); 1782 assert (MaybeEscapePattern("%%%%aA%a") == "%%%%AA%a"); 1783 assert (MaybeEscapePattern("%%%%aA%%") == "%%%%AA%%"); 1784 assert (MaybeEscapePattern("%%%%a%aa") == "%%%%a%AA"); 1785 assert (MaybeEscapePattern("%%%%a%aA") == "%%%%a%AA"); 1786 assert (MaybeEscapePattern("%%%%a%a%") == "%%%%a%a%"); 1787 assert (MaybeEscapePattern("%%%%a%Aa") == "%%%%a%AA"); 1788 assert (MaybeEscapePattern("%%%%a%A%") == "%%%%a%A%"); 1789 assert (MaybeEscapePattern("%%%%a%%a") == "%%%%a%%a"); 1790 assert (MaybeEscapePattern("%%%%a%%A") == "%%%%a%%A"); 1791 assert (MaybeEscapePattern("%%%%a%%%") == "%%%%a%%%"); 1792 assert (MaybeEscapePattern("%%%%Aaaa") == "%%%%AAaa"); 1793 assert (MaybeEscapePattern("%%%%Aaa%") == "%%%%AAa%"); 1794 assert (MaybeEscapePattern("%%%%Aa%a") == "%%%%AA%a"); 1795 assert (MaybeEscapePattern("%%%%Aa%%") == "%%%%AA%%"); 1796 assert (MaybeEscapePattern("%%%%A%aa") == "%%%%A%AA"); 1797 assert (MaybeEscapePattern("%%%%A%a%") == "%%%%A%a%"); 1798 assert (MaybeEscapePattern("%%%%A%%a") == "%%%%A%%a"); 1799 assert (MaybeEscapePattern("%%%%A%%%") == "%%%%A%%%"); 1800 assert (MaybeEscapePattern("%%%%%aaa") == "%%%%%AAa"); 1801 assert (MaybeEscapePattern("%%%%%aaA") == "%%%%%AAA"); 1802 assert (MaybeEscapePattern("%%%%%aa%") == "%%%%%AA%"); 1803 assert (MaybeEscapePattern("%%%%%aAa") == "%%%%%AAa"); 1804 assert (MaybeEscapePattern("%%%%%aA%") == "%%%%%AA%"); 1805 assert (MaybeEscapePattern("%%%%%a%a") == "%%%%%a%a"); 1806 assert (MaybeEscapePattern("%%%%%a%A") == "%%%%%a%A"); 1807 assert (MaybeEscapePattern("%%%%%a%%") == "%%%%%a%%"); 1808 assert (MaybeEscapePattern("%%%%%Aaa") == "%%%%%AAa"); 1809 assert (MaybeEscapePattern("%%%%%Aa%") == "%%%%%AA%"); 1810 assert (MaybeEscapePattern("%%%%%A%a") == "%%%%%A%a"); 1811 assert (MaybeEscapePattern("%%%%%A%%") == "%%%%%A%%"); 1812 assert (MaybeEscapePattern("%%%%%%aa") == "%%%%%%AA"); 1813 assert (MaybeEscapePattern("%%%%%%aA") == "%%%%%%AA"); 1814 assert (MaybeEscapePattern("%%%%%%a%") == "%%%%%%a%"); 1815 assert (MaybeEscapePattern("%%%%%%Aa") == "%%%%%%AA"); 1816 assert (MaybeEscapePattern("%%%%%%A%") == "%%%%%%A%"); 1817 assert (MaybeEscapePattern("%%%%%%%a") == "%%%%%%%a"); 1818 assert (MaybeEscapePattern("%%%%%%%A") == "%%%%%%%A"); 1819 assert (MaybeEscapePattern("%%%%%%%%") == "%%%%%%%%"); 1820 } 1821 1822 unittest 1823 { 1824 assert (Matches("", "")); 1825 assert (!Matches(",", "~")); 1826 assert (!Matches(",", "$")); 1827 assert (!Matches("~", "$")); 1828 assert (!Matches("|", "d")); 1829 assert (Matches("a", "a")); 1830 assert (Matches(",", "*")); 1831 assert (!Matches("~", "Z")); 1832 assert (Matches("~", "*")); 1833 assert (!Matches("@", " ")); 1834 assert (Matches(" ", " ")); 1835 assert (!Matches(",/", "~~")); 1836 assert (!Matches(",i", "~~")); 1837 assert (!Matches(",i", "~+")); 1838 assert (!Matches(",/", "~+")); 1839 assert (!Matches("|i", "d~")); 1840 assert (!Matches("|/", "d~")); 1841 assert (!Matches("|i", "d+")); 1842 assert (!Matches("~/", "$+")); 1843 assert (!Matches("|/", "d+")); 1844 assert (!Matches("a/", "a~")); 1845 assert (!Matches("~/", "$~")); 1846 assert (!Matches("~i", "$+")); 1847 assert (!Matches("~i", "$~")); 1848 assert (!Matches("ai", "a$")); 1849 assert (!Matches("a/", "a$")); 1850 assert (!Matches("~i", "Z~")); 1851 assert (!Matches(",id", "~+.")); 1852 assert (!Matches(",/d", "~+|")); 1853 assert (!Matches("a|", "ad")); 1854 assert (!Matches("~/", "Z~")); 1855 assert (!Matches(",/d", "~~.")); 1856 assert (!Matches("~/", "Z+")); 1857 assert (!Matches(",/,", "~~.")); 1858 assert (!Matches(",i,", "~+.")); 1859 assert (!Matches(",i,", "~~.")); 1860 assert (!Matches(",id", "~+|")); 1861 assert (!Matches(",/,", "~+|")); 1862 assert (!Matches(",/", "$+")); 1863 assert (!Matches("~i", "Z+")); 1864 assert (!Matches(",i,", "~+|")); 1865 assert (!Matches(",id", "~~|")); 1866 assert (Matches("aa", "aa")); 1867 assert (!Matches(",/d", "~+.")); 1868 assert (!Matches(",/d", "~~|")); 1869 assert (!Matches(",/,", "~+.")); 1870 assert (!Matches(",i,", "~~|")); 1871 assert (!Matches(",/,", "~~|")); 1872 assert (!Matches(",i", "$+")); 1873 assert (!Matches(",id", "~~.")); 1874 assert (!Matches(",/", "$~")); 1875 assert (!Matches("ai", "a+")); 1876 assert (!Matches(",i", "$~")); 1877 assert (Matches("ai", "a*")); 1878 assert (Matches("a/", "a*")); 1879 assert (!Matches("$/", "$~")); 1880 assert (Matches("~/", "*$")); 1881 assert (Matches("~i", "*$")); 1882 assert (!Matches(",/", "*~")); 1883 assert (!Matches("@i", " ~")); 1884 assert (!Matches("$/", "$$")); 1885 assert (!Matches("a@", "a ")); 1886 assert (!Matches("@/", " ~")); 1887 assert (!Matches(" /", " ~")); 1888 assert (Matches("a ", "a ")); 1889 assert (!Matches("@/", " +")); 1890 assert (!Matches("$i", "$$")); 1891 assert (Matches(",/", "*$")); 1892 assert (!Matches("|/", "*d")); 1893 assert (!Matches("@i", " +")); 1894 assert (Matches("a/", "*a")); 1895 assert (!Matches("$|", "$d")); 1896 assert (Matches("$a", "$a")); 1897 assert (!Matches("|/,", "d~.")); 1898 assert (Matches("~/", "**")); 1899 assert (!Matches("|/d", "d~|")); 1900 assert (!Matches("|i,", "d+.")); 1901 assert (!Matches("|i,", "d~.")); 1902 assert (Matches(",i", "*$")); 1903 assert (!Matches("|i,", "d~|")); 1904 assert (!Matches("|id", "d+.")); 1905 assert (!Matches("|/d", "d~.")); 1906 assert (!Matches("|/,", "d~|")); 1907 assert (!Matches("|id", "d~.")); 1908 assert (!Matches("|id", "d~|")); 1909 assert (!Matches("$i", "$+")); 1910 assert (Matches("~i", "**")); 1911 assert (Matches("$i", "$*")); 1912 assert (!Matches("~i", "*+")); 1913 assert (!Matches("a/,", "a~.")); 1914 assert (!Matches("|/,", "d+.")); 1915 assert (!Matches(",|", "*d")); 1916 assert (Matches(",a", "*a")); 1917 assert (Matches("$/", "$*")); 1918 assert (!Matches(" |", " d")); 1919 assert (!Matches(" i", " $")); 1920 assert (Matches(" a", " a")); 1921 assert (!Matches("|/d", "d+|")); 1922 assert (!Matches("~@", "* ")); 1923 assert (!Matches("a/,", "a~|")); 1924 assert (!Matches("a/d", "a~.")); 1925 assert (!Matches("a/d", "a~|")); 1926 assert (!Matches("~/,", "$~.")); 1927 assert (!Matches("|/,", "d+|")); 1928 assert (!Matches("|/d", "d+.")); 1929 assert (!Matches("|i,", "d+|")); 1930 assert (!Matches("$@", "$ ")); 1931 assert (!Matches("~/d", "$~.")); 1932 assert (!Matches(" /", " $")); 1933 assert (Matches("$ ", "$ ")); 1934 assert (!Matches("~/,", "$~|")); 1935 assert (!Matches("|id", "d+|")); 1936 assert (Matches("~ ", "* ")); 1937 assert (!Matches("~i,", "$+|")); 1938 assert (Matches(",i", "**")); 1939 assert (!Matches("~/d", "$~|")); 1940 assert (!Matches(",/,", "$~|")); 1941 assert (!Matches("~/d", "$+|")); 1942 assert (!Matches(" i", " +")); 1943 assert (!Matches("||", "*d")); 1944 assert (Matches("aa", "*a")); 1945 assert (!Matches(",/,", "$~.")); 1946 assert (Matches(" i", " *")); 1947 assert (!Matches("~/,", "$+|")); 1948 assert (Matches(",/", "**")); 1949 assert (Matches("da", "*a")); 1950 assert (!Matches(",/d", "$~.")); 1951 assert (Matches("da", "*d")); 1952 assert (!Matches("~id", "$+|")); 1953 assert (!Matches("~id", "$+.")); 1954 assert (!Matches("~id", "$~.")); 1955 assert (!Matches(",i,", "$~|")); 1956 assert (!Matches("~i,", "$+.")); 1957 assert (!Matches(",/d", "$~|")); 1958 assert (!Matches(",i,", "$+.")); 1959 assert (!Matches("~/d", "Z~.")); 1960 assert (!Matches("~i,", "$~.")); 1961 assert (!Matches(",i,", "$~.")); 1962 assert (!Matches("~/,", "$+.")); 1963 assert (!Matches("@i", "* ")); 1964 assert (!Matches("~/d", "$+.")); 1965 assert (!Matches(",id", "$~.")); 1966 assert (Matches(" /", " *")); 1967 assert (!Matches("~i,", "$~|")); 1968 assert (Matches(" i", "* ")); 1969 assert (!Matches("~/,", "Z~.")); 1970 assert (!Matches("a|,", "ad|")); 1971 assert (!Matches("~id", "$~|")); 1972 assert (!Matches(",id", "$~|")); 1973 assert (!Matches("a|,", "ad.")); 1974 assert (!Matches("~i,", "Z+|")); 1975 assert (!Matches("$/d", "$~|")); 1976 assert (!Matches("ai,", "a$.")); 1977 assert (!Matches("$/,", "$~|")); 1978 assert (!Matches(",id", "$+.")); 1979 assert (!Matches(",/d", "$+.")); 1980 assert (!Matches("a|d", "ad|")); 1981 assert (!Matches("$/,", "$~.")); 1982 assert (!Matches(",i,", "$+|")); 1983 assert (!Matches("$/d", "$~.")); 1984 assert (!Matches(" @", " ")); 1985 assert (!Matches("~/d", "Z+|")); 1986 assert (!Matches(",/,", "$+.")); 1987 assert (!Matches(",/,", "$+|")); 1988 assert (!Matches(",id", "$+|")); 1989 assert (!Matches("a|d", "ad.")); 1990 assert (Matches(" ", " ")); 1991 assert (!Matches("~/d", "Z~|")); 1992 assert (!Matches("@/,", " ~.")); 1993 assert (!Matches("~/,", "Z+|")); 1994 assert (!Matches("~/,", "Z~|")); 1995 assert (!Matches("~id", "Z~.")); 1996 assert (!Matches("~/,", "Z+.")); 1997 assert (!Matches("@/d", " ~|")); 1998 assert (!Matches("~i,", "Z~.")); 1999 assert (!Matches("~i,", "Z+.")); 2000 assert (!Matches("~id", "Z+.")); 2001 assert (!Matches(",/d", "$+|")); 2002 assert (!Matches("@/d", " ~.")); 2003 assert (!Matches(",/,", "*~|")); 2004 assert (!Matches("@/,", " ~|")); 2005 assert (!Matches("~id", "Z+|")); 2006 assert (!Matches("aid", "a$.")); 2007 assert (!Matches("~id", "Z~|")); 2008 assert (Matches("@ ", "* ")); 2009 assert (!Matches("@id", " +.")); 2010 assert (!Matches("~i,", "Z~|")); 2011 assert (!Matches(",/,", "*~.")); 2012 assert (!Matches("~/d", "Z+.")); 2013 assert (!Matches("ai,", "a$|")); 2014 assert (!Matches("aa,", "aa|")); 2015 assert (!Matches("@@", "* ")); 2016 assert (!Matches(" /,", " ~.")); 2017 assert (!Matches(" /,", " ~|")); 2018 assert (Matches(" T", "* ")); 2019 assert (!Matches("a/d", "a$|")); 2020 assert (Matches(" ", "* ")); 2021 assert (!Matches("$|,", "$d|")); 2022 assert (!Matches("aid", "a$|")); 2023 assert (!Matches("$|,", "$d.")); 2024 assert (!Matches(" /d", " ~.")); 2025 assert (!Matches("aid", "a+.")); 2026 assert (!Matches("a/,", "a$|")); 2027 assert (!Matches("aa,", "aa$")); 2028 assert (!Matches("@i,", " ~|")); 2029 assert (!Matches("a/d", "a$.")); 2030 assert (!Matches(" /d", " ~|")); 2031 assert (!Matches("@/,", " +.")); 2032 assert (!Matches("a/,", "a$.")); 2033 assert (!Matches("@i,", " +|")); 2034 assert (!Matches("ai,", "a+.")); 2035 assert (!Matches(",/d", "*||")); 2036 assert (!Matches("@i,", " ~.")); 2037 assert (!Matches("$|d", "$d|")); 2038 assert (!Matches(",/d", "*|.")); 2039 assert (!Matches("aa|", "aad")); 2040 assert (!Matches(",/a", "*a|")); 2041 assert (!Matches("@id", " ~|")); 2042 assert (!Matches("@id", " +|")); 2043 assert (!Matches("@id", " ~.")); 2044 assert (!Matches("$|d", "$d.")); 2045 assert (!Matches("$a,", "$a|")); 2046 assert (!Matches("ai,", "a+|")); 2047 assert (Matches(",/a", "*a$")); 2048 assert (!Matches("a$,", "a$|")); 2049 assert (!Matches("$id", "$$|")); 2050 assert (!Matches("@i,", " +.")); 2051 assert (!Matches("aad", "aa$")); 2052 assert (!Matches("@/,", " +|")); 2053 assert (Matches("aaa", "aaa")); 2054 assert (!Matches("$i,", "$$.")); 2055 assert (!Matches("@/d", " +|")); 2056 assert (Matches("aa,", "aa*")); 2057 assert (Matches(",/a", "*a*")); 2058 assert (!Matches(",/a", "*a.")); 2059 assert (!Matches("a@d", "a .")); 2060 assert (!Matches("@/d", " +.")); 2061 assert (!Matches("a@,", "a .")); 2062 assert (!Matches("a@d", "a |")); 2063 assert (!Matches("$i,", "$$|")); 2064 assert (!Matches("aid", "a+|")); 2065 assert (!Matches("$id", "$$.")); 2066 assert (!Matches("$a,", "$a$")); 2067 assert (!Matches("a@,", "a |")); 2068 assert (Matches("aad", "aa*")); 2069 assert (!Matches("a$,", "a$$")); 2070 assert (!Matches("aa@", "aa ")); 2071 assert (!Matches("aad", "aa.")); 2072 assert (Matches("aid", "a*$")); 2073 assert (!Matches("$i,", "$+.")); 2074 assert (Matches("aa ", "aa ")); 2075 assert (!Matches("$id", "$+|")); 2076 assert (Matches("ai,", "a*$")); 2077 assert (!Matches("|/,", "*d.")); 2078 assert (!Matches("a/,", "a*|")); 2079 assert (!Matches("$/,", "$$|")); 2080 assert (!Matches("a$|", "a$d")); 2081 assert (!Matches("a$d", "a$$")); 2082 assert (!Matches(" |,", " d|")); 2083 assert (!Matches("$/,", "$$.")); 2084 assert (!Matches("$a|", "$ad")); 2085 assert (!Matches("$ad", "$a$")); 2086 assert (!Matches("a ,", "a |")); 2087 assert (Matches("a$a", "a$a")); 2088 assert (!Matches("$id", "$+.")); 2089 assert (!Matches(",|,", "*d|")); 2090 assert (!Matches("$/d", "$$.")); 2091 assert (!Matches("$i,", "$+|")); 2092 assert (!Matches("|/,", "*d|")); 2093 assert (Matches("a/,", "a*$")); 2094 assert (!Matches(" |d", " d|")); 2095 assert (!Matches("$/d", "$$|")); 2096 assert (!Matches("a|,", "a*d")); 2097 assert (!Matches("a ,", "a $")); 2098 assert (Matches("a/d", "a*$")); 2099 assert (Matches("$aa", "$aa")); 2100 assert (!Matches(" a,", " a|")); 2101 assert (Matches("$a,", "$a*")); 2102 assert (Matches("aa,", "a*a")); 2103 assert (!Matches(" |d", " d.")); 2104 assert (!Matches("$$,", "$$|")); 2105 assert (Matches("ai,", "a**")); 2106 assert (!Matches("~id", "*$|")); 2107 assert (!Matches("~id", "*$.")); 2108 assert (!Matches("a/,", "*a|")); 2109 assert (!Matches(",a,", "*a|")); 2110 assert (Matches("a$,", "a$*")); 2111 assert (Matches("aid", "a**")); 2112 assert (!Matches("aid", "a*.")); 2113 assert (!Matches(" |,", " d.")); 2114 assert (!Matches(" id", " $.")); 2115 assert (!Matches("a/,", "*a$")); 2116 assert (!Matches(",|,", "*d.")); 2117 assert (!Matches("a$d", "a$.")); 2118 assert (!Matches("ai@", "a* ")); 2119 assert (Matches("$/,", "$*$")); 2120 assert (!Matches("a$@", "a$ ")); 2121 assert (!Matches("$@d", "$ .")); 2122 assert (Matches("ai ", "a* ")); 2123 assert (!Matches("a |", "a d")); 2124 assert (Matches("a$d", "a$*")); 2125 assert (!Matches(" /,", " $|")); 2126 assert (!Matches("d/d", "*|.")); 2127 assert (!Matches("a/|", "a*d")); 2128 assert (Matches("a$ ", "a$ ")); 2129 assert (Matches("$i,", "$*$")); 2130 assert (!Matches("a||", "a*d")); 2131 assert (!Matches("$@,", "$ |")); 2132 assert (Matches("aaa", "a*a")); 2133 assert (!Matches(" i,", " $.")); 2134 assert (!Matches("$/,", "$*|")); 2135 assert (Matches("ada", "a*a")); 2136 assert (!Matches("$$,", "$$$")); 2137 assert (!Matches("$a@", "$a ")); 2138 assert (!Matches("$@,", "$ .")); 2139 assert (Matches("ada", "a*d")); 2140 assert (!Matches("$$d", "$$$")); 2141 assert (Matches("a/a", "a*a")); 2142 assert (!Matches(" i,", " $|")); 2143 assert (Matches("a a", "a a")); 2144 assert (!Matches("a d", "a $")); 2145 assert (!Matches(" id", " $|")); 2146 assert (Matches("$a ", "$a ")); 2147 assert (Matches("a/,", "a**")); 2148 assert (Matches("a ,", "a *")); 2149 assert (!Matches("$ ,", "$ |")); 2150 assert (Matches("$id", "$*$")); 2151 assert (Matches("$ad", "$a*")); 2152 assert (!Matches(" /,", " $.")); 2153 assert (!Matches(" a,", " a$")); 2154 assert (!Matches(" /d", " $.")); 2155 assert (!Matches("$ad", "$a.")); 2156 assert (Matches("a/d", "a**")); 2157 assert (Matches("a d", "a *")); 2158 assert (!Matches("a @", "a ")); 2159 assert (!Matches(" i,", " +|")); 2160 assert (!Matches("~id", "*+|")); 2161 assert (!Matches("a d", "a .")); 2162 assert (Matches("a ", "a ")); 2163 assert (!Matches("~i,", "*$.")); 2164 assert (!Matches("a@d", "a* ")); 2165 assert (!Matches(" id", " +|")); 2166 assert (Matches("a d", "a* ")); 2167 assert (!Matches(",a,", "*a$")); 2168 assert (Matches("a/,", "*a*")); 2169 assert (!Matches(" /d", " $|")); 2170 assert (!Matches(" $,", " $|")); 2171 assert (!Matches("a@@", "a* ")); 2172 assert (!Matches("d/d", "*||")); 2173 assert (Matches("a T", "a* ")); 2174 assert (Matches("a@ ", "a* ")); 2175 assert (Matches("a ", "a* ")); 2176 assert (!Matches("~id", "*+.")); 2177 assert (!Matches("$$|", "$$d")); 2178 assert (Matches("$$a", "$$a")); 2179 assert (!Matches("a@,", "*a ")); 2180 assert (!Matches("$@d", "$ |")); 2181 assert (Matches("a ,", "*a ")); 2182 assert (Matches("$/d", "$*$")); 2183 assert (!Matches(" ad", " a$")); 2184 assert (!Matches(" @,", " |")); 2185 assert (!Matches("d/a", "*a|")); 2186 assert (Matches(" a,", " a*")); 2187 assert (!Matches(" a|", " ad")); 2188 assert (!Matches(" id", " +.")); 2189 assert (!Matches(" /,", " *|")); 2190 assert (!Matches(" i,", " +.")); 2191 assert (!Matches("||,", "*d|")); 2192 assert (!Matches("a/a", "*a|")); 2193 assert (!Matches("~i,", "*$|")); 2194 assert (Matches("$$,", "$$*")); 2195 assert (!Matches("d/a", "*d|")); 2196 assert (Matches(" aa", " aa")); 2197 assert (Matches("~id", "**$")); 2198 assert (Matches(",a,", "*a*")); 2199 assert (!Matches("~/d", "*$.")); 2200 assert (Matches("d/a", "*a$")); 2201 assert (!Matches("||,", "*d.")); 2202 assert (!Matches("$$d", "$$.")); 2203 assert (!Matches(" ,", " |")); 2204 assert (!Matches("~/d", "*$|")); 2205 assert (!Matches(",dd", "*||")); 2206 assert (Matches("$$d", "$$*")); 2207 assert (!Matches(" @,", " .")); 2208 assert (Matches(" a ", " a ")); 2209 assert (!Matches(" a@", " a ")); 2210 assert (!Matches("d/a", "*a.")); 2211 assert (Matches("d/a", "*a*")); 2212 assert (!Matches("$|,", "$*d")); 2213 assert (!Matches("~i$", "*$|")); 2214 assert (!Matches("da,", "*a|")); 2215 assert (Matches("a/a", "*a$")); 2216 assert (!Matches("$/|", "$*d")); 2217 assert (!Matches("d/a", "*d$")); 2218 assert (!Matches(" @d", " .")); 2219 assert (!Matches("$$@", "$$ ")); 2220 assert (!Matches(",dd", "*|.")); 2221 assert (!Matches("ddd", "*|.")); 2222 assert (!Matches("$ ,", "$ $")); 2223 assert (!Matches(",a@", "*a ")); 2224 assert (Matches("$i,", "$**")); 2225 assert (!Matches(" @d", " |")); 2226 assert (!Matches("$ d", "$ $")); 2227 assert (Matches("$a,", "$*a")); 2228 assert (Matches("$/a", "$*a")); 2229 assert (Matches(",a ", "*a ")); 2230 assert (!Matches("da,", "*a$")); 2231 assert (Matches("$id", "$**")); 2232 assert (!Matches(",da", "*a|")); 2233 assert (!Matches(",/,", "**|")); 2234 assert (!Matches(" ad", " a.")); 2235 assert (Matches("~/,", "**$")); 2236 assert (Matches("~i$", "*$$")); 2237 assert (Matches("$$ ", "$$ ")); 2238 assert (Matches("~i,", "**$")); 2239 assert (!Matches("$ |", "$ d")); 2240 assert (!Matches(" $d", " $$")); 2241 assert (Matches("~id", "***")); 2242 assert (!Matches(" $,", " $$")); 2243 assert (!Matches("~/,", "*$.")); 2244 assert (Matches("a/a", "*a*")); 2245 assert (Matches(" ad", " a*")); 2246 assert (Matches("d/a", "*d*")); 2247 assert (Matches("$ a", "$ a")); 2248 assert (!Matches("$id", "$*.")); 2249 assert (Matches("$/d", "$**")); 2250 assert (Matches(",da", "*a$")); 2251 assert (!Matches("d@a", "*d ")); 2252 assert (!Matches("ddd", "*||")); 2253 assert (Matches(" id", " *$")); 2254 assert (!Matches("a@a", "*a ")); 2255 assert (!Matches("~id", "**.")); 2256 assert (Matches("d a", "*d ")); 2257 assert (Matches("a a", "*a ")); 2258 assert (!Matches(",da", "*dd")); 2259 assert (Matches(" i,", " *$")); 2260 assert (Matches(" /,", " *$")); 2261 assert (Matches("$/,", "$**")); 2262 assert (!Matches("da,", "*dd")); 2263 assert (!Matches("~$d", "*$$")); 2264 assert (Matches(",ba", "*ba")); 2265 assert (!Matches("~i ", "*@|")); 2266 assert (Matches("~/d", "**$")); 2267 assert (!Matches(" $|", " $d")); 2268 assert (!Matches("$||", "$*d")); 2269 assert (!Matches("~$|", "*$d")); 2270 assert (!Matches("da,", "*d$")); 2271 assert (!Matches("~i ", "*@.")); 2272 assert (Matches(",/,", "**$")); 2273 assert (Matches("$ d", "$ *")); 2274 assert (!Matches(",aa", "*ad")); 2275 assert (!Matches(",da", "*a.")); 2276 assert (Matches(" $a", " $a")); 2277 assert (Matches(",aa", "*aa")); 2278 assert (Matches("~$a", "*$a")); 2279 assert (Matches("$da", "$*d")); 2280 assert (Matches(",da", "*a*")); 2281 assert (!Matches("$ d", "$ .")); 2282 assert (!Matches(",da", "*d$")); 2283 assert (!Matches("~/,", "*$|")); 2284 assert (!Matches(",id", "*$.")); 2285 assert (Matches(",aa", "*a$")); 2286 assert (Matches("ba,", "*ba")); 2287 assert (!Matches("~@d", "* |")); 2288 assert (Matches("~i$", "*$*")); 2289 assert (!Matches(" |,", " *d")); 2290 assert (!Matches(" ,", " $")); 2291 assert (!Matches("$i@", "$* ")); 2292 assert (Matches("$aa", "$*a")); 2293 assert (Matches(" a,", " *a")); 2294 assert (Matches("$da", "$*a")); 2295 assert (!Matches("~i ", "* |")); 2296 assert (!Matches("aa,", "*a$")); 2297 assert (!Matches("~@d", "* .")); 2298 assert (!Matches(",da", "*d.")); 2299 assert (!Matches(",id", "*$|")); 2300 assert (!Matches("~i$", "*$.")); 2301 assert (!Matches(",/d", "*$|")); 2302 assert (Matches("$i ", "$* ")); 2303 assert (Matches("$ ,", "$ *")); 2304 assert (Matches(",da", "*d*")); 2305 assert (Matches("aa,", "*aa")); 2306 assert (!Matches("dd,", "*d|")); 2307 assert (Matches(",aa", "*a*")); 2308 assert (!Matches(",aa", "*a.")); 2309 assert (!Matches(",/,", "*$|")); 2310 assert (!Matches(" |", " d")); 2311 assert (!Matches("$@d", "$* ")); 2312 assert (Matches("da,", "*a*")); 2313 assert (Matches(",/d", "**$")); 2314 assert (!Matches("~$d", "*$.")); 2315 assert (!Matches("~ ", "*@.")); 2316 assert (Matches("$ d", "$* ")); 2317 assert (Matches("~$d", "*$*")); 2318 assert (!Matches("~/$", "*$|")); 2319 assert (!Matches("dda", "*a|")); 2320 assert (Matches(" /d", " *$")); 2321 assert (!Matches("~$$", "*$|")); 2322 assert (!Matches(",i,", "*$|")); 2323 assert (!Matches(" ", "*@|")); 2324 assert (Matches(" id", " **")); 2325 assert (!Matches("~$,", "*$|")); 2326 assert (!Matches(" id", " *.")); 2327 assert (!Matches(" d", " $")); 2328 assert (!Matches("~ |", "* d")); 2329 assert (!Matches(" $d", " $.")); 2330 assert (!Matches("$ @", "$ ")); 2331 assert (Matches(" i,", " **")); 2332 assert (!Matches(" /|", " *d")); 2333 assert (Matches("~i ", "* $")); 2334 assert (Matches(" a", " a")); 2335 assert (Matches("dda", "*a$")); 2336 assert (Matches(" $d", " $*")); 2337 assert (Matches("~ a", "* a")); 2338 assert (!Matches("~ ", "*@|")); 2339 assert (!Matches("~ d", "* $")); 2340 assert (Matches("daa", "**d")); 2341 assert (Matches("a/,", "**a")); 2342 assert (Matches("~/d", "***")); 2343 assert (!Matches("$id", "*$$")); 2344 assert (Matches("$ ", "$ ")); 2345 assert (Matches("~/$", "*$$")); 2346 assert (Matches("da ", "*a ")); 2347 assert (!Matches(",/$", "*$|")); 2348 assert (Matches(" /a", " *a")); 2349 assert (!Matches("|/,", "**d")); 2350 assert (!Matches("da@", "*a ")); 2351 assert (!Matches("da,", "*d.")); 2352 assert (!Matches("@id", "* .")); 2353 assert (Matches(",i,", "**$")); 2354 assert (!Matches("|/|", "**d")); 2355 assert (Matches("ada", "**a")); 2356 assert (Matches("da,", "*d*")); 2357 assert (Matches(",id", "**$")); 2358 assert (!Matches("~@ ", "* |")); 2359 assert (Matches("aa,", "*a*")); 2360 assert (!Matches("||,", "**d")); 2361 assert (Matches("~/,", "***")); 2362 assert (!Matches(" ||", " *d")); 2363 assert (!Matches(" i ", "*@|")); 2364 assert (Matches("d/a", "**a")); 2365 assert (Matches("~i,", "***")); 2366 assert (Matches("d/a", "**d")); 2367 assert (!Matches("|||", "**d")); 2368 assert (Matches("~/$", "*$*")); 2369 assert (!Matches(",i,", "*$.")); 2370 assert (Matches("ada", "**d")); 2371 assert (Matches("a/a", "**a")); 2372 assert (Matches(" $,", " $*")); 2373 assert (!Matches("~ T", "* |")); 2374 assert (!Matches(",i$", "*$|")); 2375 assert (Matches(" da", " *d")); 2376 assert (Matches("dda", "**a")); 2377 assert (Matches("ddb", "**d")); 2378 assert (Matches("daa", "**a")); 2379 assert (!Matches("~ ", "* |")); 2380 assert (!Matches("~ d", "* .")); 2381 assert (Matches("~ d", "* *")); 2382 assert (Matches("da,", "**a")); 2383 assert (Matches("aaa", "**a")); 2384 assert (!Matches("~/$", "*$.")); 2385 assert (!Matches("~@d", "** ")); 2386 assert (!Matches(" i@", " * ")); 2387 assert (Matches("~ d", "** ")); 2388 assert (!Matches("@id", "* |")); 2389 assert (!Matches("~$,", "*$$")); 2390 assert (Matches("~$$", "*$$")); 2391 assert (!Matches("aa@", "*a ")); 2392 assert (!Matches(",/|", "**d")); 2393 assert (!Matches("@@d", "* |")); 2394 assert (Matches(" d", " *")); 2395 assert (Matches("~i ", "* *")); 2396 assert (!Matches("~i ", "* .")); 2397 assert (!Matches("$@@", "$* ")); 2398 assert (Matches("aa ", "*a ")); 2399 assert (Matches("da,", "**d")); 2400 assert (Matches("daa", "*a$")); 2401 assert (Matches(" da", " *a")); 2402 assert (Matches(" /d", " **")); 2403 assert (!Matches(",|,", "**d")); 2404 assert (Matches("aa,", "**a")); 2405 assert (!Matches("$/d", "*$|")); 2406 assert (Matches(" i ", " * ")); 2407 assert (Matches("$ T", "$* ")); 2408 assert (Matches("~@ ", "* $")); 2409 assert (!Matches("ada", "*dd")); 2410 assert (Matches("$id", "*$*")); 2411 assert (Matches(" aa", " *a")); 2412 assert (Matches("$ad", "*$a")); 2413 assert (!Matches("~i@", "** ")); 2414 assert (!Matches("ada", "*d$")); 2415 assert (!Matches("$id", "*$.")); 2416 assert (Matches(",/a", "**a")); 2417 assert (Matches(",a,", "**a")); 2418 assert (!Matches(" d", " .")); 2419 assert (!Matches("$|d", "*$d")); 2420 assert (Matches("~$$", "*$*")); 2421 assert (!Matches("$/,", "*$|")); 2422 assert (Matches("~i ", "** ")); 2423 assert (!Matches("$/$", "*$|")); 2424 assert (!Matches(",/d", "*$.")); 2425 assert (Matches("$ ", "$* ")); 2426 assert (!Matches("B@ ", "* |")); 2427 assert (!Matches("~$$", "*$.")); 2428 assert (Matches("~$,", "*$*")); 2429 assert (Matches("dda", "*a*")); 2430 assert (Matches("$@ ", "$* ")); 2431 assert (!Matches(" i ", "*@.")); 2432 assert (!Matches("$i,", "*$$")); 2433 assert (Matches(" /,", " **")); 2434 assert (!Matches("@@d", "* .")); 2435 assert (Matches("aba", "*ba")); 2436 assert (!Matches("~$@", "*$ ")); 2437 assert (Matches("ada", "*a$")); 2438 assert (!Matches("dda", "*a.")); 2439 assert (Matches("aaa", "*a$")); 2440 assert (Matches("~$ ", "*$ ")); 2441 assert (!Matches("ddb", "*d$")); 2442 assert (!Matches(",$|", "*$d")); 2443 assert (!Matches("daa", "*dd")); 2444 assert (Matches(",i$", "*$$")); 2445 assert (!Matches("bhh", "*hd")); 2446 assert (!Matches("~@@", "** ")); 2447 assert (Matches(",id", "***")); 2448 assert (!Matches(" $@", " $ ")); 2449 assert (!Matches("@i ", "* |")); 2450 assert (Matches(" ,", " *")); 2451 assert (Matches("~@ ", "* *")); 2452 assert (!Matches(" id", "* $")); 2453 assert (!Matches("~ T", "* $")); 2454 assert (!Matches(",$,", "*$|")); 2455 assert (!Matches("~@ ", "* .")); 2456 assert (Matches("daa", "*aa")); 2457 assert (Matches("~@ ", "** ")); 2458 assert (!Matches("$|,", "*$d")); 2459 assert (Matches(" $ ", " $ ")); 2460 assert (!Matches(",$$", "*$|")); 2461 assert (!Matches("daa", "*d$")); 2462 assert (Matches("~ ", "* $")); 2463 assert (Matches("~ ", "** ")); 2464 assert (Matches("~ T", "** ")); 2465 assert (!Matches(" @", " ")); 2466 assert (Matches("$a,", "*$a")); 2467 assert (Matches("bad", "*ba")); 2468 assert (!Matches("T T", "* |")); 2469 assert (!Matches("$$,", "*$|")); 2470 assert (!Matches("ada", "*aa")); 2471 assert (!Matches("$$$", "*$|")); 2472 assert (Matches(",$a", "*$a")); 2473 assert (!Matches(" @d", " * ")); 2474 assert (!Matches("ada", "*d.")); 2475 assert (Matches("bab", "*ba")); 2476 assert (Matches("daa", "*a*")); 2477 assert (Matches("~ T", "* *")); 2478 assert (!Matches(" TT", "* |")); 2479 assert (!Matches(" @ ", "* |")); 2480 assert (Matches("~ ", "* *")); 2481 assert (!Matches(" ", "*@.")); 2482 assert (Matches("ddb", "*dd")); 2483 assert (!Matches("daa", "*a.")); 2484 assert (!Matches(",$d", "*$$")); 2485 assert (Matches("ada", "*d*")); 2486 assert (!Matches("$$|", "*$d")); 2487 assert (!Matches("@ ", "* |")); 2488 assert (!Matches(",/,", "*$.")); 2489 assert (!Matches(" |d", "* d")); 2490 assert (!Matches("$|$", "*$d")); 2491 assert (Matches(" d", " * ")); 2492 assert (!Matches("~ T", "* ")); 2493 assert (Matches("~! ", "*! ")); 2494 assert (Matches(" ", " ")); 2495 assert (Matches(",i,", "***")); 2496 assert (Matches("~ ", "* ")); 2497 assert (!Matches("ddd", "*d|")); 2498 assert (!Matches(" id", "* .")); 2499 assert (!Matches("~ ", "* &")); 2500 assert (!Matches(",i$", "*$.")); 2501 assert (Matches("$a$", "*$a")); 2502 assert (!Matches("ddx", "*da")); 2503 assert (Matches("aaa", "*aa")); 2504 assert (Matches("bba", "*ba")); 2505 assert (!Matches("daa", "*d.")); 2506 assert (!Matches("ada", "*a.")); 2507 assert (Matches(" id", "* *")); 2508 assert (!Matches("$$d", "*$$")); 2509 assert (Matches("ada", "*a*")); 2510 assert (Matches(" ad", "* a")); 2511 assert (!Matches(" X", "* |")); 2512 assert (!Matches("$/d", "*$$")); 2513 assert (Matches("daa", "*d*")); 2514 assert (Matches("aaa", "*a*")); 2515 assert (Matches(",/d", "***")); 2516 assert (!Matches("@id", "** ")); 2517 assert (!Matches("ddb", "*d.")); 2518 assert (Matches("ddb", "*d*")); 2519 assert (Matches(" id", "** ")); 2520 assert (!Matches(" ", "* |")); 2521 assert (!Matches("aaa", "*a.")); 2522 assert (!Matches(" | ", "* d")); 2523 assert (!Matches(",||", "**d")); 2524 assert (Matches("$$a", "*$a")); 2525 assert (Matches(",i$", "*$*")); 2526 assert (!Matches(" iT", "* $")); 2527 assert (!Matches(" Td", "* |")); 2528 assert (Matches("$i$", "*$$")); 2529 assert (Matches(",da", "**a")); 2530 assert (Matches(",da", "**d")); 2531 assert (Matches(",aa", "**a")); 2532 assert (Matches(" a ", "* a")); 2533 assert (!Matches(" |T", "* d")); 2534 assert (Matches(" aT", "* a")); 2535 assert (Matches(",/,", "***")); 2536 assert (!Matches(" @@", " * ")); 2537 assert (!Matches("@ |", "* d")); 2538 assert (!Matches("$i,", "*$.")); 2539 assert (Matches(" @ ", " * ")); 2540 assert (Matches("$i,", "*$*")); 2541 assert (!Matches("$i$", "*$.")); 2542 assert (Matches("$i$", "*$*")); 2543 assert (Matches(" i ", "* $")); 2544 assert (Matches("@ a", "* a")); 2545 assert (Matches("@i ", "* $")); 2546 assert (!Matches("@i@", "** ")); 2547 assert (Matches(" ", " * ")); 2548 assert (!Matches(" iT", "* .")); 2549 assert (Matches(" T", " * ")); 2550 assert (Matches(",/$", "*$$")); 2551 assert (!Matches(" |", "* d")); 2552 assert (Matches("@i ", "** ")); 2553 assert (!Matches("$/,", "*$$")); 2554 assert (Matches("@i ", "* *")); 2555 assert (Matches(" i ", "** ")); 2556 assert (Matches(",$d", "*$*")); 2557 assert (Matches(" a", "* a")); 2558 assert (Matches(" iT", "** ")); 2559 assert (!Matches(" Td", "* $")); 2560 assert (!Matches("@i ", "* .")); 2561 assert (!Matches(",$d", "*$.")); 2562 assert (Matches(" iT", "* *")); 2563 assert (Matches(" i ", "* *")); 2564 assert (!Matches(" d", "* $")); 2565 assert (!Matches(" i ", "* .")); 2566 assert (!Matches("@ d", "* $")); 2567 assert (!Matches(" TT", "* $")); 2568 assert (!Matches(",/$", "*$.")); 2569 assert (Matches("$/$", "*$$")); 2570 assert (Matches("$$d", "*$*")); 2571 assert (!Matches("$$d", "*$.")); 2572 assert (Matches("$/d", "*$*")); 2573 assert (Matches("B@ ", "* $")); 2574 assert (Matches(",/$", "*$*")); 2575 assert (!Matches("$@d", "*$ ")); 2576 assert (Matches("@ d", "* *")); 2577 assert (Matches("$ d", "*$ ")); 2578 assert (!Matches("$$,", "*$$")); 2579 assert (!Matches(",$,", "*$$")); 2580 assert (!Matches("@ d", "* .")); 2581 assert (Matches(",$$", "*$$")); 2582 assert (Matches(",$$", "*$*")); 2583 assert (Matches(" d", "** ")); 2584 assert (Matches(" Td", "** ")); 2585 assert (Matches("@ d", "** ")); 2586 assert (!Matches("@@d", "** ")); 2587 assert (Matches("B@ ", "* *")); 2588 assert (Matches("$$$", "*$$")); 2589 assert (Matches(" d", "* *")); 2590 assert (Matches(" Td", "* *")); 2591 assert (!Matches(" Td", "* ")); 2592 assert (!Matches(",$$", "*$.")); 2593 assert (Matches("! d", "*! ")); 2594 assert (Matches(" @ ", "* $")); 2595 assert (Matches(",$,", "*$*")); 2596 assert (!Matches(",$@", "*$ ")); 2597 assert (!Matches("B@ ", "* .")); 2598 assert (Matches(" d", "* ")); 2599 assert (!Matches(" d", "* X")); 2600 assert (Matches("B@ ", "** ")); 2601 assert (!Matches("T T", "* $")); 2602 assert (Matches(",$ ", "*$ ")); 2603 assert (Matches("$/,", "*$*")); 2604 assert (!Matches("$@,", "*$ ")); 2605 assert (Matches("@ ", "* $")); 2606 assert (Matches("@ ", "** ")); 2607 assert (!Matches("@@@", "** ")); 2608 assert (Matches("T T", "** ")); 2609 assert (!Matches(" X", "* $")); 2610 assert (Matches("$/$", "*$*")); 2611 assert (Matches("$$$", "*$*")); 2612 assert (Matches("$ ,", "*$ ")); 2613 assert (Matches(" @ ", "** ")); 2614 assert (Matches("$$,", "*$*")); 2615 assert (Matches(" TT", "** ")); 2616 assert (!Matches("$$$", "*$.")); 2617 assert (Matches(" X", "** ")); 2618 assert (Matches(" ", "** ")); 2619 assert (Matches("$ $", "*$ ")); 2620 assert (!Matches("$@$", "*$ ")); 2621 assert (Matches("@ ", "* *")); 2622 assert (!Matches("$$@", "*$ ")); 2623 assert (Matches(" ", "* $")); 2624 assert (Matches(" @ ", "* *")); 2625 assert (Matches("$$ ", "*$ ")); 2626 assert (Matches(" X", "* *")); 2627 assert (Matches("T T", "* *")); 2628 assert (Matches(" TT", "* *")); 2629 assert (!Matches(" TT", "* ")); 2630 assert (!Matches("T T", "* ")); 2631 assert (Matches("\" ", "*\" ")); 2632 assert (Matches(" ", "* *")); 2633 assert (!Matches(" ((", "*(_")); 2634 assert (Matches(" ! ", "*! ")); 2635 assert (Matches("! !", "*! ")); 2636 assert (Matches("@ ", "* ")); 2637 assert (!Matches(" @ ", "* ")); 2638 assert (!Matches(" @", "* 0")); 2639 assert (Matches("!! ", "*! ")); 2640 assert (!Matches(" ", "* X")); 2641 assert (Matches(" X", "* ")); 2642 assert (Matches(" ", "* ")); 2643 } 2644 2645 version (unittest) 2646 { 2647 bool testGetKV(string ex_key, string ex_value, string line) 2648 { 2649 string key, value; 2650 return getKeyAndValueFrom(key, value, line.dup) && ex_key == key && ex_value == value; 2651 } 2652 } 2653 2654 unittest 2655 { 2656 // Full-width Unicode characters 2657 assert (testGetKV("KEY", "VALUE", "KEY:VALUE")); 2658 assert (testGetKV("KEY", "VALUE", "KEY VALUE")); 2659 assert (testGetKV("KEY", "VALUE", " KEY : VALUE ")); 2660 } 2661 2662 unittest 2663 { 2664 string key, value; 2665 assert (!getKeyAndValueFrom(key, value, "".dup)); 2666 assert (!getKeyAndValueFrom(key, value, "d".dup)); 2667 assert (!getKeyAndValueFrom(key, value, "#".dup)); 2668 assert (!getKeyAndValueFrom(key, value, " ".dup)); 2669 assert (!getKeyAndValueFrom(key, value, "L".dup)); 2670 assert (!getKeyAndValueFrom(key, value, ":".dup)); 2671 assert (!getKeyAndValueFrom(key, value, "dj".dup)); 2672 assert (!getKeyAndValueFrom(key, value, "d#".dup)); 2673 assert (!getKeyAndValueFrom(key, value, "#/".dup)); 2674 assert (!getKeyAndValueFrom(key, value, "#j".dup)); 2675 assert (!getKeyAndValueFrom(key, value, "d ".dup)); 2676 assert (!getKeyAndValueFrom(key, value, " j".dup)); 2677 assert (!getKeyAndValueFrom(key, value, " #".dup)); 2678 assert (!getKeyAndValueFrom(key, value, ":j".dup)); 2679 assert (!getKeyAndValueFrom(key, value, "d/".dup)); 2680 assert (testGetKV("d", "", "d:")); 2681 assert (!getKeyAndValueFrom(key, value, "djd".dup)); 2682 assert (!getKeyAndValueFrom(key, value, "Lj".dup)); 2683 assert (!getKeyAndValueFrom(key, value, "#/(".dup)); 2684 assert (!getKeyAndValueFrom(key, value, "#j(".dup)); 2685 assert (!getKeyAndValueFrom(key, value, "#jd".dup)); 2686 assert (!getKeyAndValueFrom(key, value, ":#".dup)); 2687 assert (!getKeyAndValueFrom(key, value, "dj#".dup)); 2688 assert (!getKeyAndValueFrom(key, value, "L#".dup)); 2689 assert (!getKeyAndValueFrom(key, value, " ".dup)); 2690 assert (!getKeyAndValueFrom(key, value, "d#d".dup)); 2691 assert (!getKeyAndValueFrom(key, value, "d#(".dup)); 2692 assert (!getKeyAndValueFrom(key, value, "#/d".dup)); 2693 assert (!getKeyAndValueFrom(key, value, " :".dup)); 2694 assert (!getKeyAndValueFrom(key, value, "dj ".dup)); 2695 assert (!getKeyAndValueFrom(key, value, " /".dup)); 2696 assert (!getKeyAndValueFrom(key, value, ":/".dup)); 2697 assert (!getKeyAndValueFrom(key, value, " jd".dup)); 2698 assert (!getKeyAndValueFrom(key, value, ": ".dup)); 2699 assert (testGetKV("d", "d", "d:d")); 2700 assert (!getKeyAndValueFrom(key, value, "L ".dup)); 2701 assert (!getKeyAndValueFrom(key, value, ":jd".dup)); 2702 assert (!getKeyAndValueFrom(key, value, "dj(".dup)); 2703 assert (!getKeyAndValueFrom(key, value, "L/".dup)); 2704 assert (testGetKV("L", "", "L:")); 2705 assert (testGetKV("dj", "", "dj:")); 2706 assert (!getKeyAndValueFrom(key, value, "djdk".dup)); 2707 assert (!getKeyAndValueFrom(key, value, "d/d".dup)); 2708 assert (!getKeyAndValueFrom(key, value, "d #".dup)); 2709 assert (!getKeyAndValueFrom(key, value, " #(".dup)); 2710 assert (!getKeyAndValueFrom(key, value, "Ljd".dup)); 2711 assert (!getKeyAndValueFrom(key, value, " j#".dup)); 2712 assert (!getKeyAndValueFrom(key, value, "#j(^".dup)); 2713 assert (!getKeyAndValueFrom(key, value, " #d".dup)); 2714 assert (!getKeyAndValueFrom(key, value, "#j(k".dup)); 2715 assert (!getKeyAndValueFrom(key, value, "#jdk".dup)); 2716 assert (testGetKV("d", "d", "d d")); 2717 assert (!getKeyAndValueFrom(key, value, "#jd^".dup)); 2718 assert (!getKeyAndValueFrom(key, value, ":j#".dup)); 2719 assert (!getKeyAndValueFrom(key, value, "djd#".dup)); 2720 assert (!getKeyAndValueFrom(key, value, ":#(".dup)); 2721 assert (!getKeyAndValueFrom(key, value, "d#d^".dup)); 2722 assert (!getKeyAndValueFrom(key, value, "#/(k".dup)); 2723 assert (!getKeyAndValueFrom(key, value, "d/#".dup)); 2724 assert (!getKeyAndValueFrom(key, value, "L#(".dup)); 2725 assert (!getKeyAndValueFrom(key, value, "Lj#".dup)); 2726 assert (!getKeyAndValueFrom(key, value, "d#dk".dup)); 2727 assert (!getKeyAndValueFrom(key, value, "dj#k".dup)); 2728 assert (testGetKV("d", "", "d:#")); 2729 assert (!getKeyAndValueFrom(key, value, "dj#^".dup)); 2730 assert (!getKeyAndValueFrom(key, value, "#/d^".dup)); 2731 assert (!getKeyAndValueFrom(key, value, ":#d".dup)); 2732 assert (!getKeyAndValueFrom(key, value, "djdkh".dup)); 2733 assert (!getKeyAndValueFrom(key, value, "#/(^".dup)); 2734 assert (!getKeyAndValueFrom(key, value, "L#d".dup)); 2735 assert (!getKeyAndValueFrom(key, value, "d ".dup)); 2736 assert (!getKeyAndValueFrom(key, value, "d#(k".dup)); 2737 assert (!getKeyAndValueFrom(key, value, "d#(^".dup)); 2738 assert (!getKeyAndValueFrom(key, value, "#jd^h".dup)); 2739 assert (!getKeyAndValueFrom(key, value, " j ".dup)); 2740 assert (!getKeyAndValueFrom(key, value, "#/dk".dup)); 2741 assert (!getKeyAndValueFrom(key, value, " #".dup)); 2742 assert (testGetKV("d", "(", "d:(")); 2743 assert (!getKeyAndValueFrom(key, value, ":/d".dup)); 2744 assert (!getKeyAndValueFrom(key, value, " d".dup)); 2745 assert (!getKeyAndValueFrom(key, value, "#jdkP".dup)); 2746 assert (!getKeyAndValueFrom(key, value, "#jdkh".dup)); 2747 assert (!getKeyAndValueFrom(key, value, "djd ".dup)); 2748 assert (!getKeyAndValueFrom(key, value, "#j(^P".dup)); 2749 assert (!getKeyAndValueFrom(key, value, "#jd^P".dup)); 2750 assert (!getKeyAndValueFrom(key, value, ":j(".dup)); 2751 assert (!getKeyAndValueFrom(key, value, "djdk#".dup)); 2752 assert (!getKeyAndValueFrom(key, value, "d#d^h".dup)); 2753 assert (!getKeyAndValueFrom(key, value, ":j ".dup)); 2754 assert (!getKeyAndValueFrom(key, value, "d/ ".dup)); 2755 assert (testGetKV("d", "", "d: ")); 2756 assert (!getKeyAndValueFrom(key, value, " j(".dup)); 2757 assert (!getKeyAndValueFrom(key, value, "d#d^P".dup)); 2758 assert (testGetKV("dj", "k", "dj:k")); 2759 assert (!getKeyAndValueFrom(key, value, " :d".dup)); 2760 assert (testGetKV("j", "", " j:")); 2761 assert (!getKeyAndValueFrom(key, value, " jdk".dup)); 2762 assert (testGetKV("d", "dk", "d:dk")); 2763 assert (!getKeyAndValueFrom(key, value, "djdk ".dup)); 2764 assert (!getKeyAndValueFrom(key, value, "d#dkh".dup)); 2765 assert (!getKeyAndValueFrom(key, value, "dj#^P".dup)); 2766 assert (!getKeyAndValueFrom(key, value, " /d".dup)); 2767 assert (!getKeyAndValueFrom(key, value, " ".dup)); 2768 assert (!getKeyAndValueFrom(key, value, ":jdk".dup)); 2769 assert (!getKeyAndValueFrom(key, value, "d#dkP".dup)); 2770 assert (!getKeyAndValueFrom(key, value, "#/d^h".dup)); 2771 assert (!getKeyAndValueFrom(key, value, "Lj ".dup)); 2772 assert (testGetKV("L", "d", "L:d")); 2773 assert (!getKeyAndValueFrom(key, value, "#j(^h".dup)); 2774 assert (!getKeyAndValueFrom(key, value, " :#".dup)); 2775 assert (!getKeyAndValueFrom(key, value, "#/dkh".dup)); 2776 assert (!getKeyAndValueFrom(key, value, "#j(kh".dup)); 2777 assert (!getKeyAndValueFrom(key, value, "#j(kP".dup)); 2778 assert (!getKeyAndValueFrom(key, value, " /#".dup)); 2779 assert (!getKeyAndValueFrom(key, value, "#/(^h".dup)); 2780 assert (!getKeyAndValueFrom(key, value, "dj#^h".dup)); 2781 assert (!getKeyAndValueFrom(key, value, "dj#kP".dup)); 2782 assert (!getKeyAndValueFrom(key, value, "#/d^P".dup)); 2783 assert (testGetKV("d/", "", "d/:")); 2784 assert (!getKeyAndValueFrom(key, value, "#/dkP".dup)); 2785 assert (!getKeyAndValueFrom(key, value, "#/(kP".dup)); 2786 assert (testGetKV("d", "", "d :")); 2787 assert (!getKeyAndValueFrom(key, value, "djd#h".dup)); 2788 assert (!getKeyAndValueFrom(key, value, "d/(".dup)); 2789 assert (!getKeyAndValueFrom(key, value, "dj#kh".dup)); 2790 assert (!getKeyAndValueFrom(key, value, "djd^".dup)); 2791 assert (!getKeyAndValueFrom(key, value, ":/#".dup)); 2792 assert (!getKeyAndValueFrom(key, value, "#/(^P".dup)); 2793 assert (!getKeyAndValueFrom(key, value, ": #".dup)); 2794 assert (testGetKV("djd", "", "djd:")); 2795 assert (testGetKV("djdk", "", "djdk:")); 2796 assert (!getKeyAndValueFrom(key, value, "Lj(".dup)); 2797 assert (!getKeyAndValueFrom(key, value, "L/d".dup)); 2798 assert (!getKeyAndValueFrom(key, value, "#/(kh".dup)); 2799 assert (!getKeyAndValueFrom(key, value, ":/(".dup)); 2800 assert (!getKeyAndValueFrom(key, value, "djd#P".dup)); 2801 assert (!getKeyAndValueFrom(key, value, "dj(k".dup)); 2802 assert (!getKeyAndValueFrom(key, value, "dj #".dup)); 2803 assert (testGetKV("Lj", "", "Lj:")); 2804 assert (!getKeyAndValueFrom(key, value, "d#(^P".dup)); 2805 assert (!getKeyAndValueFrom(key, value, "djdkP".dup)); 2806 assert (!getKeyAndValueFrom(key, value, "L #".dup)); 2807 assert (!getKeyAndValueFrom(key, value, " #(^".dup)); 2808 assert (!getKeyAndValueFrom(key, value, " #(k".dup)); 2809 assert (!getKeyAndValueFrom(key, value, "d#(^h".dup)); 2810 assert (!getKeyAndValueFrom(key, value, "Ljdk".dup)); 2811 assert (!getKeyAndValueFrom(key, value, "d#(kh".dup)); 2812 assert (!getKeyAndValueFrom(key, value, "d/dk".dup)); 2813 assert (!getKeyAndValueFrom(key, value, " jd#".dup)); 2814 assert (testGetKV("d", "(", "d (")); 2815 assert (!getKeyAndValueFrom(key, value, " #d^".dup)); 2816 assert (testGetKV("d", "d", "d:d#")); 2817 assert (testGetKV("L", "d", "L d")); 2818 assert (!getKeyAndValueFrom(key, value, "d#(kP".dup)); 2819 assert (!getKeyAndValueFrom(key, value, " #dk".dup)); 2820 assert (testGetKV("djd", "h", "djd:h")); 2821 assert (!getKeyAndValueFrom(key, value, " j#^".dup)); 2822 assert (testGetKV("dj", "k", "dj k")); 2823 assert (!getKeyAndValueFrom(key, value, "d #k".dup)); 2824 assert (!getKeyAndValueFrom(key, value, " j#k".dup)); 2825 assert (testGetKV("d", "dk", "d dk")); 2826 assert (!getKeyAndValueFrom(key, value, "d #^".dup)); 2827 assert (!getKeyAndValueFrom(key, value, "L/#".dup)); 2828 assert (!getKeyAndValueFrom(key, value, ":jd#".dup)); 2829 assert (testGetKV("L", "", "L:#")); 2830 assert (!getKeyAndValueFrom(key, value, "djd^h".dup)); 2831 assert (!getKeyAndValueFrom(key, value, "djd #".dup)); 2832 assert (!getKeyAndValueFrom(key, value, "L#dk".dup)); 2833 assert (!getKeyAndValueFrom(key, value, ":j#^".dup)); 2834 assert (!getKeyAndValueFrom(key, value, " :(".dup)); 2835 assert (!getKeyAndValueFrom(key, value, ":#dk".dup)); 2836 assert (!getKeyAndValueFrom(key, value, " :".dup)); 2837 assert (!getKeyAndValueFrom(key, value, " (".dup)); 2838 assert (!getKeyAndValueFrom(key, value, "dj(#".dup)); 2839 assert (!getKeyAndValueFrom(key, value, "d/d#".dup)); 2840 assert (!getKeyAndValueFrom(key, value, " jdkh".dup)); 2841 assert (!getKeyAndValueFrom(key, value, ":jdkh".dup)); 2842 assert (testGetKV("d", "dkh", "d:dkh")); 2843 assert (!getKeyAndValueFrom(key, value, "L#d^".dup)); 2844 assert (testGetKV("dj", "kh", "dj:kh")); 2845 assert (!getKeyAndValueFrom(key, value, ":j#k".dup)); 2846 assert (testGetKV("djd", "h", "djd h")); 2847 assert (!getKeyAndValueFrom(key, value, ":#d^".dup)); 2848 assert (!getKeyAndValueFrom(key, value, "L#(k".dup)); 2849 assert (!getKeyAndValueFrom(key, value, ": ".dup)); 2850 assert (!getKeyAndValueFrom(key, value, ":/ ".dup)); 2851 assert (!getKeyAndValueFrom(key, value, ":j(k".dup)); 2852 assert (testGetKV("dj", "", "dj:#")); 2853 assert (!getKeyAndValueFrom(key, value, " #d^h".dup)); 2854 assert (testGetKV("djd", "", "djd:#")); 2855 assert (!getKeyAndValueFrom(key, value, " : ".dup)); 2856 assert (!getKeyAndValueFrom(key, value, " #d^P".dup)); 2857 assert (!getKeyAndValueFrom(key, value, "Ljd#".dup)); 2858 assert (!getKeyAndValueFrom(key, value, "Lj#^".dup)); 2859 assert (!getKeyAndValueFrom(key, value, ":#(k".dup)); 2860 assert (!getKeyAndValueFrom(key, value, "djd^#".dup)); 2861 assert (!getKeyAndValueFrom(key, value, ":#(^".dup)); 2862 assert (!getKeyAndValueFrom(key, value, "Lj#k".dup)); 2863 assert (!getKeyAndValueFrom(key, value, "d/#k".dup)); 2864 assert (!getKeyAndValueFrom(key, value, ":/dk".dup)); 2865 assert (testGetKV("d", "", "d:#k")); 2866 assert (testGetKV("L", "(", "L:(")); 2867 assert (!getKeyAndValueFrom(key, value, "djd ".dup)); 2868 assert (!getKeyAndValueFrom(key, value, " #dkP".dup)); 2869 assert (!getKeyAndValueFrom(key, value, "L ".dup)); 2870 assert (!getKeyAndValueFrom(key, value, " / ".dup)); 2871 assert (!getKeyAndValueFrom(key, value, "d/#^".dup)); 2872 assert (testGetKV("djd", "P", "djd:P")); 2873 assert (!getKeyAndValueFrom(key, value, "dj ".dup)); 2874 assert (!getKeyAndValueFrom(key, value, "L#(^".dup)); 2875 assert (!getKeyAndValueFrom(key, value, "Ljdkh".dup)); 2876 assert (testGetKV("d", "", "d:#^")); 2877 assert (!getKeyAndValueFrom(key, value, " jd ".dup)); 2878 assert (!getKeyAndValueFrom(key, value, " #dkh".dup)); 2879 assert (!getKeyAndValueFrom(key, value, " #(^P".dup)); 2880 assert (!getKeyAndValueFrom(key, value, " j#^P".dup)); 2881 assert (!getKeyAndValueFrom(key, value, "dj(kh".dup)); 2882 assert (testGetKV("dj", "^", "dj:^")); 2883 assert (!getKeyAndValueFrom(key, value, ":jdk#".dup)); 2884 assert (!getKeyAndValueFrom(key, value, " jdk#".dup)); 2885 assert (testGetKV("djd", "", "djd: ")); 2886 assert (!getKeyAndValueFrom(key, value, "d/dkh".dup)); 2887 assert (testGetKV("dj", "k", "dj:k#")); 2888 assert (!getKeyAndValueFrom(key, value, "djd^ ".dup)); 2889 assert (!getKeyAndValueFrom(key, value, " /(".dup)); 2890 assert (testGetKV("d", "d", "d:d ")); 2891 assert (!getKeyAndValueFrom(key, value, " jd#P".dup)); 2892 assert (testGetKV("j", "k", " j:k")); 2893 assert (!getKeyAndValueFrom(key, value, ":jd^".dup)); 2894 assert (!getKeyAndValueFrom(key, value, " #(^h".dup)); 2895 assert (!getKeyAndValueFrom(key, value, "d #^h".dup)); 2896 assert (testGetKV("/", "", " /:")); 2897 assert (!getKeyAndValueFrom(key, value, " #(kh".dup)); 2898 assert (testGetKV("d", "d", "d d#")); 2899 assert (!getKeyAndValueFrom(key, value, " j#kP".dup)); 2900 assert (!getKeyAndValueFrom(key, value, " j#kh".dup)); 2901 assert (!getKeyAndValueFrom(key, value, "d #^P".dup)); 2902 assert (!getKeyAndValueFrom(key, value, " dk".dup)); 2903 assert (!getKeyAndValueFrom(key, value, " #(kP".dup)); 2904 assert (testGetKV("d", "d", "d:d#h")); 2905 assert (!getKeyAndValueFrom(key, value, " j#^h".dup)); 2906 assert (!getKeyAndValueFrom(key, value, "d #kh".dup)); 2907 assert (testGetKV("d", "dk", "d:dk#")); 2908 assert (testGetKV("djd", "", "djd :")); 2909 assert (!getKeyAndValueFrom(key, value, "djd^P".dup)); 2910 assert (testGetKV("d", "k", "d: k")); 2911 assert (testGetKV("djd^", "", "djd^:")); 2912 assert (testGetKV("d", "(k", "d:(k")); 2913 assert (testGetKV("dj", "kh", "dj kh")); 2914 assert (testGetKV("d", "d^", "d:d^")); 2915 assert (!getKeyAndValueFrom(key, value, ":jd ".dup)); 2916 assert (!getKeyAndValueFrom(key, value, "d #kP".dup)); 2917 assert (testGetKV("d", "dkh", "d dkh")); 2918 assert (!getKeyAndValueFrom(key, value, "Ljdk#".dup)); 2919 assert (testGetKV("d", "d", "d:d#P")); 2920 assert (!getKeyAndValueFrom(key, value, "dj #P".dup)); 2921 assert (!getKeyAndValueFrom(key, value, "L/ ".dup)); 2922 assert (testGetKV("L", "", "L: ")); 2923 assert (testGetKV("djd", "P", "djd P")); 2924 assert (!getKeyAndValueFrom(key, value, " #k".dup)); 2925 assert (!getKeyAndValueFrom(key, value, " jd#h".dup)); 2926 assert (!getKeyAndValueFrom(key, value, ":jd#h".dup)); 2927 assert (!getKeyAndValueFrom(key, value, ":/d#".dup)); 2928 assert (!getKeyAndValueFrom(key, value, "dj(k#".dup)); 2929 assert (!getKeyAndValueFrom(key, value, " :dk".dup)); 2930 assert (!getKeyAndValueFrom(key, value, "dj #h".dup)); 2931 assert (!getKeyAndValueFrom(key, value, ":jd#P".dup)); 2932 assert (testGetKV("dj", "", "dj: ")); 2933 assert (!getKeyAndValueFrom(key, value, "dj( ".dup)); 2934 assert (!getKeyAndValueFrom(key, value, ":#d^P".dup)); 2935 assert (!getKeyAndValueFrom(key, value, " j #".dup)); 2936 assert (!getKeyAndValueFrom(key, value, " d#".dup)); 2937 assert (!getKeyAndValueFrom(key, value, ":#d^h".dup)); 2938 assert (testGetKV("L", "", "L :")); 2939 assert (!getKeyAndValueFrom(key, value, "L#d^P".dup)); 2940 assert (!getKeyAndValueFrom(key, value, " jdk ".dup)); 2941 assert (testGetKV("L/", "", "L/:")); 2942 assert (!getKeyAndValueFrom(key, value, ":jdkP".dup)); 2943 assert (!getKeyAndValueFrom(key, value, "L/(".dup)); 2944 assert (!getKeyAndValueFrom(key, value, "L#d^h".dup)); 2945 assert (!getKeyAndValueFrom(key, value, "d/dk#".dup)); 2946 assert (!getKeyAndValueFrom(key, value, " #^".dup)); 2947 assert (!getKeyAndValueFrom(key, value, ":jdk ".dup)); 2948 assert (!getKeyAndValueFrom(key, value, ":#dkP".dup)); 2949 assert (!getKeyAndValueFrom(key, value, " j(k".dup)); 2950 assert (testGetKV("dj", "k", "dj k#")); 2951 assert (testGetKV("dj", "kP", "dj:kP")); 2952 assert (testGetKV("Lj", "k", "Lj:k")); 2953 assert (testGetKV("jd", "", " jd:")); 2954 assert (testGetKV("L", "dk", "L:dk")); 2955 assert (!getKeyAndValueFrom(key, value, "d/d ".dup)); 2956 assert (!getKeyAndValueFrom(key, value, ":j#^P".dup)); 2957 assert (testGetKV("dj", "k", "dj:k ")); 2958 assert (!getKeyAndValueFrom(key, value, " jd^".dup)); 2959 assert (!getKeyAndValueFrom(key, value, "d #".dup)); 2960 assert (!getKeyAndValueFrom(key, value, "L#dkP".dup)); 2961 assert (testGetKV("dj(", "", "dj(:")); 2962 assert (!getKeyAndValueFrom(key, value, ":#dkh".dup)); 2963 assert (testGetKV("dj", "", "dj :")); 2964 assert (!getKeyAndValueFrom(key, value, " :d#".dup)); 2965 assert (testGetKV("L", "(", "L (")); 2966 assert (!getKeyAndValueFrom(key, value, ":j#kP".dup)); 2967 assert (!getKeyAndValueFrom(key, value, ":j#kh".dup)); 2968 assert (!getKeyAndValueFrom(key, value, "dj(^".dup)); 2969 assert (!getKeyAndValueFrom(key, value, "dj(k ".dup)); 2970 assert (!getKeyAndValueFrom(key, value, " /dk".dup)); 2971 assert (testGetKV("d", "dk", "d:dk ")); 2972 assert (!getKeyAndValueFrom(key, value, "L#dkh".dup)); 2973 assert (testGetKV("d/", "k", "d/:k")); 2974 assert (testGetKV("dj(k", "", "dj(k:")); 2975 assert (testGetKV("d", "dkP", "d:dkP")); 2976 assert (!getKeyAndValueFrom(key, value, ":j(^".dup)); 2977 assert (!getKeyAndValueFrom(key, value, ":j#^h".dup)); 2978 assert (testGetKV("d", "d^h", "d:d^h")); 2979 assert (!getKeyAndValueFrom(key, value, "Ljd ".dup)); 2980 assert (!getKeyAndValueFrom(key, value, "dj(#P".dup)); 2981 assert (testGetKV("d/d", "", "d/d:")); 2982 assert (!getKeyAndValueFrom(key, value, "L#(^P".dup)); 2983 assert (testGetKV("jdk", "", " jdk:")); 2984 assert (testGetKV("dj", "", "dj:#P")); 2985 assert (testGetKV("d", "k", "d :k")); 2986 assert (!getKeyAndValueFrom(key, value, " jdkP".dup)); 2987 assert (testGetKV("d", "dk", "d dk#")); 2988 assert (!getKeyAndValueFrom(key, value, ":#(^P".dup)); 2989 assert (!getKeyAndValueFrom(key, value, "d/#kh".dup)); 2990 assert (testGetKV("dj", "", "dj:#h")); 2991 assert (testGetKV("dj", "k", "dj k ")); 2992 assert (testGetKV("d", "", "d:#^h")); 2993 assert (testGetKV("dj", "^", "dj ^")); 2994 assert (!getKeyAndValueFrom(key, value, "dj(kP".dup)); 2995 assert (!getKeyAndValueFrom(key, value, "dj(#h".dup)); 2996 assert (!getKeyAndValueFrom(key, value, ":jd^h".dup)); 2997 assert (testGetKV("d", "", "d:#^P")); 2998 assert (!getKeyAndValueFrom(key, value, ":#(kP".dup)); 2999 assert (!getKeyAndValueFrom(key, value, "L#(kh".dup)); 3000 assert (!getKeyAndValueFrom(key, value, "Ljdk ".dup)); 3001 assert (!getKeyAndValueFrom(key, value, "Ljd#P".dup)); 3002 assert (!getKeyAndValueFrom(key, value, ":#(kh".dup)); 3003 assert (!getKeyAndValueFrom(key, value, ":/#^".dup)); 3004 assert (!getKeyAndValueFrom(key, value, "d/#^P".dup)); 3005 assert (!getKeyAndValueFrom(key, value, ":j(#".dup)); 3006 assert (testGetKV("dj", "kP", "dj kP")); 3007 assert (!getKeyAndValueFrom(key, value, "Lj#kh".dup)); 3008 assert (!getKeyAndValueFrom(key, value, "d/d#P".dup)); 3009 assert (!getKeyAndValueFrom(key, value, " :#k".dup)); 3010 assert (testGetKV("dj", "^h", "dj:^h")); 3011 assert (testGetKV("dj", "h", "dj: h")); 3012 assert (!getKeyAndValueFrom(key, value, ":j #".dup)); 3013 assert (!getKeyAndValueFrom(key, value, "L#(kP".dup)); 3014 assert (!getKeyAndValueFrom(key, value, ":/d^".dup)); 3015 assert (testGetKV("Ljd", "", "Ljd:")); 3016 assert (!getKeyAndValueFrom(key, value, "Lj#^P".dup)); 3017 assert (!getKeyAndValueFrom(key, value, ":/(k".dup)); 3018 assert (!getKeyAndValueFrom(key, value, "Lj#kP".dup)); 3019 assert (testGetKV("d", "d", "d d ")); 3020 assert (!getKeyAndValueFrom(key, value, "Ljd^".dup)); 3021 assert (testGetKV("d", "(", "d:(#")); 3022 assert (!getKeyAndValueFrom(key, value, ":#(^h".dup)); 3023 assert (testGetKV("d", "", "d:#kP")); 3024 assert (testGetKV("Ljdk", "", "Ljdk:")); 3025 assert (!getKeyAndValueFrom(key, value, "L/dk".dup)); 3026 assert (testGetKV("j", "k", " j k")); 3027 assert (!getKeyAndValueFrom(key, value, "d/#^h".dup)); 3028 assert (testGetKV("d", "", "d:#kh")); 3029 assert (!getKeyAndValueFrom(key, value, "Lj#^h".dup)); 3030 assert (!getKeyAndValueFrom(key, value, "d/#kP".dup)); 3031 assert (!getKeyAndValueFrom(key, value, ": #k".dup)); 3032 assert (!getKeyAndValueFrom(key, value, " /d#".dup)); 3033 assert (!getKeyAndValueFrom(key, value, "d/dk ".dup)); 3034 assert (!getKeyAndValueFrom(key, value, "Ljd#h".dup)); 3035 assert (!getKeyAndValueFrom(key, value, "d/ #".dup)); 3036 assert (!getKeyAndValueFrom(key, value, "LjdkP".dup)); 3037 assert (!getKeyAndValueFrom(key, value, " :#^".dup)); 3038 assert (testGetKV("dj", "h", "dj :h")); 3039 assert (!getKeyAndValueFrom(key, value, ": #^".dup)); 3040 assert (!getKeyAndValueFrom(key, value, " /#k".dup)); 3041 assert (testGetKV("dj(", "h", "dj(:h")); 3042 assert (!getKeyAndValueFrom(key, value, " /#^".dup)); 3043 assert (!getKeyAndValueFrom(key, value, "Lj(k".dup)); 3044 assert (testGetKV("d/dk", "", "d/dk:")); 3045 assert (!getKeyAndValueFrom(key, value, ":/dkh".dup)); 3046 assert (!getKeyAndValueFrom(key, value, "d/d^".dup)); 3047 assert (!getKeyAndValueFrom(key, value, "d/d#h".dup)); 3048 assert (!getKeyAndValueFrom(key, value, "dj #".dup)); 3049 assert (!getKeyAndValueFrom(key, value, "L#(^h".dup)); 3050 assert (!getKeyAndValueFrom(key, value, ":/d ".dup)); 3051 assert (!getKeyAndValueFrom(key, value, "d ".dup)); 3052 assert (!getKeyAndValueFrom(key, value, ":j(kh".dup)); 3053 assert (!getKeyAndValueFrom(key, value, " #".dup)); 3054 assert (!getKeyAndValueFrom(key, value, "d/(k".dup)); 3055 assert (testGetKV("dj", "^", "dj:^#")); 3056 assert (!getKeyAndValueFrom(key, value, " j(#".dup)); 3057 assert (!getKeyAndValueFrom(key, value, " #^P".dup)); 3058 assert (!getKeyAndValueFrom(key, value, "dj(^h".dup)); 3059 assert (testGetKV("L", "dk", "L dk")); 3060 assert (testGetKV("d", "", "d: #")); 3061 assert (!getKeyAndValueFrom(key, value, " #kP".dup)); 3062 assert (testGetKV("j", "", " j:#")); 3063 assert (!getKeyAndValueFrom(key, value, " j ".dup)); 3064 assert (!getKeyAndValueFrom(key, value, "L #^".dup)); 3065 assert (!getKeyAndValueFrom(key, value, " d ".dup)); 3066 assert (testGetKV("jd", "h", " jd:h")); 3067 assert (testGetKV("d", "dk", "d dk ")); 3068 assert (!getKeyAndValueFrom(key, value, "L #k".dup)); 3069 assert (!getKeyAndValueFrom(key, value, " :(k".dup)); 3070 assert (!getKeyAndValueFrom(key, value, "dj( #".dup)); 3071 assert (testGetKV("Lj", "k", "Lj k")); 3072 assert (testGetKV("dj(", "h", "dj( h")); 3073 assert (!getKeyAndValueFrom(key, value, " #kh".dup)); 3074 assert (!getKeyAndValueFrom(key, value, "d/dkP".dup)); 3075 assert (testGetKV("d", "d^", "d d^")); 3076 assert (!getKeyAndValueFrom(key, value, ":/d#P".dup)); 3077 assert (!getKeyAndValueFrom(key, value, "d #h".dup)); 3078 assert (testGetKV("L", "d", "L:d#")); 3079 assert (testGetKV("dj", "h", "dj h")); 3080 assert (testGetKV("dj", "^h", "dj ^h")); 3081 assert (testGetKV("dj", "", "dj: #")); 3082 assert (!getKeyAndValueFrom(key, value, ":/#k".dup)); 3083 assert (!getKeyAndValueFrom(key, value, " jd #".dup)); 3084 assert (!getKeyAndValueFrom(key, value, "Lj #".dup)); 3085 assert (!getKeyAndValueFrom(key, value, " jd^h".dup)); 3086 assert (!getKeyAndValueFrom(key, value, ":jd^P".dup)); 3087 assert (testGetKV("Ljd", "h", "Ljd:h")); 3088 assert (testGetKV("dj", "^P", "dj:^P")); 3089 assert (!getKeyAndValueFrom(key, value, ":j(k#".dup)); 3090 assert (!getKeyAndValueFrom(key, value, ":jd^#".dup)); 3091 assert (testGetKV("d", "dkP", "d dkP")); 3092 assert (testGetKV("d", "(^", "d:(^")); 3093 assert (!getKeyAndValueFrom(key, value, ":/dk#".dup)); 3094 assert (!getKeyAndValueFrom(key, value, " #^h".dup)); 3095 assert (!getKeyAndValueFrom(key, value, ":jd #".dup)); 3096 assert (!getKeyAndValueFrom(key, value, "dj(^#".dup)); 3097 assert (testGetKV("dj", "P", "dj: P")); 3098 assert (testGetKV("dj", "^", "dj:^ ")); 3099 assert (testGetKV("d/d", "h", "d/d:h")); 3100 assert (!getKeyAndValueFrom(key, value, "dj ".dup)); 3101 assert (testGetKV("dj", "", "dj :#")); 3102 assert (testGetKV("dj(", "", "dj(:#")); 3103 assert (testGetKV("d", "d", "d d#P")); 3104 assert (!getKeyAndValueFrom(key, value, " d#P".dup)); 3105 assert (!getKeyAndValueFrom(key, value, " dkh".dup)); 3106 assert (!getKeyAndValueFrom(key, value, ":/d#h".dup)); 3107 assert (testGetKV("d", "(kh", "d:(kh")); 3108 assert (testGetKV("d", "d", "d d#h")); 3109 assert (!getKeyAndValueFrom(key, value, "L/d#".dup)); 3110 assert (testGetKV("dj", "^", "dj ^#")); 3111 assert (testGetKV("d", "(", "d:( ")); 3112 assert (testGetKV("d/", "k", "d/ k")); 3113 assert (!getKeyAndValueFrom(key, value, ":j(^h".dup)); 3114 assert (!getKeyAndValueFrom(key, value, ":j( ".dup)); 3115 assert (testGetKV("dj(", "P", "dj(:P")); 3116 assert (!getKeyAndValueFrom(key, value, " :k".dup)); 3117 assert (testGetKV("dj", "P", "dj :P")); 3118 assert (!getKeyAndValueFrom(key, value, " :d^".dup)); 3119 assert (testGetKV("d", "k", "d k")); 3120 assert (!getKeyAndValueFrom(key, value, "L/#k".dup)); 3121 assert (testGetKV("j", "kh", " j:kh")); 3122 assert (!getKeyAndValueFrom(key, value, "dj( ".dup)); 3123 assert (testGetKV("L", "", "L:#^")); 3124 assert (!getKeyAndValueFrom(key, value, "L/#^".dup)); 3125 assert (!getKeyAndValueFrom(key, value, "Ljd^h".dup)); 3126 assert (!getKeyAndValueFrom(key, value, " j #h".dup)); 3127 assert (testGetKV("d", "kh", "d: kh")); 3128 assert (!getKeyAndValueFrom(key, value, ":/(#".dup)); 3129 assert (testGetKV("dj", "", "dj: ")); 3130 assert (!getKeyAndValueFrom(key, value, " d#h".dup)); 3131 assert (testGetKV("jd", "h", " jd h")); 3132 assert (testGetKV("j", "^", " j:^")); 3133 assert (!getKeyAndValueFrom(key, value, " j #P".dup)); 3134 assert (!getKeyAndValueFrom(key, value, ":j(#h".dup)); 3135 assert (!getKeyAndValueFrom(key, value, " :dkh".dup)); 3136 assert (!getKeyAndValueFrom(key, value, " /#^P".dup)); 3137 assert (!getKeyAndValueFrom(key, value, "d d h".dup)); 3138 assert (!getKeyAndValueFrom(key, value, " k".dup)); 3139 assert (testGetKV("dj(^", "", "dj(^:")); 3140 assert (!getKeyAndValueFrom(key, value, ":/#^P".dup)); 3141 assert (testGetKV("L", "dkh", "L:dkh")); 3142 assert (testGetKV("d/", "", "d/:#")); 3143 assert (testGetKV("dj(", "", "dj(: ")); 3144 assert (testGetKV("Lj", "", "Lj:#")); 3145 assert (!getKeyAndValueFrom(key, value, " :d#h".dup)); 3146 assert (!getKeyAndValueFrom(key, value, ":/d^h".dup)); 3147 assert (!getKeyAndValueFrom(key, value, "dj(^ ".dup)); 3148 assert (testGetKV("d", "(k", "d (k")); 3149 assert (testGetKV("dj", "", "dj : ")); 3150 assert (!getKeyAndValueFrom(key, value, ":j ".dup)); 3151 assert (testGetKV("d", "^", "d: ^")); 3152 assert (!getKeyAndValueFrom(key, value, ":/(^".dup)); 3153 assert (!getKeyAndValueFrom(key, value, "Lj(#".dup)); 3154 assert (!getKeyAndValueFrom(key, value, "d/(#".dup)); 3155 assert (!getKeyAndValueFrom(key, value, "d/d^h".dup)); 3156 assert (!getKeyAndValueFrom(key, value, ":/#^h".dup)); 3157 assert (!getKeyAndValueFrom(key, value, " jd^#".dup)); 3158 assert (testGetKV("d", "d^", "d:d^#")); 3159 assert (testGetKV("Ljd", "h", "Ljd h")); 3160 assert (!getKeyAndValueFrom(key, value, " :#".dup)); 3161 assert (!getKeyAndValueFrom(key, value, "d #P".dup)); 3162 assert (testGetKV("L", "", "L:#k")); 3163 assert (!getKeyAndValueFrom(key, value, " :#^P".dup)); 3164 assert (testGetKV("dj", "^", "dj ^ ")); 3165 assert (!getKeyAndValueFrom(key, value, " :d ".dup)); 3166 assert (!getKeyAndValueFrom(key, value, " :#kP".dup)); 3167 assert (testGetKV("dj(", "", "dj( :")); 3168 assert (!getKeyAndValueFrom(key, value, " ".dup)); 3169 assert (!getKeyAndValueFrom(key, value, " dk#".dup)); 3170 assert (!getKeyAndValueFrom(key, value, " j( ".dup)); 3171 assert (testGetKV("d", "d^P", "d:d^P")); 3172 assert (testGetKV("dj", "", "dj :")); 3173 assert (!getKeyAndValueFrom(key, value, ":j(#P".dup)); 3174 assert (testGetKV("jd", "", " jd:#")); 3175 assert (!getKeyAndValueFrom(key, value, "Ljd #".dup)); 3176 assert (!getKeyAndValueFrom(key, value, "dj(^P".dup)); 3177 assert (testGetKV("d", "d", "d:d #")); 3178 assert (!getKeyAndValueFrom(key, value, ": #^P".dup)); 3179 assert (testGetKV("d", "", "d :#")); 3180 assert (!getKeyAndValueFrom(key, value, " (#".dup)); 3181 assert (!getKeyAndValueFrom(key, value, " jd ".dup)); 3182 assert (testGetKV("Lj", "kh", "Lj:kh")); 3183 assert (testGetKV("d", "d^h", "d d^h")); 3184 assert (testGetKV("dj(", "P", "dj( P")); 3185 assert (!getKeyAndValueFrom(key, value, ":j #P".dup)); 3186 assert (!getKeyAndValueFrom(key, value, ":jd^ ".dup)); 3187 assert (!getKeyAndValueFrom(key, value, "L #^P".dup)); 3188 assert (!getKeyAndValueFrom(key, value, " #h".dup)); 3189 assert (!getKeyAndValueFrom(key, value, " :#^h".dup)); 3190 assert (testGetKV("dj", "P", "dj P")); 3191 assert (testGetKV("dj", "^P", "dj ^P")); 3192 assert (!getKeyAndValueFrom(key, value, ":/dkP".dup)); 3193 assert (testGetKV("L", "d", "L d#")); 3194 assert (testGetKV("d/d", "h", "d/d h")); 3195 assert (!getKeyAndValueFrom(key, value, " :d#P".dup)); 3196 assert (testGetKV("d", "(", "d:(#P")); 3197 assert (testGetKV("j", "k", " j:k#")); 3198 assert (!getKeyAndValueFrom(key, value, " /dkh".dup)); 3199 assert (!getKeyAndValueFrom(key, value, ":/dk ".dup)); 3200 assert (!getKeyAndValueFrom(key, value, ":/(kh".dup)); 3201 assert (!getKeyAndValueFrom(key, value, ":/#kP".dup)); 3202 assert (testGetKV("d/", "kh", "d/:kh")); 3203 assert (testGetKV("Ljd", "", "Ljd:#")); 3204 assert (!getKeyAndValueFrom(key, value, " #P".dup)); 3205 assert (!getKeyAndValueFrom(key, value, " j(kh".dup)); 3206 assert (testGetKV("d", "kh", "d :kh")); 3207 assert (testGetKV("d/d", "", "d/d:#")); 3208 assert (!getKeyAndValueFrom(key, value, "d/ ".dup)); 3209 assert (!getKeyAndValueFrom(key, value, "Ljd^#".dup)); 3210 assert (!getKeyAndValueFrom(key, value, "d/d #".dup)); 3211 assert (testGetKV("d", "(k", "d:(k#")); 3212 assert (testGetKV("jd", "P", " jd:P")); 3213 assert (testGetKV("d", "k", "d: k#")); 3214 assert (!getKeyAndValueFrom(key, value, ":jd ".dup)); 3215 assert (testGetKV("d/d", "P", "d/d:P")); 3216 assert (!getKeyAndValueFrom(key, value, " :#kh".dup)); 3217 assert (!getKeyAndValueFrom(key, value, " :(#".dup)); 3218 assert (testGetKV("d", "(", "d:(#h")); 3219 assert (!getKeyAndValueFrom(key, value, " /#^h".dup)); 3220 assert (!getKeyAndValueFrom(key, value, ": #kP".dup)); 3221 assert (!getKeyAndValueFrom(key, value, "d/ #h".dup)); 3222 assert (testGetKV("d", "d", "d:d ")); 3223 assert (!getKeyAndValueFrom(key, value, " :dk#".dup)); 3224 assert (!getKeyAndValueFrom(key, value, "d/d^#".dup)); 3225 assert (testGetKV("d", "d^", "d:d^ ")); 3226 assert (testGetKV("Ljd", "P", "Ljd:P")); 3227 assert (!getKeyAndValueFrom(key, value, ":j(k ".dup)); 3228 assert (testGetKV("d", "d", "d d #")); 3229 assert (!getKeyAndValueFrom(key, value, "L #^h".dup)); 3230 assert (testGetKV("d", "(", "d (#")); 3231 assert (!getKeyAndValueFrom(key, value, ": #^h".dup)); 3232 assert (testGetKV("j", "", " j: ")); 3233 assert (!getKeyAndValueFrom(key, value, " d^".dup)); 3234 assert (!getKeyAndValueFrom(key, value, " jd^ ".dup)); 3235 assert (testGetKV("d", "(^h", "d:(^h")); 3236 assert (testGetKV("d", "d^", "d d^#")); 3237 assert (!getKeyAndValueFrom(key, value, " /#kP".dup)); 3238 assert (testGetKV("jd", "", " jd: ")); 3239 assert (!getKeyAndValueFrom(key, value, "Lj ".dup)); 3240 assert (!getKeyAndValueFrom(key, value, ":/ #".dup)); 3241 assert (testGetKV("Lj", "^", "Lj:^")); 3242 assert (!getKeyAndValueFrom(key, value, " /#kh".dup)); 3243 assert (!getKeyAndValueFrom(key, value, ":/#kh".dup)); 3244 assert (!getKeyAndValueFrom(key, value, ":/( ".dup)); 3245 assert (!getKeyAndValueFrom(key, value, ":j #h".dup)); 3246 assert (!getKeyAndValueFrom(key, value, "L/dkh".dup)); 3247 assert (testGetKV("L", "k", "L: k")); 3248 assert (testGetKV("d", "", " d:")); 3249 assert (testGetKV("d", "", "d: #h")); 3250 assert (!getKeyAndValueFrom(key, value, " /d ".dup)); 3251 assert (!getKeyAndValueFrom(key, value, ": #kh".dup)); 3252 assert (!getKeyAndValueFrom(key, value, "d/d ".dup)); 3253 assert (!getKeyAndValueFrom(key, value, ":j(kP".dup)); 3254 assert (!getKeyAndValueFrom(key, value, ":/(k#".dup)); 3255 assert (testGetKV("d/d^", "", "d/d^:")); 3256 assert (testGetKV("d/d", "", "d/d :")); 3257 assert (testGetKV("d", "", "d: ")); 3258 assert (testGetKV("L", "d^", "L:d^")); 3259 assert (testGetKV("d/d", "", "d/d: ")); 3260 assert (testGetKV("d/", "^", "d/:^")); 3261 assert (testGetKV("L", "(k", "L:(k")); 3262 assert (!getKeyAndValueFrom(key, value, " (k".dup)); 3263 assert (!getKeyAndValueFrom(key, value, "d/(kh".dup)); 3264 assert (!getKeyAndValueFrom(key, value, " : #".dup)); 3265 assert (!getKeyAndValueFrom(key, value, "Ljd ".dup)); 3266 assert (!getKeyAndValueFrom(key, value, ": #".dup)); 3267 assert (!getKeyAndValueFrom(key, value, " :(^".dup)); 3268 assert (!getKeyAndValueFrom(key, value, "L #kP".dup)); 3269 assert (!getKeyAndValueFrom(key, value, " /d#h".dup)); 3270 assert (!getKeyAndValueFrom(key, value, "Lj(kh".dup)); 3271 assert (testGetKV("/", "k", " /:k")); 3272 assert (testGetKV("L", "dk", "L:dk#")); 3273 assert (testGetKV("d", "^", "d :^")); 3274 assert (testGetKV("d", "d", "d d ")); 3275 assert (!getKeyAndValueFrom(key, value, "d d P".dup)); 3276 assert (testGetKV("d", "", "d: #P")); 3277 assert (!getKeyAndValueFrom(key, value, "d/d^P".dup)); 3278 assert (!getKeyAndValueFrom(key, value, "d/d^ ".dup)); 3279 assert (testGetKV("L", "d", "L:d ")); 3280 assert (!getKeyAndValueFrom(key, value, " jd^P".dup)); 3281 assert (testGetKV("d", "k", "d :k#")); 3282 assert (testGetKV("d/", "", "d/: ")); 3283 assert (testGetKV("d", "k", "d: k ")); 3284 assert (!getKeyAndValueFrom(key, value, " / #".dup)); 3285 assert (!getKeyAndValueFrom(key, value, ":/(#h".dup)); 3286 assert (!getKeyAndValueFrom(key, value, "d/ #P".dup)); 3287 assert (testGetKV("L", "dkh", "L dkh")); 3288 assert (!getKeyAndValueFrom(key, value, "L/#^P".dup)); 3289 assert (!getKeyAndValueFrom(key, value, ":/(^h".dup)); 3290 assert (testGetKV("jd", "", " jd :")); 3291 assert (testGetKV("d", "d^", "d d^ ")); 3292 assert (testGetKV("d/", "k", "d/:k#")); 3293 assert (!getKeyAndValueFrom(key, value, " j(#h".dup)); 3294 assert (testGetKV("j", "kh", " j kh")); 3295 assert (!getKeyAndValueFrom(key, value, " :(kh".dup)); 3296 assert (testGetKV("jd^", "", " jd^:")); 3297 assert (!getKeyAndValueFrom(key, value, " j(k#".dup)); 3298 assert (testGetKV("d", "(kP", "d:(kP")); 3299 assert (!getKeyAndValueFrom(key, value, " :d^h".dup)); 3300 assert (testGetKV("d", "d^P", "d d^P")); 3301 assert (!getKeyAndValueFrom(key, value, " #".dup)); 3302 assert (!getKeyAndValueFrom(key, value, ":/(#P".dup)); 3303 assert (testGetKV("d", "", "d : ")); 3304 assert (testGetKV("d", "kP", "d: kP")); 3305 assert (testGetKV("d/d", "P", "d/d P")); 3306 assert (testGetKV("Ljd", "", "Ljd: ")); 3307 assert (!getKeyAndValueFrom(key, value, "d/( ".dup)); 3308 assert (!getKeyAndValueFrom(key, value, " /d#P".dup)); 3309 assert (testGetKV("d/", "kh", "d/ kh")); 3310 assert (!getKeyAndValueFrom(key, value, " /dk#".dup)); 3311 assert (!getKeyAndValueFrom(key, value, "Ljd^ ".dup)); 3312 assert (testGetKV("d", "kh", "d kh")); 3313 assert (testGetKV("d", "(kh", "d (kh")); 3314 assert (testGetKV("d/(", "", "d/(:")); 3315 assert (!getKeyAndValueFrom(key, value, "L #kh".dup)); 3316 assert (testGetKV("j(", "", " j(:")); 3317 assert (testGetKV("d", "(k", "d:(k ")); 3318 assert (!getKeyAndValueFrom(key, value, " j(^".dup)); 3319 assert (!getKeyAndValueFrom(key, value, " j(#P".dup)); 3320 assert (!getKeyAndValueFrom(key, value, "d/(k#".dup)); 3321 assert (!getKeyAndValueFrom(key, value, "Lj #P".dup)); 3322 assert (testGetKV("d", "^h", "d: ^h")); 3323 assert (testGetKV("jd", "P", " jd P")); 3324 assert (testGetKV("d", "h", "d: h")); 3325 assert (testGetKV("d", "(", "d ( ")); 3326 assert (testGetKV("j", "", " j:#h")); 3327 assert (testGetKV("j", "", " j :")); 3328 assert (testGetKV("Ljd^", "", "Ljd^:")); 3329 assert (testGetKV("Ljd", "", "Ljd :")); 3330 assert (!getKeyAndValueFrom(key, value, ":/d^P".dup)); 3331 assert (!getKeyAndValueFrom(key, value, " :dkP".dup)); 3332 assert (!getKeyAndValueFrom(key, value, "Ljd^P".dup)); 3333 assert (testGetKV("d/", "", "d/ :")); 3334 assert (testGetKV("L", "", "L:#^P")); 3335 assert (!getKeyAndValueFrom(key, value, " :dk ".dup)); 3336 assert (testGetKV("Lj", "k", "Lj:k#")); 3337 assert (!getKeyAndValueFrom(key, value, " :(#P".dup)); 3338 assert (testGetKV("Lj", "kh", "Lj kh")); 3339 assert (!getKeyAndValueFrom(key, value, "d #".dup)); 3340 assert (!getKeyAndValueFrom(key, value, " :".dup)); 3341 assert (testGetKV("L", "d", "L:d#P")); 3342 assert (!getKeyAndValueFrom(key, value, " /(k".dup)); 3343 assert (testGetKV("d", "", "d :#h")); 3344 assert (testGetKV("d", "", "d :")); 3345 assert (!getKeyAndValueFrom(key, value, " :#h".dup)); 3346 assert (testGetKV("L", "d", "L:d#h")); 3347 assert (!getKeyAndValueFrom(key, value, " d #".dup)); 3348 assert (!getKeyAndValueFrom(key, value, " dk ".dup)); 3349 assert (testGetKV("L", "k", "L :k")); 3350 assert (!getKeyAndValueFrom(key, value, ": #P".dup)); 3351 assert (testGetKV("d/", "k", "d/ k#")); 3352 assert (!getKeyAndValueFrom(key, value, "d/(#h".dup)); 3353 assert (!getKeyAndValueFrom(key, value, " /d^".dup)); 3354 assert (!getKeyAndValueFrom(key, value, "d/(#P".dup)); 3355 assert (!getKeyAndValueFrom(key, value, "L #".dup)); 3356 assert (testGetKV("d", "kP", "d :kP")); 3357 assert (testGetKV("d/", "", "d/:#P")); 3358 assert (testGetKV("d", "k", "d :k ")); 3359 assert (testGetKV("d/", "kP", "d/:kP")); 3360 assert (!getKeyAndValueFrom(key, value, "d/(^".dup)); 3361 assert (testGetKV("d/", "", "d/:#h")); 3362 assert (testGetKV("Ljd", "P", "Ljd P")); 3363 assert (!getKeyAndValueFrom(key, value, " ^".dup)); 3364 assert (testGetKV("/d", "", " /d:")); 3365 assert (!getKeyAndValueFrom(key, value, "L/dk#".dup)); 3366 assert (testGetKV("d", "", "d :#P")); 3367 assert (testGetKV("d/", "k", "d/:k ")); 3368 assert (testGetKV("d", "k", "d k#")); 3369 assert (!getKeyAndValueFrom(key, value, " /(#".dup)); 3370 assert (testGetKV("d", "(k", "d (k#")); 3371 assert (!getKeyAndValueFrom(key, value, "L/d ".dup)); 3372 assert (testGetKV("d/(k", "", "d/(k:")); 3373 assert (!getKeyAndValueFrom(key, value, " :^".dup)); 3374 assert (!getKeyAndValueFrom(key, value, "L/#^h".dup)); 3375 assert (testGetKV("Lj", "", "Lj: ")); 3376 assert (!getKeyAndValueFrom(key, value, ":j(^#".dup)); 3377 assert (testGetKV("j", "", " j:#P")); 3378 assert (!getKeyAndValueFrom(key, value, " :(k#".dup)); 3379 assert (testGetKV("L/", "k", "L/:k")); 3380 assert (!getKeyAndValueFrom(key, value, " : ".dup)); 3381 assert (testGetKV("L", "", "L:#kP")); 3382 assert (!getKeyAndValueFrom(key, value, "Lj( ".dup)); 3383 assert (!getKeyAndValueFrom(key, value, ":/ #h".dup)); 3384 assert (testGetKV("L", "(", "L:(#")); 3385 assert (testGetKV("j", "k", " j:k ")); 3386 assert (testGetKV("j", "kP", " j:kP")); 3387 assert (!getKeyAndValueFrom(key, value, " :(^h".dup)); 3388 assert (!getKeyAndValueFrom(key, value, " :(#h".dup)); 3389 assert (testGetKV("d/", "^", "d/ ^")); 3390 assert (!getKeyAndValueFrom(key, value, ":/(^#".dup)); 3391 assert (!getKeyAndValueFrom(key, value, "d/(k ".dup)); 3392 assert (testGetKV("d", "^", "d ^")); 3393 assert (!getKeyAndValueFrom(key, value, " : #P".dup)); 3394 assert (testGetKV("j", "k", " j k#")); 3395 assert (!getKeyAndValueFrom(key, value, "Lj(k#".dup)); 3396 assert (testGetKV("d", "(^", "d (^")); 3397 assert (!getKeyAndValueFrom(key, value, ": ".dup)); 3398 assert (testGetKV("L", "", "L:#^h")); 3399 assert (!getKeyAndValueFrom(key, value, ":j(^P".dup)); 3400 assert (testGetKV("/", "", " /:#")); 3401 assert (!getKeyAndValueFrom(key, value, " (#h".dup)); 3402 assert (!getKeyAndValueFrom(key, value, ":/d #".dup)); 3403 assert (!getKeyAndValueFrom(key, value, "d/(kP".dup)); 3404 assert (!getKeyAndValueFrom(key, value, "Lj #h".dup)); 3405 assert (!getKeyAndValueFrom(key, value, "L/#kP".dup)); 3406 assert (testGetKV("L/d", "", "L/d:")); 3407 assert (testGetKV("Lj(", "", "Lj(:")); 3408 assert (testGetKV("d", "(", "d (#h")); 3409 assert (!getKeyAndValueFrom(key, value, ":/(kP".dup)); 3410 assert (testGetKV("d", "(", "d (#P")); 3411 assert (testGetKV("j", "^", " j ^")); 3412 assert (testGetKV("d/", "k", "d/ k ")); 3413 assert (!getKeyAndValueFrom(key, value, " :d^#".dup)); 3414 assert (!getKeyAndValueFrom(key, value, ":/(k ".dup)); 3415 assert (!getKeyAndValueFrom(key, value, ":/d^#".dup)); 3416 assert (!getKeyAndValueFrom(key, value, " :#P".dup)); 3417 assert (!getKeyAndValueFrom(key, value, " :kP".dup)); 3418 assert (testGetKV("L", "dk", "L dk#")); 3419 assert (testGetKV("d/", "^h", "d/:^h")); 3420 assert (!getKeyAndValueFrom(key, value, ":/ ".dup)); 3421 assert (testGetKV("Lj", "", "Lj :")); 3422 assert (testGetKV("d", "k", "d k ")); 3423 assert (testGetKV("d/", "h", "d/: h")); 3424 assert (!getKeyAndValueFrom(key, value, "Lj(^".dup)); 3425 assert (testGetKV("Lj", "k", "Lj k#")); 3426 assert (testGetKV("d", "^", "d: ^#")); 3427 assert (testGetKV("d", "h", "d : h")); 3428 assert (!getKeyAndValueFrom(key, value, "L #P".dup)); 3429 assert (testGetKV("d", "(k", "d (k ")); 3430 assert (!getKeyAndValueFrom(key, value, " (#P".dup)); 3431 assert (!getKeyAndValueFrom(key, value, ":/ #P".dup)); 3432 assert (!getKeyAndValueFrom(key, value, " ( ".dup)); 3433 assert (testGetKV("j", "h", " j: h")); 3434 assert (!getKeyAndValueFrom(key, value, " : ".dup)); 3435 assert (testGetKV("d", "^h", "d :^h")); 3436 assert (testGetKV("d", "(^", "d:(^#")); 3437 assert (!getKeyAndValueFrom(key, value, ":j( #".dup)); 3438 assert (testGetKV("d/(", "h", "d/(:h")); 3439 assert (testGetKV("d/", "kP", "d/ kP")); 3440 assert (testGetKV("L", "", "L:#kh")); 3441 assert (!getKeyAndValueFrom(key, value, " / #P".dup)); 3442 assert (!getKeyAndValueFrom(key, value, "L/#kh".dup)); 3443 assert (testGetKV("d", "(", "d:( #")); 3444 assert (testGetKV("d", "kP", "d kP")); 3445 assert (!getKeyAndValueFrom(key, value, "L/d#P".dup)); 3446 assert (!getKeyAndValueFrom(key, value, " j(k ".dup)); 3447 assert (testGetKV("Lj", "kP", "Lj:kP")); 3448 assert (testGetKV("d", "(kP", "d (kP")); 3449 assert (!getKeyAndValueFrom(key, value, " / #h".dup)); 3450 assert (!getKeyAndValueFrom(key, value, " :( ".dup)); 3451 assert (testGetKV("L", "dk", "L:dk ")); 3452 assert (testGetKV("d", "(^P", "d:(^P")); 3453 assert (!getKeyAndValueFrom(key, value, " dkP".dup)); 3454 assert (testGetKV("/", "k", " / k")); 3455 assert (!getKeyAndValueFrom(key, value, ":j #".dup)); 3456 assert (testGetKV("Lj", "k", "Lj:k ")); 3457 assert (testGetKV("j(k", "", " j(k:")); 3458 assert (testGetKV("Lj", "", "Lj:#P")); 3459 assert (testGetKV("d/", "h", "d/ :h")); 3460 assert (!getKeyAndValueFrom(key, value, "Lj(#P".dup)); 3461 assert (!getKeyAndValueFrom(key, value, " :kh".dup)); 3462 assert (testGetKV("d", "h", "d :h")); 3463 assert (!getKeyAndValueFrom(key, value, "Lj(#h".dup)); 3464 assert (!getKeyAndValueFrom(key, value, "d/ #".dup)); 3465 assert (testGetKV("d", "", "d: #")); 3466 assert (testGetKV("Lj", "^", "Lj ^")); 3467 assert (!getKeyAndValueFrom(key, value, "L/ #".dup)); 3468 assert (!getKeyAndValueFrom(key, value, "L/d^".dup)); 3469 assert (!getKeyAndValueFrom(key, value, " ".dup)); 3470 assert (testGetKV("L", "dkP", "L:dkP")); 3471 assert (testGetKV("dk", "", " dk:")); 3472 assert (!getKeyAndValueFrom(key, value, " j #".dup)); 3473 assert (!getKeyAndValueFrom(key, value, "L #h".dup)); 3474 assert (testGetKV("j", "^h", " j:^h")); 3475 assert (!getKeyAndValueFrom(key, value, ": #h".dup)); 3476 assert (!getKeyAndValueFrom(key, value, "d ".dup)); 3477 assert (!getKeyAndValueFrom(key, value, " k#".dup)); 3478 assert (!getKeyAndValueFrom(key, value, " kh".dup)); 3479 assert (testGetKV("Lj", "", "Lj:#h")); 3480 assert (!getKeyAndValueFrom(key, value, "L ".dup)); 3481 assert (!getKeyAndValueFrom(key, value, " :d #".dup)); 3482 assert (!getKeyAndValueFrom(key, value, " : #h".dup)); 3483 assert (!getKeyAndValueFrom(key, value, " / ".dup)); 3484 assert (!getKeyAndValueFrom(key, value, " :k#".dup)); 3485 assert (!getKeyAndValueFrom(key, value, "d ( h".dup)); 3486 assert (!getKeyAndValueFrom(key, value, "d/(^h".dup)); 3487 assert (testGetKV("d", "P", "d: P")); 3488 assert (testGetKV("d", "^P", "d: ^P")); 3489 assert (testGetKV("L", "", "L: #")); 3490 assert (testGetKV("d/", "^", "d/:^#")); 3491 assert (!getKeyAndValueFrom(key, value, " :d^P".dup)); 3492 assert (!getKeyAndValueFrom(key, value, "L/(k".dup)); 3493 assert (testGetKV("d", "^", "d :^#")); 3494 assert (testGetKV("L", "d", "L d ")); 3495 assert (!getKeyAndValueFrom(key, value, "Lj(k ".dup)); 3496 assert (!getKeyAndValueFrom(key, value, " :#".dup)); 3497 assert (testGetKV("Lj(k", "", "Lj(k:")); 3498 assert (testGetKV("d", "^", "d: ^ ")); 3499 assert (!getKeyAndValueFrom(key, value, "L/d#h".dup)); 3500 assert (!getKeyAndValueFrom(key, value, " : #".dup)); 3501 assert (testGetKV("j", "k", " j k ")); 3502 assert (!getKeyAndValueFrom(key, value, ":/(^P".dup)); 3503 assert (!getKeyAndValueFrom(key, value, " j(kP".dup)); 3504 assert (testGetKV("L", "d^h", "L:d^h")); 3505 assert (!getKeyAndValueFrom(key, value, " /dk ".dup)); 3506 assert (!getKeyAndValueFrom(key, value, "d/( #".dup)); 3507 assert (testGetKV("d", "(^", "d:(^ ")); 3508 assert (testGetKV("d", "(", "d:( ")); 3509 assert (testGetKV("Lj", "h", "Lj: h")); 3510 assert (testGetKV("d/", "", "d/: #")); 3511 assert (testGetKV("d", "(^h", "d (^h")); 3512 assert (!getKeyAndValueFrom(key, value, ":j(^ ".dup)); 3513 assert (testGetKV("d", "", "d : #")); 3514 assert (testGetKV("Lj", "^h", "Lj:^h")); 3515 assert (testGetKV("d/(", "h", "d/( h")); 3516 assert (!getKeyAndValueFrom(key, value, " :^#".dup)); 3517 assert (testGetKV("d", "h", "d h")); 3518 assert (testGetKV("d/(", "", "d/(:#")); 3519 assert (!getKeyAndValueFrom(key, value, " :(^#".dup)); 3520 assert (testGetKV("d", "^h", "d ^h")); 3521 assert (testGetKV("d/", "h", "d/ h")); 3522 assert (testGetKV("d/", "^h", "d/ ^h")); 3523 assert (!getKeyAndValueFrom(key, value, " :(k ".dup)); 3524 assert (!getKeyAndValueFrom(key, value, ":j( ".dup)); 3525 assert (!getKeyAndValueFrom(key, value, " :^h".dup)); 3526 assert (!getKeyAndValueFrom(key, value, ":/( #".dup)); 3527 assert (testGetKV("j", "kP", " j kP")); 3528 assert (!getKeyAndValueFrom(key, value, "d/ ".dup)); 3529 assert (testGetKV("d/", "", "d/ :#")); 3530 assert (!getKeyAndValueFrom(key, value, ":/d ".dup)); 3531 assert (testGetKV("d", "(", "d ( #")); 3532 assert (testGetKV("d/", "P", "d/: P")); 3533 assert (!getKeyAndValueFrom(key, value, "Lj(kP".dup)); 3534 assert (!getKeyAndValueFrom(key, value, "L/(#".dup)); 3535 assert (testGetKV("d/", "^P", "d/:^P")); 3536 assert (testGetKV("L/", "", "L/:#")); 3537 assert (!getKeyAndValueFrom(key, value, " :h".dup)); 3538 assert (testGetKV("L", "d^", "L d^")); 3539 assert (testGetKV("d", "", "d :#")); 3540 assert (!getKeyAndValueFrom(key, value, " d ".dup)); 3541 assert (testGetKV("j", "^", " j:^#")); 3542 assert (!getKeyAndValueFrom(key, value, " j ".dup)); 3543 assert (testGetKV("Lj", "k", "Lj k ")); 3544 assert (testGetKV("j", "h", " j :h")); 3545 assert (testGetKV("/dk", "", " /dk:")); 3546 assert (testGetKV("d", "^P", "d :^P")); 3547 assert (testGetKV("j(", "h", " j(:h")); 3548 assert (!getKeyAndValueFrom(key, value, "d/(^#".dup)); 3549 assert (testGetKV("d", "P", "d : P")); 3550 assert (testGetKV("d", "", "d: ")); 3551 assert (testGetKV("L", "^", "L: ^")); 3552 assert (!getKeyAndValueFrom(key, value, " :^P".dup)); 3553 assert (!getKeyAndValueFrom(key, value, ":/d^ ".dup)); 3554 assert (testGetKV("/", "^", " /:^")); 3555 assert (testGetKV("d", "^", "d :^ ")); 3556 assert (!getKeyAndValueFrom(key, value, " :k ".dup)); 3557 assert (!getKeyAndValueFrom(key, value, " /(#P".dup)); 3558 assert (!getKeyAndValueFrom(key, value, " /dkP".dup)); 3559 assert (testGetKV("L/dk", "", "L/dk:")); 3560 assert (testGetKV("d/", "^", "d/:^ ")); 3561 assert (testGetKV("Lj", "kP", "Lj kP")); 3562 assert (!getKeyAndValueFrom(key, value, "L/dk ".dup)); 3563 assert (testGetKV("d/(", "P", "d/(:P")); 3564 assert (!getKeyAndValueFrom(key, value, ":/( ".dup)); 3565 assert (!getKeyAndValueFrom(key, value, "L/ ".dup)); 3566 assert (testGetKV("d/", "^", "d/ ^#")); 3567 assert (!getKeyAndValueFrom(key, value, " j( #".dup)); 3568 assert (testGetKV("d", "^", "d ^#")); 3569 assert (!getKeyAndValueFrom(key, value, " ( #".dup)); 3570 assert (testGetKV("d", "(^", "d (^#")); 3571 assert (!getKeyAndValueFrom(key, value, "L/ #h".dup)); 3572 assert (!getKeyAndValueFrom(key, value, " :( #".dup)); 3573 assert (!getKeyAndValueFrom(key, value, "Lj #".dup)); 3574 assert (testGetKV("Lj", "^", "Lj:^#")); 3575 assert (testGetKV("Lj(", "h", "Lj(:h")); 3576 assert (!getKeyAndValueFrom(key, value, " :(^P".dup)); 3577 assert (!getKeyAndValueFrom(key, value, "d/( ".dup)); 3578 assert (testGetKV("d", "P", "d :P")); 3579 assert (testGetKV("d/", "P", "d/ :P")); 3580 assert (!getKeyAndValueFrom(key, value, " :(kP".dup)); 3581 assert (!getKeyAndValueFrom(key, value, "L/ #P".dup)); 3582 assert (testGetKV("j", "", " j: #")); 3583 assert (testGetKV("L", "", "L :#")); 3584 assert (testGetKV("d", "h", " d:h")); 3585 assert (testGetKV("d/(^", "", "d/(^:")); 3586 assert (testGetKV("d/", "", "d/: ")); 3587 assert (testGetKV("d/(", "", "d/(: ")); 3588 assert (testGetKV("(", "", " (:")); 3589 assert (testGetKV("d", "", "d : ")); 3590 assert (!getKeyAndValueFrom(key, value, " h".dup)); 3591 assert (!getKeyAndValueFrom(key, value, " k ".dup)); 3592 assert (testGetKV("L/", "k", "L/ k")); 3593 assert (testGetKV("Lj", "h", "Lj :h")); 3594 assert (testGetKV("/", "", " /:#h")); 3595 assert (testGetKV("d/(", "", "d/( :")); 3596 assert (!getKeyAndValueFrom(key, value, " :".dup)); 3597 assert (!getKeyAndValueFrom(key, value, " : #".dup)); 3598 assert (!getKeyAndValueFrom(key, value, " j(^h".dup)); 3599 assert (!getKeyAndValueFrom(key, value, " :d ".dup)); 3600 assert (!getKeyAndValueFrom(key, value, " P".dup)); 3601 assert (!getKeyAndValueFrom(key, value, " /( ".dup)); 3602 assert (testGetKV("L", "(^", "L:(^")); 3603 assert (testGetKV("d", "(", "d ( ")); 3604 assert (!getKeyAndValueFrom(key, value, " /(#h".dup)); 3605 assert (testGetKV("d/", "", "d/ : ")); 3606 assert (testGetKV("d", "", "d :")); 3607 assert (!getKeyAndValueFrom(key, value, " :d^ ".dup)); 3608 assert (!getKeyAndValueFrom(key, value, " :^ ".dup)); 3609 assert (testGetKV("d", "", "d : ")); 3610 assert (testGetKV("L", "d", "L d#P")); 3611 assert (testGetKV("d/", "", "d/ :")); 3612 assert (!getKeyAndValueFrom(key, value, " (k#".dup)); 3613 assert (testGetKV("/", "", " /:#P")); 3614 assert (!getKeyAndValueFrom(key, value, "L/dkP".dup)); 3615 assert (!getKeyAndValueFrom(key, value, ":j ".dup)); 3616 assert (!getKeyAndValueFrom(key, value, " :(^ ".dup)); 3617 assert (!getKeyAndValueFrom(key, value, "d/(^ ".dup)); 3618 assert (!getKeyAndValueFrom(key, value, " (^".dup)); 3619 assert (testGetKV("L", "", "L: #P")); 3620 assert (!getKeyAndValueFrom(key, value, " / #".dup)); 3621 assert (testGetKV("L", "", "L: #h")); 3622 assert (testGetKV("L", "k", "L k")); 3623 assert (!getKeyAndValueFrom(key, value, " :P".dup)); 3624 assert (testGetKV("L", "(", "L:(#P")); 3625 assert (!getKeyAndValueFrom(key, value, "d ( P".dup)); 3626 assert (!getKeyAndValueFrom(key, value, "d/(^P".dup)); 3627 assert (testGetKV("d/", "^", "d/ ^ ")); 3628 assert (!getKeyAndValueFrom(key, value, ":/(^ ".dup)); 3629 assert (testGetKV("L", "dk", "L dk ")); 3630 assert (testGetKV("j", "^P", " j:^P")); 3631 assert (testGetKV("d", "^", "d ^ ")); 3632 assert (testGetKV("L", "d", "L d#h")); 3633 assert (!getKeyAndValueFrom(key, value, " : ".dup)); 3634 assert (testGetKV("L", "(", "L:( ")); 3635 assert (!getKeyAndValueFrom(key, value, "Lj(^h".dup)); 3636 assert (testGetKV("d", "(^", "d (^ ")); 3637 assert (!getKeyAndValueFrom(key, value, ": #".dup)); 3638 assert (testGetKV("j", "P", " j: P")); 3639 assert (!getKeyAndValueFrom(key, value, " d^#".dup)); 3640 assert (!getKeyAndValueFrom(key, value, " ^#".dup)); 3641 assert (!getKeyAndValueFrom(key, value, ":/ #".dup)); 3642 assert (testGetKV("L", "(k", "L (k")); 3643 assert (testGetKV("Lj", "", "Lj: #")); 3644 assert (!getKeyAndValueFrom(key, value, "Lj( #".dup)); 3645 assert (!getKeyAndValueFrom(key, value, " /d #".dup)); 3646 assert (testGetKV("d", "(^P", "d (^P")); 3647 assert (testGetKV("L", "(kh", "L:(kh")); 3648 assert (testGetKV("d/(", "P", "d/( P")); 3649 assert (testGetKV("d", "P", "d P")); 3650 assert (testGetKV("j", "^", " j:^ ")); 3651 assert (testGetKV("d", "^P", "d ^P")); 3652 assert (!getKeyAndValueFrom(key, value, " j(^#".dup)); 3653 assert (testGetKV("d/", "P", "d/ P")); 3654 assert (testGetKV("j(", "", " j(:#")); 3655 assert (testGetKV("j", "", " j :#")); 3656 assert (testGetKV("d/", "^P", "d/ ^P")); 3657 assert (testGetKV("L", "kh", "L: kh")); 3658 assert (testGetKV("/", "kh", " /:kh")); 3659 assert (testGetKV("j(", "h", " j( h")); 3660 assert (!getKeyAndValueFrom(key, value, " j( ".dup)); 3661 assert (testGetKV("L", "dkP", "L dkP")); 3662 assert (testGetKV("L", "(", "L:(#h")); 3663 assert (testGetKV("L/d", "h", "L/d:h")); 3664 assert (testGetKV("L", "", "L: ")); 3665 assert (!getKeyAndValueFrom(key, value, " :( ".dup)); 3666 assert (testGetKV("L/", "^", "L/:^")); 3667 assert (testGetKV("j", "", " j: ")); 3668 assert (!getKeyAndValueFrom(key, value, " (kh".dup)); 3669 assert (testGetKV("j", "h", " j h")); 3670 assert (testGetKV("d", "", " d:#")); 3671 assert (testGetKV("L", "d^", "L:d^#")); 3672 assert (!getKeyAndValueFrom(key, value, " d^h".dup)); 3673 assert (testGetKV("j", "^h", " j ^h")); 3674 assert (testGetKV("Lj", "P", "Lj: P")); 3675 assert (!getKeyAndValueFrom(key, value, " ( ".dup)); 3676 assert (testGetKV("/", "k", " /:k#")); 3677 assert (!getKeyAndValueFrom(key, value, "L/(#h".dup)); 3678 assert (testGetKV("Lj(", "h", "Lj( h")); 3679 assert (testGetKV("L", "k", "L: k#")); 3680 assert (testGetKV("L", "(", "L (#")); 3681 assert (testGetKV("/", "", " /: ")); 3682 assert (!getKeyAndValueFrom(key, value, " (^#".dup)); 3683 assert (testGetKV("Lj(", "", "Lj(:#")); 3684 assert (testGetKV("L", "d", "L:d #")); 3685 assert (testGetKV("/d", "h", " /d:h")); 3686 assert (testGetKV("Lj", "", "Lj :#")); 3687 assert (testGetKV("Lj", "h", "Lj h")); 3688 assert (testGetKV("Lj", "^h", "Lj ^h")); 3689 assert (testGetKV("Lj", "^P", "Lj:^P")); 3690 assert (!getKeyAndValueFrom(key, value, ": ".dup)); 3691 assert (!getKeyAndValueFrom(key, value, "Lj(^#".dup)); 3692 assert (!getKeyAndValueFrom(key, value, "Lj ".dup)); 3693 assert (!getKeyAndValueFrom(key, value, " d^ ".dup)); 3694 assert (testGetKV("j", "^", " j ^#")); 3695 assert (testGetKV("j(", "P", " j(:P")); 3696 assert (testGetKV("Lj", "^", "Lj:^ ")); 3697 assert (!getKeyAndValueFrom(key, value, " : ".dup)); 3698 assert (!getKeyAndValueFrom(key, value, " ^ ".dup)); 3699 assert (testGetKV("L", "d^P", "L:d^P")); 3700 assert (!getKeyAndValueFrom(key, value, "L/(#P".dup)); 3701 assert (!getKeyAndValueFrom(key, value, " kP".dup)); 3702 assert (testGetKV("j", "P", " j :P")); 3703 assert (!getKeyAndValueFrom(key, value, ":/ ".dup)); 3704 assert (testGetKV("/(", "", " /(:")); 3705 assert (!getKeyAndValueFrom(key, value, " /(^".dup)); 3706 assert (testGetKV("Lj", "^", "Lj ^#")); 3707 assert (testGetKV("L", "^", "L :^")); 3708 assert (testGetKV("L", "kh", "L :kh")); 3709 assert (!getKeyAndValueFrom(key, value, " : ".dup)); 3710 assert (!getKeyAndValueFrom(key, value, " j(^ ".dup)); 3711 assert (testGetKV("L", "(^h", "L:(^h")); 3712 assert (!getKeyAndValueFrom(key, value, " /d^#".dup)); 3713 assert (testGetKV("Lj(", "P", "Lj(:P")); 3714 assert (testGetKV("L", "(k", "L:(k#")); 3715 assert (!getKeyAndValueFrom(key, value, "L d h".dup)); 3716 assert (!getKeyAndValueFrom(key, value, " /( #".dup)); 3717 assert (testGetKV("/d", "", " /d:#")); 3718 assert (!getKeyAndValueFrom(key, value, "Lj( ".dup)); 3719 assert (testGetKV("Lj", "P", "Lj :P")); 3720 assert (!getKeyAndValueFrom(key, value, " /(k#".dup)); 3721 assert (testGetKV("Lj", "", "Lj: ")); 3722 assert (testGetKV("j", "", " j : ")); 3723 assert (testGetKV("/", "", " / :")); 3724 assert (testGetKV("j(", "", " j(: ")); 3725 assert (!getKeyAndValueFrom(key, value, " (k ".dup)); 3726 assert (!getKeyAndValueFrom(key, value, " / ".dup)); 3727 assert (testGetKV("L", "", "L :#P")); 3728 assert (!getKeyAndValueFrom(key, value, " /(kh".dup)); 3729 assert (!getKeyAndValueFrom(key, value, " /d^h".dup)); 3730 assert (testGetKV("d", "P", " d:P")); 3731 assert (testGetKV("j(^", "", " j(^:")); 3732 assert (!getKeyAndValueFrom(key, value, "L #".dup)); 3733 assert (testGetKV("L/", "", "L/:#h")); 3734 assert (!getKeyAndValueFrom(key, value, "L/d #".dup)); 3735 assert (!getKeyAndValueFrom(key, value, " ^h".dup)); 3736 assert (!getKeyAndValueFrom(key, value, "L/d^h".dup)); 3737 assert (testGetKV("d", "h", " d h")); 3738 assert (testGetKV("L/", "", "L/:#P")); 3739 assert (testGetKV("/", "^", " /:^#")); 3740 assert (testGetKV("Lj(^", "", "Lj(^:")); 3741 assert (testGetKV("L/", "kh", "L/:kh")); 3742 assert (testGetKV("L/(", "", "L/(:")); 3743 assert (testGetKV("L/", "", "L/: ")); 3744 assert (testGetKV("L", "", "L : ")); 3745 assert (testGetKV("L/d", "", "L/d:#")); 3746 assert (testGetKV("Lj(", "", "Lj(: ")); 3747 assert (testGetKV("Lj", "", "Lj : ")); 3748 assert (!getKeyAndValueFrom(key, value, "Lj(^ ".dup)); 3749 assert (testGetKV("j", "^", " j ^ ")); 3750 assert (testGetKV("L", "h", "L: h")); 3751 assert (testGetKV("L", "", "L :#h")); 3752 assert (!getKeyAndValueFrom(key, value, " ^P".dup)); 3753 assert (testGetKV("(", "", " (:#")); 3754 assert (testGetKV("j(", "", " j( :")); 3755 assert (testGetKV("j", "", " j :")); 3756 assert (testGetKV("d", "", " d: ")); 3757 assert (!getKeyAndValueFrom(key, value, "L/( ".dup)); 3758 assert (!getKeyAndValueFrom(key, value, "L ".dup)); 3759 assert (testGetKV("k", "", " k:")); 3760 assert (!getKeyAndValueFrom(key, value, " j(^P".dup)); 3761 assert (testGetKV("L", "^h", "L: ^h")); 3762 assert (!getKeyAndValueFrom(key, value, " /d ".dup)); 3763 assert (testGetKV("L", "^", "L: ^#")); 3764 assert (testGetKV("L/", "", "L/ :")); 3765 assert (testGetKV("/", "k", " /:k ")); 3766 assert (!getKeyAndValueFrom(key, value, "L/d^#".dup)); 3767 assert (testGetKV("L", "(^", "L:(^#")); 3768 assert (testGetKV("Lj(", "", "Lj( :")); 3769 assert (!getKeyAndValueFrom(key, value, "L/ #".dup)); 3770 assert (testGetKV("L", "k", "L :k#")); 3771 assert (testGetKV("/", "kP", " /:kP")); 3772 assert (testGetKV("/", "^h", " /:^h")); 3773 assert (testGetKV("Lj", "", "Lj :")); 3774 assert (testGetKV("/", "h", " /: h")); 3775 assert (!getKeyAndValueFrom(key, value, " (^ ".dup)); 3776 assert (testGetKV("Lj", "^", "Lj ^ ")); 3777 assert (testGetKV("L", "d", "L:d ")); 3778 assert (testGetKV("/d", "h", " /d h")); 3779 assert (testGetKV("/", "", " /: #")); 3780 assert (testGetKV("j(", "P", " j( P")); 3781 assert (testGetKV("L", "d^", "L:d^ ")); 3782 assert (!getKeyAndValueFrom(key, value, "Lj(^P".dup)); 3783 assert (testGetKV("j", "P", " j P")); 3784 assert (testGetKV("L/", "k", "L/:k#")); 3785 assert (!getKeyAndValueFrom(key, value, " d^P".dup)); 3786 assert (testGetKV("(", "h", " (:h")); 3787 assert (testGetKV("L/d", "P", "L/d:P")); 3788 assert (testGetKV("L", "", "L :")); 3789 assert (testGetKV("j", "^P", " j ^P")); 3790 assert (testGetKV("L", "kP", "L: kP")); 3791 assert (testGetKV("L", "d^h", "L d^h")); 3792 assert (testGetKV("L", "(", "L:( #")); 3793 assert (testGetKV("L", "", "L: #")); 3794 assert (testGetKV("L/", "^", "L/:^#")); 3795 assert (testGetKV("Lj(", "P", "Lj( P")); 3796 assert (testGetKV("Lj", "P", "Lj P")); 3797 assert (!getKeyAndValueFrom(key, value, "L/(^".dup)); 3798 assert (testGetKV("Lj", "^P", "Lj ^P")); 3799 assert (testGetKV("L/d", "h", "L/d h")); 3800 assert (testGetKV("L", "(k", "L:(k ")); 3801 assert (testGetKV("/", "kh", " / kh")); 3802 assert (testGetKV("L", "d", "L d #")); 3803 assert (!getKeyAndValueFrom(key, value, " (kP".dup)); 3804 assert (testGetKV("d^", "", " d^:")); 3805 assert (!getKeyAndValueFrom(key, value, "L/(k#".dup)); 3806 assert (!getKeyAndValueFrom(key, value, "L/(kh".dup)); 3807 assert (!getKeyAndValueFrom(key, value, " /(^#".dup)); 3808 assert (testGetKV("L", "(kP", "L:(kP")); 3809 assert (testGetKV("/d", "P", " /d:P")); 3810 assert (testGetKV("/", "^", " / ^")); 3811 assert (testGetKV("d", "", " d :")); 3812 assert (testGetKV("L", "k", "L: k ")); 3813 assert (testGetKV("L", "(^P", "L:(^P")); 3814 assert (!getKeyAndValueFrom(key, value, " /(k ".dup)); 3815 assert (testGetKV("L", "d^", "L d^#")); 3816 assert (testGetKV("L", "P", "L: P")); 3817 assert (!getKeyAndValueFrom(key, value, " (^h".dup)); 3818 assert (!getKeyAndValueFrom(key, value, " /d^ ".dup)); 3819 assert (testGetKV("/d", "", " /d: ")); 3820 assert (testGetKV("L/d", "", "L/d: ")); 3821 assert (!getKeyAndValueFrom(key, value, "L/d ".dup)); 3822 assert (!getKeyAndValueFrom(key, value, " /( ".dup)); 3823 assert (testGetKV("(", "", " (: ")); 3824 assert (testGetKV("(", "P", " (:P")); 3825 assert (testGetKV("L/(", "", "L/(:#")); 3826 assert (testGetKV("^", "", " ^:")); 3827 assert (testGetKV("L/", "^h", "L/:^h")); 3828 assert (testGetKV("L/d", "", "L/d :")); 3829 assert (!getKeyAndValueFrom(key, value, "L/( #".dup)); 3830 assert (testGetKV("L", "^", "L :^#")); 3831 assert (testGetKV("(k", "", " (k:")); 3832 assert (testGetKV("L/d^", "", "L/d^:")); 3833 assert (testGetKV("/d^", "", " /d^:")); 3834 assert (testGetKV("L", "", "L : #")); 3835 assert (testGetKV("/d", "", " /d :")); 3836 assert (testGetKV("/", "^P", " /:^P")); 3837 assert (testGetKV("/", "^", " /:^ ")); 3838 assert (testGetKV("d", "P", " d P")); 3839 assert (testGetKV("/(", "", " /(:#")); 3840 assert (testGetKV("L", "^", "L: ^ ")); 3841 assert (testGetKV("L/", "kP", "L/:kP")); 3842 assert (testGetKV("L", "(", "L ( ")); 3843 assert (testGetKV("L/", "", "L/: #")); 3844 assert (!getKeyAndValueFrom(key, value, " /d^P".dup)); 3845 assert (testGetKV("/", "k", " / k#")); 3846 assert (testGetKV("/(", "h", " /(:h")); 3847 assert (testGetKV("L", "(", "L (#h")); 3848 assert (testGetKV("L", "(", "L (#P")); 3849 assert (!getKeyAndValueFrom(key, value, "L/d^ ".dup)); 3850 assert (testGetKV("/", "", " /: ")); 3851 assert (testGetKV("/(k", "", " /(k:")); 3852 assert (!getKeyAndValueFrom(key, value, "L d P".dup)); 3853 assert (testGetKV("(", "", " ( :")); 3854 assert (testGetKV("/d", "P", " /d P")); 3855 assert (testGetKV("L/", "h", "L/: h")); 3856 assert (testGetKV("L/", "kh", "L/ kh")); 3857 assert (testGetKV("L", "h", "L : h")); 3858 assert (!getKeyAndValueFrom(key, value, "L/d^P".dup)); 3859 assert (testGetKV("L", "^P", "L: ^P")); 3860 assert (testGetKV("(^", "", " (^:")); 3861 assert (testGetKV("/", "", " / :#")); 3862 assert (testGetKV("L", "kP", "L :kP")); 3863 assert (testGetKV("L", "d", "L d ")); 3864 assert (testGetKV("L", "^h", "L :^h")); 3865 assert (testGetKV("/(", "P", " /(:P")); 3866 assert (testGetKV("L", "P", "L : P")); 3867 assert (testGetKV("/", "h", " / :h")); 3868 assert (testGetKV("L", "", "L: ")); 3869 assert (testGetKV("/(", "", " /(: ")); 3870 assert (testGetKV("L/", "^", "L/ ^")); 3871 assert (testGetKV("/", "P", " /: P")); 3872 assert (testGetKV("L/", "k", "L/:k ")); 3873 assert (testGetKV("L", "d^", "L d^ ")); 3874 assert (testGetKV("L", "kh", "L kh")); 3875 assert (testGetKV("/", "P", " / :P")); 3876 assert (!getKeyAndValueFrom(key, value, " /(^ ".dup)); 3877 assert (!getKeyAndValueFrom(key, value, "L/ ".dup)); 3878 assert (!getKeyAndValueFrom(key, value, " (^P".dup)); 3879 assert (testGetKV("L/(", "h", "L/(:h")); 3880 assert (testGetKV("L/", "h", "L/ :h")); 3881 assert (testGetKV("L", "d^P", "L d^P")); 3882 assert (testGetKV("L/d", "P", "L/d P")); 3883 assert (testGetKV("L", "(kh", "L (kh")); 3884 assert (testGetKV("L/", "^", "L/:^ ")); 3885 assert (testGetKV("L/", "", "L/ :#")); 3886 assert (testGetKV("L", "^", "L ^")); 3887 assert (testGetKV("L/(", "P", "L/(:P")); 3888 assert (testGetKV("/", "", " / : ")); 3889 assert (testGetKV("L", "(", "L:( ")); 3890 assert (testGetKV("L/", "^P", "L/:^P")); 3891 assert (testGetKV("L", "(^", "L (^")); 3892 assert (!getKeyAndValueFrom(key, value, " /(kP".dup)); 3893 assert (testGetKV("/(^", "", " /(^:")); 3894 assert (!getKeyAndValueFrom(key, value, "L/(^#".dup)); 3895 assert (testGetKV("L/(k", "", "L/(k:")); 3896 assert (testGetKV("L", "(^", "L:(^ ")); 3897 assert (testGetKV("L/", "k", "L/ k#")); 3898 assert (testGetKV("L", "k", "L :k ")); 3899 assert (testGetKV("L/", "P", "L/: P")); 3900 assert (testGetKV("L", "h", "L :h")); 3901 assert (testGetKV("L/", "P", "L/ :P")); 3902 assert (!getKeyAndValueFrom(key, value, " /(^h".dup)); 3903 assert (!getKeyAndValueFrom(key, value, "L/(k ".dup)); 3904 assert (testGetKV("L", "^P", "L :^P")); 3905 assert (testGetKV("L", "k", "L k#")); 3906 assert (testGetKV("L", "", "L :#")); 3907 assert (testGetKV("L", "(k", "L (k#")); 3908 assert (testGetKV("/(", "", " /( :")); 3909 assert (testGetKV("L/(", "", "L/( :")); 3910 assert (testGetKV("(", "h", " ( h")); 3911 assert (testGetKV("/", "k", " / k ")); 3912 assert (testGetKV("/", "", " / :")); 3913 assert (testGetKV("L/", "", "L/ : ")); 3914 assert (testGetKV("L", "^", "L :^ ")); 3915 assert (testGetKV("L", "P", "L :P")); 3916 assert (testGetKV("L/", "", "L/: ")); 3917 assert (!getKeyAndValueFrom(key, value, "L/(kP".dup)); 3918 assert (testGetKV("L/(^", "", "L/(^:")); 3919 assert (testGetKV("/", "kP", " / kP")); 3920 assert (testGetKV("/", "^", " / ^#")); 3921 assert (testGetKV("L/(", "", "L/(: ")); 3922 assert (!getKeyAndValueFrom(key, value, "L/(^h".dup)); 3923 assert (!getKeyAndValueFrom(key, value, "L ( h".dup)); 3924 assert (testGetKV("L", "", "L : ")); 3925 assert (testGetKV("L", "", "L : ")); 3926 assert (!getKeyAndValueFrom(key, value, "L/( ".dup)); 3927 assert (!getKeyAndValueFrom(key, value, " /(^P".dup)); 3928 assert (testGetKV("L", "", "L :")); 3929 assert (testGetKV("L/", "k", "L/ k ")); 3930 assert (testGetKV("L", "(", "L ( #")); 3931 assert (testGetKV("L/", "", "L/ :")); 3932 assert (testGetKV("L/", "kP", "L/ kP")); 3933 assert (!getKeyAndValueFrom(key, value, "L/(^ ".dup)); 3934 assert (testGetKV("L", "(k", "L (k ")); 3935 assert (testGetKV("L", "k", "L k ")); 3936 assert (testGetKV("/(", "h", " /( h")); 3937 assert (testGetKV("L", "(kP", "L (kP")); 3938 assert (testGetKV("L", "kP", "L kP")); 3939 assert (!getKeyAndValueFrom(key, value, "L/(^P".dup)); 3940 assert (testGetKV("/", "h", " / h")); 3941 assert (testGetKV("(", "P", " ( P")); 3942 assert (!getKeyAndValueFrom(key, value, "L ( P".dup)); 3943 assert (testGetKV("/", "^h", " / ^h")); 3944 assert (testGetKV("L/", "^", "L/ ^#")); 3945 assert (testGetKV("L", "^", "L ^#")); 3946 assert (testGetKV("/", "^", " / ^ ")); 3947 assert (testGetKV("L", "(^", "L (^#")); 3948 assert (testGetKV("L", "(^h", "L (^h")); 3949 assert (testGetKV("L/(", "h", "L/( h")); 3950 assert (testGetKV("L", "h", "L h")); 3951 assert (testGetKV("L", "^h", "L ^h")); 3952 assert (testGetKV("L/", "h", "L/ h")); 3953 assert (testGetKV("L/", "^h", "L/ ^h")); 3954 assert (testGetKV("/", "P", " / P")); 3955 assert (testGetKV("L", "(", "L ( ")); 3956 assert (testGetKV("/(", "P", " /( P")); 3957 assert (testGetKV("/", "^P", " / ^P")); 3958 assert (testGetKV("L/", "^", "L/ ^ ")); 3959 assert (testGetKV("L", "P", "L P")); 3960 assert (testGetKV("L", "^", "L ^ ")); 3961 assert (testGetKV("L", "(^", "L (^ ")); 3962 assert (testGetKV("L", "^P", "L ^P")); 3963 assert (testGetKV("L/", "P", "L/ P")); 3964 assert (testGetKV("L", "(^P", "L (^P")); 3965 assert (testGetKV("L/(", "P", "L/( P")); 3966 assert (testGetKV("L/", "^P", "L/ ^P")); 3967 } 3968 3969 unittest 3970 { 3971 assert (GetPathParamsQuery("") == "/"); 3972 assert (GetPathParamsQuery(":") == "/"); 3973 assert (GetPathParamsQuery("::") == "/"); 3974 assert (GetPathParamsQuery(":::") == "/"); 3975 assert (GetPathParamsQuery("::::") == "/"); 3976 assert (GetPathParamsQuery(":::/") == "/"); 3977 assert (GetPathParamsQuery(":::?") == "/?"); 3978 assert (GetPathParamsQuery(":::;") == "/;"); 3979 assert (GetPathParamsQuery(":::#") == "/"); 3980 assert (GetPathParamsQuery(":::a") == "/"); 3981 assert (GetPathParamsQuery("::/") == "/"); 3982 assert (GetPathParamsQuery("::/:") == "/:"); 3983 assert (GetPathParamsQuery(":://") == "/"); 3984 assert (GetPathParamsQuery("::/?") == "/?"); 3985 assert (GetPathParamsQuery("::/;") == "/;"); 3986 assert (GetPathParamsQuery("::/#") == "/"); 3987 assert (GetPathParamsQuery("::/a") == "/a"); 3988 assert (GetPathParamsQuery("::?") == "/?"); 3989 assert (GetPathParamsQuery("::?:") == "/?:"); 3990 assert (GetPathParamsQuery("::?/") == "/?/"); 3991 assert (GetPathParamsQuery("::??") == "/??"); 3992 assert (GetPathParamsQuery("::?;") == "/?;"); 3993 assert (GetPathParamsQuery("::?#") == "/?"); 3994 assert (GetPathParamsQuery("::?a") == "/?a"); 3995 assert (GetPathParamsQuery("::;") == "/;"); 3996 assert (GetPathParamsQuery("::;:") == "/;:"); 3997 assert (GetPathParamsQuery("::;/") == "/;/"); 3998 assert (GetPathParamsQuery("::;?") == "/;?"); 3999 assert (GetPathParamsQuery("::;;") == "/;;"); 4000 assert (GetPathParamsQuery("::;#") == "/;"); 4001 assert (GetPathParamsQuery("::;a") == "/;a"); 4002 assert (GetPathParamsQuery("::#") == "/"); 4003 assert (GetPathParamsQuery("::#:") == "/"); 4004 assert (GetPathParamsQuery("::#/") == "/"); 4005 assert (GetPathParamsQuery("::#?") == "/"); 4006 assert (GetPathParamsQuery("::#;") == "/"); 4007 assert (GetPathParamsQuery("::##") == "/"); 4008 assert (GetPathParamsQuery("::#a") == "/"); 4009 assert (GetPathParamsQuery("::a") == "/"); 4010 assert (GetPathParamsQuery("::a:") == "/"); 4011 assert (GetPathParamsQuery("::a/") == "/"); 4012 assert (GetPathParamsQuery("::a?") == "/?"); 4013 assert (GetPathParamsQuery("::a;") == "/;"); 4014 assert (GetPathParamsQuery("::a#") == "/"); 4015 assert (GetPathParamsQuery("::aa") == "/"); 4016 assert (GetPathParamsQuery(":/") == "/"); 4017 assert (GetPathParamsQuery(":/:") == "/:"); 4018 assert (GetPathParamsQuery(":/::") == "/::"); 4019 assert (GetPathParamsQuery(":/:/") == "/:/"); 4020 assert (GetPathParamsQuery(":/:?") == "/:?"); 4021 assert (GetPathParamsQuery(":/:;") == "/:;"); 4022 assert (GetPathParamsQuery(":/:#") == "/:"); 4023 assert (GetPathParamsQuery(":/:a") == "/:a"); 4024 assert (GetPathParamsQuery("://") == "/"); 4025 assert (GetPathParamsQuery("://:") == "/"); 4026 assert (GetPathParamsQuery(":///") == "/"); 4027 assert (GetPathParamsQuery("://?") == "/?"); 4028 assert (GetPathParamsQuery("://;") == "/;"); 4029 assert (GetPathParamsQuery("://#") == "/"); 4030 assert (GetPathParamsQuery("://a") == "/"); 4031 assert (GetPathParamsQuery(":/?") == "/?"); 4032 assert (GetPathParamsQuery(":/?:") == "/?:"); 4033 assert (GetPathParamsQuery(":/?/") == "/?/"); 4034 assert (GetPathParamsQuery(":/??") == "/??"); 4035 assert (GetPathParamsQuery(":/?;") == "/?;"); 4036 assert (GetPathParamsQuery(":/?#") == "/?"); 4037 assert (GetPathParamsQuery(":/?a") == "/?a"); 4038 assert (GetPathParamsQuery(":/;") == "/;"); 4039 assert (GetPathParamsQuery(":/;:") == "/;:"); 4040 assert (GetPathParamsQuery(":/;/") == "/;/"); 4041 assert (GetPathParamsQuery(":/;?") == "/;?"); 4042 assert (GetPathParamsQuery(":/;;") == "/;;"); 4043 assert (GetPathParamsQuery(":/;#") == "/;"); 4044 assert (GetPathParamsQuery(":/;a") == "/;a"); 4045 assert (GetPathParamsQuery(":/#") == "/"); 4046 assert (GetPathParamsQuery(":/#:") == "/"); 4047 assert (GetPathParamsQuery(":/#/") == "/"); 4048 assert (GetPathParamsQuery(":/#?") == "/"); 4049 assert (GetPathParamsQuery(":/#;") == "/"); 4050 assert (GetPathParamsQuery(":/##") == "/"); 4051 assert (GetPathParamsQuery(":/#a") == "/"); 4052 assert (GetPathParamsQuery(":/a") == "/a"); 4053 assert (GetPathParamsQuery(":/a:") == "/a:"); 4054 assert (GetPathParamsQuery(":/a/") == "/a/"); 4055 assert (GetPathParamsQuery(":/a?") == "/a?"); 4056 assert (GetPathParamsQuery(":/a;") == "/a;"); 4057 assert (GetPathParamsQuery(":/a#") == "/a"); 4058 assert (GetPathParamsQuery(":/aa") == "/aa"); 4059 assert (GetPathParamsQuery(":?") == "/?"); 4060 assert (GetPathParamsQuery(":?:") == "/?:"); 4061 assert (GetPathParamsQuery(":?::") == "/?::"); 4062 assert (GetPathParamsQuery(":?:/") == "/?:/"); 4063 assert (GetPathParamsQuery(":?:?") == "/?:?"); 4064 assert (GetPathParamsQuery(":?:;") == "/?:;"); 4065 assert (GetPathParamsQuery(":?:#") == "/?:"); 4066 assert (GetPathParamsQuery(":?:a") == "/?:a"); 4067 assert (GetPathParamsQuery(":?/") == "/?/"); 4068 assert (GetPathParamsQuery(":?/:") == "/?/:"); 4069 assert (GetPathParamsQuery(":?//") == "/?//"); 4070 assert (GetPathParamsQuery(":?/?") == "/?/?"); 4071 assert (GetPathParamsQuery(":?/;") == "/?/;"); 4072 assert (GetPathParamsQuery(":?/#") == "/?/"); 4073 assert (GetPathParamsQuery(":?/a") == "/?/a"); 4074 assert (GetPathParamsQuery(":??") == "/??"); 4075 assert (GetPathParamsQuery(":??:") == "/??:"); 4076 assert (GetPathParamsQuery(":??/") == "/??/"); 4077 assert (GetPathParamsQuery(":???") == "/???"); 4078 assert (GetPathParamsQuery(":??;") == "/??;"); 4079 assert (GetPathParamsQuery(":??#") == "/??"); 4080 assert (GetPathParamsQuery(":??a") == "/??a"); 4081 assert (GetPathParamsQuery(":?;") == "/?;"); 4082 assert (GetPathParamsQuery(":?;:") == "/?;:"); 4083 assert (GetPathParamsQuery(":?;/") == "/?;/"); 4084 assert (GetPathParamsQuery(":?;?") == "/?;?"); 4085 assert (GetPathParamsQuery(":?;;") == "/?;;"); 4086 assert (GetPathParamsQuery(":?;#") == "/?;"); 4087 assert (GetPathParamsQuery(":?;a") == "/?;a"); 4088 assert (GetPathParamsQuery(":?#") == "/?"); 4089 assert (GetPathParamsQuery(":?#:") == "/?"); 4090 assert (GetPathParamsQuery(":?#/") == "/?"); 4091 assert (GetPathParamsQuery(":?#?") == "/?"); 4092 assert (GetPathParamsQuery(":?#;") == "/?"); 4093 assert (GetPathParamsQuery(":?##") == "/?"); 4094 assert (GetPathParamsQuery(":?#a") == "/?"); 4095 assert (GetPathParamsQuery(":?a") == "/?a"); 4096 assert (GetPathParamsQuery(":?a:") == "/?a:"); 4097 assert (GetPathParamsQuery(":?a/") == "/?a/"); 4098 assert (GetPathParamsQuery(":?a?") == "/?a?"); 4099 assert (GetPathParamsQuery(":?a;") == "/?a;"); 4100 assert (GetPathParamsQuery(":?a#") == "/?a"); 4101 assert (GetPathParamsQuery(":?aa") == "/?aa"); 4102 assert (GetPathParamsQuery(":;") == "/;"); 4103 assert (GetPathParamsQuery(":;:") == "/;:"); 4104 assert (GetPathParamsQuery(":;::") == "/;::"); 4105 assert (GetPathParamsQuery(":;:/") == "/;:/"); 4106 assert (GetPathParamsQuery(":;:?") == "/;:?"); 4107 assert (GetPathParamsQuery(":;:;") == "/;:;"); 4108 assert (GetPathParamsQuery(":;:#") == "/;:"); 4109 assert (GetPathParamsQuery(":;:a") == "/;:a"); 4110 assert (GetPathParamsQuery(":;/") == "/;/"); 4111 assert (GetPathParamsQuery(":;/:") == "/;/:"); 4112 assert (GetPathParamsQuery(":;//") == "/;//"); 4113 assert (GetPathParamsQuery(":;/?") == "/;/?"); 4114 assert (GetPathParamsQuery(":;/;") == "/;/;"); 4115 assert (GetPathParamsQuery(":;/#") == "/;/"); 4116 assert (GetPathParamsQuery(":;/a") == "/;/a"); 4117 assert (GetPathParamsQuery(":;?") == "/;?"); 4118 assert (GetPathParamsQuery(":;?:") == "/;?:"); 4119 assert (GetPathParamsQuery(":;?/") == "/;?/"); 4120 assert (GetPathParamsQuery(":;??") == "/;??"); 4121 assert (GetPathParamsQuery(":;?;") == "/;?;"); 4122 assert (GetPathParamsQuery(":;?#") == "/;?"); 4123 assert (GetPathParamsQuery(":;?a") == "/;?a"); 4124 assert (GetPathParamsQuery(":;;") == "/;;"); 4125 assert (GetPathParamsQuery(":;;:") == "/;;:"); 4126 assert (GetPathParamsQuery(":;;/") == "/;;/"); 4127 assert (GetPathParamsQuery(":;;?") == "/;;?"); 4128 assert (GetPathParamsQuery(":;;;") == "/;;;"); 4129 assert (GetPathParamsQuery(":;;#") == "/;;"); 4130 assert (GetPathParamsQuery(":;;a") == "/;;a"); 4131 assert (GetPathParamsQuery(":;#") == "/;"); 4132 assert (GetPathParamsQuery(":;#:") == "/;"); 4133 assert (GetPathParamsQuery(":;#/") == "/;"); 4134 assert (GetPathParamsQuery(":;#?") == "/;"); 4135 assert (GetPathParamsQuery(":;#;") == "/;"); 4136 assert (GetPathParamsQuery(":;##") == "/;"); 4137 assert (GetPathParamsQuery(":;#a") == "/;"); 4138 assert (GetPathParamsQuery(":;a") == "/;a"); 4139 assert (GetPathParamsQuery(":;a:") == "/;a:"); 4140 assert (GetPathParamsQuery(":;a/") == "/;a/"); 4141 assert (GetPathParamsQuery(":;a?") == "/;a?"); 4142 assert (GetPathParamsQuery(":;a;") == "/;a;"); 4143 assert (GetPathParamsQuery(":;a#") == "/;a"); 4144 assert (GetPathParamsQuery(":;aa") == "/;aa"); 4145 assert (GetPathParamsQuery(":#") == "/"); 4146 assert (GetPathParamsQuery(":#:") == "/"); 4147 assert (GetPathParamsQuery(":#::") == "/"); 4148 assert (GetPathParamsQuery(":#:/") == "/"); 4149 assert (GetPathParamsQuery(":#:?") == "/"); 4150 assert (GetPathParamsQuery(":#:;") == "/"); 4151 assert (GetPathParamsQuery(":#:#") == "/"); 4152 assert (GetPathParamsQuery(":#:a") == "/"); 4153 assert (GetPathParamsQuery(":#/") == "/"); 4154 assert (GetPathParamsQuery(":#/:") == "/"); 4155 assert (GetPathParamsQuery(":#//") == "/"); 4156 assert (GetPathParamsQuery(":#/?") == "/"); 4157 assert (GetPathParamsQuery(":#/;") == "/"); 4158 assert (GetPathParamsQuery(":#/#") == "/"); 4159 assert (GetPathParamsQuery(":#/a") == "/"); 4160 assert (GetPathParamsQuery(":#?") == "/"); 4161 assert (GetPathParamsQuery(":#?:") == "/"); 4162 assert (GetPathParamsQuery(":#?/") == "/"); 4163 assert (GetPathParamsQuery(":#??") == "/"); 4164 assert (GetPathParamsQuery(":#?;") == "/"); 4165 assert (GetPathParamsQuery(":#?#") == "/"); 4166 assert (GetPathParamsQuery(":#?a") == "/"); 4167 assert (GetPathParamsQuery(":#;") == "/"); 4168 assert (GetPathParamsQuery(":#;:") == "/"); 4169 assert (GetPathParamsQuery(":#;/") == "/"); 4170 assert (GetPathParamsQuery(":#;?") == "/"); 4171 assert (GetPathParamsQuery(":#;;") == "/"); 4172 assert (GetPathParamsQuery(":#;#") == "/"); 4173 assert (GetPathParamsQuery(":#;a") == "/"); 4174 assert (GetPathParamsQuery(":##") == "/"); 4175 assert (GetPathParamsQuery(":##:") == "/"); 4176 assert (GetPathParamsQuery(":##/") == "/"); 4177 assert (GetPathParamsQuery(":##?") == "/"); 4178 assert (GetPathParamsQuery(":##;") == "/"); 4179 assert (GetPathParamsQuery(":###") == "/"); 4180 assert (GetPathParamsQuery(":##a") == "/"); 4181 assert (GetPathParamsQuery(":#a") == "/"); 4182 assert (GetPathParamsQuery(":#a:") == "/"); 4183 assert (GetPathParamsQuery(":#a/") == "/"); 4184 assert (GetPathParamsQuery(":#a?") == "/"); 4185 assert (GetPathParamsQuery(":#a;") == "/"); 4186 assert (GetPathParamsQuery(":#a#") == "/"); 4187 assert (GetPathParamsQuery(":#aa") == "/"); 4188 assert (GetPathParamsQuery(":a") == "/"); 4189 assert (GetPathParamsQuery(":a:") == "/"); 4190 assert (GetPathParamsQuery(":a::") == "/"); 4191 assert (GetPathParamsQuery(":a:/") == "/"); 4192 assert (GetPathParamsQuery(":a:?") == "/?"); 4193 assert (GetPathParamsQuery(":a:;") == "/;"); 4194 assert (GetPathParamsQuery(":a:#") == "/"); 4195 assert (GetPathParamsQuery(":a:a") == "/"); 4196 assert (GetPathParamsQuery(":a/") == "/"); 4197 assert (GetPathParamsQuery(":a/:") == "/:"); 4198 assert (GetPathParamsQuery(":a//") == "//"); 4199 assert (GetPathParamsQuery(":a/?") == "/?"); 4200 assert (GetPathParamsQuery(":a/;") == "/;"); 4201 assert (GetPathParamsQuery(":a/#") == "/"); 4202 assert (GetPathParamsQuery(":a/a") == "/a"); 4203 assert (GetPathParamsQuery(":a?") == "/?"); 4204 assert (GetPathParamsQuery(":a?:") == "/?:"); 4205 assert (GetPathParamsQuery(":a?/") == "/?/"); 4206 assert (GetPathParamsQuery(":a??") == "/??"); 4207 assert (GetPathParamsQuery(":a?;") == "/?;"); 4208 assert (GetPathParamsQuery(":a?#") == "/?"); 4209 assert (GetPathParamsQuery(":a?a") == "/?a"); 4210 assert (GetPathParamsQuery(":a;") == "/;"); 4211 assert (GetPathParamsQuery(":a;:") == "/;:"); 4212 assert (GetPathParamsQuery(":a;/") == "/;/"); 4213 assert (GetPathParamsQuery(":a;?") == "/;?"); 4214 assert (GetPathParamsQuery(":a;;") == "/;;"); 4215 assert (GetPathParamsQuery(":a;#") == "/;"); 4216 assert (GetPathParamsQuery(":a;a") == "/;a"); 4217 assert (GetPathParamsQuery(":a#") == "/"); 4218 assert (GetPathParamsQuery(":a#:") == "/"); 4219 assert (GetPathParamsQuery(":a#/") == "/"); 4220 assert (GetPathParamsQuery(":a#?") == "/"); 4221 assert (GetPathParamsQuery(":a#;") == "/"); 4222 assert (GetPathParamsQuery(":a##") == "/"); 4223 assert (GetPathParamsQuery(":a#a") == "/"); 4224 assert (GetPathParamsQuery(":aa") == "/"); 4225 assert (GetPathParamsQuery(":aa:") == "/"); 4226 assert (GetPathParamsQuery(":aa/") == "/"); 4227 assert (GetPathParamsQuery(":aa?") == "/?"); 4228 assert (GetPathParamsQuery(":aa;") == "/;"); 4229 assert (GetPathParamsQuery(":aa#") == "/"); 4230 assert (GetPathParamsQuery(":aaa") == "/"); 4231 assert (GetPathParamsQuery("/") == "/"); 4232 assert (GetPathParamsQuery("/:") == "/:"); 4233 assert (GetPathParamsQuery("/::") == "/::"); 4234 assert (GetPathParamsQuery("/:::") == "/:::"); 4235 assert (GetPathParamsQuery("/::/") == "/::/"); 4236 assert (GetPathParamsQuery("/::?") == "/::?"); 4237 assert (GetPathParamsQuery("/::;") == "/::;"); 4238 assert (GetPathParamsQuery("/::#") == "/::"); 4239 assert (GetPathParamsQuery("/::a") == "/::a"); 4240 assert (GetPathParamsQuery("/:/") == "/:/"); 4241 assert (GetPathParamsQuery("/:/:") == "/:/:"); 4242 assert (GetPathParamsQuery("/://") == "/://"); 4243 assert (GetPathParamsQuery("/:/?") == "/:/?"); 4244 assert (GetPathParamsQuery("/:/;") == "/:/;"); 4245 assert (GetPathParamsQuery("/:/#") == "/:/"); 4246 assert (GetPathParamsQuery("/:/a") == "/:/a"); 4247 assert (GetPathParamsQuery("/:?") == "/:?"); 4248 assert (GetPathParamsQuery("/:?:") == "/:?:"); 4249 assert (GetPathParamsQuery("/:?/") == "/:?/"); 4250 assert (GetPathParamsQuery("/:??") == "/:??"); 4251 assert (GetPathParamsQuery("/:?;") == "/:?;"); 4252 assert (GetPathParamsQuery("/:?#") == "/:?"); 4253 assert (GetPathParamsQuery("/:?a") == "/:?a"); 4254 assert (GetPathParamsQuery("/:;") == "/:;"); 4255 assert (GetPathParamsQuery("/:;:") == "/:;:"); 4256 assert (GetPathParamsQuery("/:;/") == "/:;/"); 4257 assert (GetPathParamsQuery("/:;?") == "/:;?"); 4258 assert (GetPathParamsQuery("/:;;") == "/:;;"); 4259 assert (GetPathParamsQuery("/:;#") == "/:;"); 4260 assert (GetPathParamsQuery("/:;a") == "/:;a"); 4261 assert (GetPathParamsQuery("/:#") == "/:"); 4262 assert (GetPathParamsQuery("/:#:") == "/:"); 4263 assert (GetPathParamsQuery("/:#/") == "/:"); 4264 assert (GetPathParamsQuery("/:#?") == "/:"); 4265 assert (GetPathParamsQuery("/:#;") == "/:"); 4266 assert (GetPathParamsQuery("/:##") == "/:"); 4267 assert (GetPathParamsQuery("/:#a") == "/:"); 4268 assert (GetPathParamsQuery("/:a") == "/:a"); 4269 assert (GetPathParamsQuery("/:a:") == "/:a:"); 4270 assert (GetPathParamsQuery("/:a/") == "/:a/"); 4271 assert (GetPathParamsQuery("/:a?") == "/:a?"); 4272 assert (GetPathParamsQuery("/:a;") == "/:a;"); 4273 assert (GetPathParamsQuery("/:a#") == "/:a"); 4274 assert (GetPathParamsQuery("/:aa") == "/:aa"); 4275 assert (GetPathParamsQuery("//") == "/"); 4276 assert (GetPathParamsQuery("//:") == "/"); 4277 assert (GetPathParamsQuery("//::") == "/"); 4278 assert (GetPathParamsQuery("//:/") == "/"); 4279 assert (GetPathParamsQuery("//:?") == "/?"); 4280 assert (GetPathParamsQuery("//:;") == "/;"); 4281 assert (GetPathParamsQuery("//:#") == "/"); 4282 assert (GetPathParamsQuery("//:a") == "/"); 4283 assert (GetPathParamsQuery("///") == "/"); 4284 assert (GetPathParamsQuery("///:") == "/:"); 4285 assert (GetPathParamsQuery("////") == "//"); 4286 assert (GetPathParamsQuery("///?") == "/?"); 4287 assert (GetPathParamsQuery("///;") == "/;"); 4288 assert (GetPathParamsQuery("///#") == "/"); 4289 assert (GetPathParamsQuery("///a") == "/a"); 4290 assert (GetPathParamsQuery("//?") == "/?"); 4291 assert (GetPathParamsQuery("//?:") == "/?:"); 4292 assert (GetPathParamsQuery("//?/") == "/?/"); 4293 assert (GetPathParamsQuery("//??") == "/??"); 4294 assert (GetPathParamsQuery("//?;") == "/?;"); 4295 assert (GetPathParamsQuery("//?#") == "/?"); 4296 assert (GetPathParamsQuery("//?a") == "/?a"); 4297 assert (GetPathParamsQuery("//;") == "/;"); 4298 assert (GetPathParamsQuery("//;:") == "/;:"); 4299 assert (GetPathParamsQuery("//;/") == "/;/"); 4300 assert (GetPathParamsQuery("//;?") == "/;?"); 4301 assert (GetPathParamsQuery("//;;") == "/;;"); 4302 assert (GetPathParamsQuery("//;#") == "/;"); 4303 assert (GetPathParamsQuery("//;a") == "/;a"); 4304 assert (GetPathParamsQuery("//#") == "/"); 4305 assert (GetPathParamsQuery("//#:") == "/"); 4306 assert (GetPathParamsQuery("//#/") == "/"); 4307 assert (GetPathParamsQuery("//#?") == "/"); 4308 assert (GetPathParamsQuery("//#;") == "/"); 4309 assert (GetPathParamsQuery("//##") == "/"); 4310 assert (GetPathParamsQuery("//#a") == "/"); 4311 assert (GetPathParamsQuery("//a") == "/"); 4312 assert (GetPathParamsQuery("//a:") == "/"); 4313 assert (GetPathParamsQuery("//a/") == "/"); 4314 assert (GetPathParamsQuery("//a?") == "/?"); 4315 assert (GetPathParamsQuery("//a;") == "/;"); 4316 assert (GetPathParamsQuery("//a#") == "/"); 4317 assert (GetPathParamsQuery("//aa") == "/"); 4318 assert (GetPathParamsQuery("/?") == "/?"); 4319 assert (GetPathParamsQuery("/?:") == "/?:"); 4320 assert (GetPathParamsQuery("/?::") == "/?::"); 4321 assert (GetPathParamsQuery("/?:/") == "/?:/"); 4322 assert (GetPathParamsQuery("/?:?") == "/?:?"); 4323 assert (GetPathParamsQuery("/?:;") == "/?:;"); 4324 assert (GetPathParamsQuery("/?:#") == "/?:"); 4325 assert (GetPathParamsQuery("/?:a") == "/?:a"); 4326 assert (GetPathParamsQuery("/?/") == "/?/"); 4327 assert (GetPathParamsQuery("/?/:") == "/?/:"); 4328 assert (GetPathParamsQuery("/?//") == "/?//"); 4329 assert (GetPathParamsQuery("/?/?") == "/?/?"); 4330 assert (GetPathParamsQuery("/?/;") == "/?/;"); 4331 assert (GetPathParamsQuery("/?/#") == "/?/"); 4332 assert (GetPathParamsQuery("/?/a") == "/?/a"); 4333 assert (GetPathParamsQuery("/??") == "/??"); 4334 assert (GetPathParamsQuery("/??:") == "/??:"); 4335 assert (GetPathParamsQuery("/??/") == "/??/"); 4336 assert (GetPathParamsQuery("/???") == "/???"); 4337 assert (GetPathParamsQuery("/??;") == "/??;"); 4338 assert (GetPathParamsQuery("/??#") == "/??"); 4339 assert (GetPathParamsQuery("/??a") == "/??a"); 4340 assert (GetPathParamsQuery("/?;") == "/?;"); 4341 assert (GetPathParamsQuery("/?;:") == "/?;:"); 4342 assert (GetPathParamsQuery("/?;/") == "/?;/"); 4343 assert (GetPathParamsQuery("/?;?") == "/?;?"); 4344 assert (GetPathParamsQuery("/?;;") == "/?;;"); 4345 assert (GetPathParamsQuery("/?;#") == "/?;"); 4346 assert (GetPathParamsQuery("/?;a") == "/?;a"); 4347 assert (GetPathParamsQuery("/?#") == "/?"); 4348 assert (GetPathParamsQuery("/?#:") == "/?"); 4349 assert (GetPathParamsQuery("/?#/") == "/?"); 4350 assert (GetPathParamsQuery("/?#?") == "/?"); 4351 assert (GetPathParamsQuery("/?#;") == "/?"); 4352 assert (GetPathParamsQuery("/?##") == "/?"); 4353 assert (GetPathParamsQuery("/?#a") == "/?"); 4354 assert (GetPathParamsQuery("/?a") == "/?a"); 4355 assert (GetPathParamsQuery("/?a:") == "/?a:"); 4356 assert (GetPathParamsQuery("/?a/") == "/?a/"); 4357 assert (GetPathParamsQuery("/?a?") == "/?a?"); 4358 assert (GetPathParamsQuery("/?a;") == "/?a;"); 4359 assert (GetPathParamsQuery("/?a#") == "/?a"); 4360 assert (GetPathParamsQuery("/?aa") == "/?aa"); 4361 assert (GetPathParamsQuery("/;") == "/;"); 4362 assert (GetPathParamsQuery("/;:") == "/;:"); 4363 assert (GetPathParamsQuery("/;::") == "/;::"); 4364 assert (GetPathParamsQuery("/;:/") == "/;:/"); 4365 assert (GetPathParamsQuery("/;:?") == "/;:?"); 4366 assert (GetPathParamsQuery("/;:;") == "/;:;"); 4367 assert (GetPathParamsQuery("/;:#") == "/;:"); 4368 assert (GetPathParamsQuery("/;:a") == "/;:a"); 4369 assert (GetPathParamsQuery("/;/") == "/;/"); 4370 assert (GetPathParamsQuery("/;/:") == "/;/:"); 4371 assert (GetPathParamsQuery("/;//") == "/;//"); 4372 assert (GetPathParamsQuery("/;/?") == "/;/?"); 4373 assert (GetPathParamsQuery("/;/;") == "/;/;"); 4374 assert (GetPathParamsQuery("/;/#") == "/;/"); 4375 assert (GetPathParamsQuery("/;/a") == "/;/a"); 4376 assert (GetPathParamsQuery("/;?") == "/;?"); 4377 assert (GetPathParamsQuery("/;?:") == "/;?:"); 4378 assert (GetPathParamsQuery("/;?/") == "/;?/"); 4379 assert (GetPathParamsQuery("/;??") == "/;??"); 4380 assert (GetPathParamsQuery("/;?;") == "/;?;"); 4381 assert (GetPathParamsQuery("/;?#") == "/;?"); 4382 assert (GetPathParamsQuery("/;?a") == "/;?a"); 4383 assert (GetPathParamsQuery("/;;") == "/;;"); 4384 assert (GetPathParamsQuery("/;;:") == "/;;:"); 4385 assert (GetPathParamsQuery("/;;/") == "/;;/"); 4386 assert (GetPathParamsQuery("/;;?") == "/;;?"); 4387 assert (GetPathParamsQuery("/;;;") == "/;;;"); 4388 assert (GetPathParamsQuery("/;;#") == "/;;"); 4389 assert (GetPathParamsQuery("/;;a") == "/;;a"); 4390 assert (GetPathParamsQuery("/;#") == "/;"); 4391 assert (GetPathParamsQuery("/;#:") == "/;"); 4392 assert (GetPathParamsQuery("/;#/") == "/;"); 4393 assert (GetPathParamsQuery("/;#?") == "/;"); 4394 assert (GetPathParamsQuery("/;#;") == "/;"); 4395 assert (GetPathParamsQuery("/;##") == "/;"); 4396 assert (GetPathParamsQuery("/;#a") == "/;"); 4397 assert (GetPathParamsQuery("/;a") == "/;a"); 4398 assert (GetPathParamsQuery("/;a:") == "/;a:"); 4399 assert (GetPathParamsQuery("/;a/") == "/;a/"); 4400 assert (GetPathParamsQuery("/;a?") == "/;a?"); 4401 assert (GetPathParamsQuery("/;a;") == "/;a;"); 4402 assert (GetPathParamsQuery("/;a#") == "/;a"); 4403 assert (GetPathParamsQuery("/;aa") == "/;aa"); 4404 assert (GetPathParamsQuery("/#") == "/"); 4405 assert (GetPathParamsQuery("/#:") == "/"); 4406 assert (GetPathParamsQuery("/#::") == "/"); 4407 assert (GetPathParamsQuery("/#:/") == "/"); 4408 assert (GetPathParamsQuery("/#:?") == "/"); 4409 assert (GetPathParamsQuery("/#:;") == "/"); 4410 assert (GetPathParamsQuery("/#:#") == "/"); 4411 assert (GetPathParamsQuery("/#:a") == "/"); 4412 assert (GetPathParamsQuery("/#/") == "/"); 4413 assert (GetPathParamsQuery("/#/:") == "/"); 4414 assert (GetPathParamsQuery("/#//") == "/"); 4415 assert (GetPathParamsQuery("/#/?") == "/"); 4416 assert (GetPathParamsQuery("/#/;") == "/"); 4417 assert (GetPathParamsQuery("/#/#") == "/"); 4418 assert (GetPathParamsQuery("/#/a") == "/"); 4419 assert (GetPathParamsQuery("/#?") == "/"); 4420 assert (GetPathParamsQuery("/#?:") == "/"); 4421 assert (GetPathParamsQuery("/#?/") == "/"); 4422 assert (GetPathParamsQuery("/#??") == "/"); 4423 assert (GetPathParamsQuery("/#?;") == "/"); 4424 assert (GetPathParamsQuery("/#?#") == "/"); 4425 assert (GetPathParamsQuery("/#?a") == "/"); 4426 assert (GetPathParamsQuery("/#;") == "/"); 4427 assert (GetPathParamsQuery("/#;:") == "/"); 4428 assert (GetPathParamsQuery("/#;/") == "/"); 4429 assert (GetPathParamsQuery("/#;?") == "/"); 4430 assert (GetPathParamsQuery("/#;;") == "/"); 4431 assert (GetPathParamsQuery("/#;#") == "/"); 4432 assert (GetPathParamsQuery("/#;a") == "/"); 4433 assert (GetPathParamsQuery("/##") == "/"); 4434 assert (GetPathParamsQuery("/##:") == "/"); 4435 assert (GetPathParamsQuery("/##/") == "/"); 4436 assert (GetPathParamsQuery("/##?") == "/"); 4437 assert (GetPathParamsQuery("/##;") == "/"); 4438 assert (GetPathParamsQuery("/###") == "/"); 4439 assert (GetPathParamsQuery("/##a") == "/"); 4440 assert (GetPathParamsQuery("/#a") == "/"); 4441 assert (GetPathParamsQuery("/#a:") == "/"); 4442 assert (GetPathParamsQuery("/#a/") == "/"); 4443 assert (GetPathParamsQuery("/#a?") == "/"); 4444 assert (GetPathParamsQuery("/#a;") == "/"); 4445 assert (GetPathParamsQuery("/#a#") == "/"); 4446 assert (GetPathParamsQuery("/#aa") == "/"); 4447 assert (GetPathParamsQuery("/a") == "/a"); 4448 assert (GetPathParamsQuery("/a:") == "/a:"); 4449 assert (GetPathParamsQuery("/a::") == "/a::"); 4450 assert (GetPathParamsQuery("/a:/") == "/a:/"); 4451 assert (GetPathParamsQuery("/a:?") == "/a:?"); 4452 assert (GetPathParamsQuery("/a:;") == "/a:;"); 4453 assert (GetPathParamsQuery("/a:#") == "/a:"); 4454 assert (GetPathParamsQuery("/a:a") == "/a:a"); 4455 assert (GetPathParamsQuery("/a/") == "/a/"); 4456 assert (GetPathParamsQuery("/a/:") == "/a/:"); 4457 assert (GetPathParamsQuery("/a//") == "/a//"); 4458 assert (GetPathParamsQuery("/a/?") == "/a/?"); 4459 assert (GetPathParamsQuery("/a/;") == "/a/;"); 4460 assert (GetPathParamsQuery("/a/#") == "/a/"); 4461 assert (GetPathParamsQuery("/a/a") == "/a/a"); 4462 assert (GetPathParamsQuery("/a?") == "/a?"); 4463 assert (GetPathParamsQuery("/a?:") == "/a?:"); 4464 assert (GetPathParamsQuery("/a?/") == "/a?/"); 4465 assert (GetPathParamsQuery("/a??") == "/a??"); 4466 assert (GetPathParamsQuery("/a?;") == "/a?;"); 4467 assert (GetPathParamsQuery("/a?#") == "/a?"); 4468 assert (GetPathParamsQuery("/a?a") == "/a?a"); 4469 assert (GetPathParamsQuery("/a;") == "/a;"); 4470 assert (GetPathParamsQuery("/a;:") == "/a;:"); 4471 assert (GetPathParamsQuery("/a;/") == "/a;/"); 4472 assert (GetPathParamsQuery("/a;?") == "/a;?"); 4473 assert (GetPathParamsQuery("/a;;") == "/a;;"); 4474 assert (GetPathParamsQuery("/a;#") == "/a;"); 4475 assert (GetPathParamsQuery("/a;a") == "/a;a"); 4476 assert (GetPathParamsQuery("/a#") == "/a"); 4477 assert (GetPathParamsQuery("/a#:") == "/a"); 4478 assert (GetPathParamsQuery("/a#/") == "/a"); 4479 assert (GetPathParamsQuery("/a#?") == "/a"); 4480 assert (GetPathParamsQuery("/a#;") == "/a"); 4481 assert (GetPathParamsQuery("/a##") == "/a"); 4482 assert (GetPathParamsQuery("/a#a") == "/a"); 4483 assert (GetPathParamsQuery("/aa") == "/aa"); 4484 assert (GetPathParamsQuery("/aa:") == "/aa:"); 4485 assert (GetPathParamsQuery("/aa/") == "/aa/"); 4486 assert (GetPathParamsQuery("/aa?") == "/aa?"); 4487 assert (GetPathParamsQuery("/aa;") == "/aa;"); 4488 assert (GetPathParamsQuery("/aa#") == "/aa"); 4489 assert (GetPathParamsQuery("/aaa") == "/aaa"); 4490 assert (GetPathParamsQuery("?") == "/?"); 4491 assert (GetPathParamsQuery("?:") == "/?:"); 4492 assert (GetPathParamsQuery("?::") == "/?::"); 4493 assert (GetPathParamsQuery("?:::") == "/?:::"); 4494 assert (GetPathParamsQuery("?::/") == "/?::/"); 4495 assert (GetPathParamsQuery("?::?") == "/?::?"); 4496 assert (GetPathParamsQuery("?::;") == "/?::;"); 4497 assert (GetPathParamsQuery("?::#") == "/?::"); 4498 assert (GetPathParamsQuery("?::a") == "/?::a"); 4499 assert (GetPathParamsQuery("?:/") == "/?:/"); 4500 assert (GetPathParamsQuery("?:/:") == "/?:/:"); 4501 assert (GetPathParamsQuery("?://") == "/?://"); 4502 assert (GetPathParamsQuery("?:/?") == "/?:/?"); 4503 assert (GetPathParamsQuery("?:/;") == "/?:/;"); 4504 assert (GetPathParamsQuery("?:/#") == "/?:/"); 4505 assert (GetPathParamsQuery("?:/a") == "/?:/a"); 4506 assert (GetPathParamsQuery("?:?") == "/?:?"); 4507 assert (GetPathParamsQuery("?:?:") == "/?:?:"); 4508 assert (GetPathParamsQuery("?:?/") == "/?:?/"); 4509 assert (GetPathParamsQuery("?:??") == "/?:??"); 4510 assert (GetPathParamsQuery("?:?;") == "/?:?;"); 4511 assert (GetPathParamsQuery("?:?#") == "/?:?"); 4512 assert (GetPathParamsQuery("?:?a") == "/?:?a"); 4513 assert (GetPathParamsQuery("?:;") == "/?:;"); 4514 assert (GetPathParamsQuery("?:;:") == "/?:;:"); 4515 assert (GetPathParamsQuery("?:;/") == "/?:;/"); 4516 assert (GetPathParamsQuery("?:;?") == "/?:;?"); 4517 assert (GetPathParamsQuery("?:;;") == "/?:;;"); 4518 assert (GetPathParamsQuery("?:;#") == "/?:;"); 4519 assert (GetPathParamsQuery("?:;a") == "/?:;a"); 4520 assert (GetPathParamsQuery("?:#") == "/?:"); 4521 assert (GetPathParamsQuery("?:#:") == "/?:"); 4522 assert (GetPathParamsQuery("?:#/") == "/?:"); 4523 assert (GetPathParamsQuery("?:#?") == "/?:"); 4524 assert (GetPathParamsQuery("?:#;") == "/?:"); 4525 assert (GetPathParamsQuery("?:##") == "/?:"); 4526 assert (GetPathParamsQuery("?:#a") == "/?:"); 4527 assert (GetPathParamsQuery("?:a") == "/?:a"); 4528 assert (GetPathParamsQuery("?:a:") == "/?:a:"); 4529 assert (GetPathParamsQuery("?:a/") == "/?:a/"); 4530 assert (GetPathParamsQuery("?:a?") == "/?:a?"); 4531 assert (GetPathParamsQuery("?:a;") == "/?:a;"); 4532 assert (GetPathParamsQuery("?:a#") == "/?:a"); 4533 assert (GetPathParamsQuery("?:aa") == "/?:aa"); 4534 assert (GetPathParamsQuery("?/") == "/?/"); 4535 assert (GetPathParamsQuery("?/:") == "/?/:"); 4536 assert (GetPathParamsQuery("?/::") == "/?/::"); 4537 assert (GetPathParamsQuery("?/:/") == "/?/:/"); 4538 assert (GetPathParamsQuery("?/:?") == "/?/:?"); 4539 assert (GetPathParamsQuery("?/:;") == "/?/:;"); 4540 assert (GetPathParamsQuery("?/:#") == "/?/:"); 4541 assert (GetPathParamsQuery("?/:a") == "/?/:a"); 4542 assert (GetPathParamsQuery("?//") == "/?//"); 4543 assert (GetPathParamsQuery("?//:") == "/?//:"); 4544 assert (GetPathParamsQuery("?///") == "/?///"); 4545 assert (GetPathParamsQuery("?//?") == "/?//?"); 4546 assert (GetPathParamsQuery("?//;") == "/?//;"); 4547 assert (GetPathParamsQuery("?//#") == "/?//"); 4548 assert (GetPathParamsQuery("?//a") == "/?//a"); 4549 assert (GetPathParamsQuery("?/?") == "/?/?"); 4550 assert (GetPathParamsQuery("?/?:") == "/?/?:"); 4551 assert (GetPathParamsQuery("?/?/") == "/?/?/"); 4552 assert (GetPathParamsQuery("?/??") == "/?/??"); 4553 assert (GetPathParamsQuery("?/?;") == "/?/?;"); 4554 assert (GetPathParamsQuery("?/?#") == "/?/?"); 4555 assert (GetPathParamsQuery("?/?a") == "/?/?a"); 4556 assert (GetPathParamsQuery("?/;") == "/?/;"); 4557 assert (GetPathParamsQuery("?/;:") == "/?/;:"); 4558 assert (GetPathParamsQuery("?/;/") == "/?/;/"); 4559 assert (GetPathParamsQuery("?/;?") == "/?/;?"); 4560 assert (GetPathParamsQuery("?/;;") == "/?/;;"); 4561 assert (GetPathParamsQuery("?/;#") == "/?/;"); 4562 assert (GetPathParamsQuery("?/;a") == "/?/;a"); 4563 assert (GetPathParamsQuery("?/#") == "/?/"); 4564 assert (GetPathParamsQuery("?/#:") == "/?/"); 4565 assert (GetPathParamsQuery("?/#/") == "/?/"); 4566 assert (GetPathParamsQuery("?/#?") == "/?/"); 4567 assert (GetPathParamsQuery("?/#;") == "/?/"); 4568 assert (GetPathParamsQuery("?/##") == "/?/"); 4569 assert (GetPathParamsQuery("?/#a") == "/?/"); 4570 assert (GetPathParamsQuery("?/a") == "/?/a"); 4571 assert (GetPathParamsQuery("?/a:") == "/?/a:"); 4572 assert (GetPathParamsQuery("?/a/") == "/?/a/"); 4573 assert (GetPathParamsQuery("?/a?") == "/?/a?"); 4574 assert (GetPathParamsQuery("?/a;") == "/?/a;"); 4575 assert (GetPathParamsQuery("?/a#") == "/?/a"); 4576 assert (GetPathParamsQuery("?/aa") == "/?/aa"); 4577 assert (GetPathParamsQuery("??") == "/??"); 4578 assert (GetPathParamsQuery("??:") == "/??:"); 4579 assert (GetPathParamsQuery("??::") == "/??::"); 4580 assert (GetPathParamsQuery("??:/") == "/??:/"); 4581 assert (GetPathParamsQuery("??:?") == "/??:?"); 4582 assert (GetPathParamsQuery("??:;") == "/??:;"); 4583 assert (GetPathParamsQuery("??:#") == "/??:"); 4584 assert (GetPathParamsQuery("??:a") == "/??:a"); 4585 assert (GetPathParamsQuery("??/") == "/??/"); 4586 assert (GetPathParamsQuery("??/:") == "/??/:"); 4587 assert (GetPathParamsQuery("??//") == "/??//"); 4588 assert (GetPathParamsQuery("??/?") == "/??/?"); 4589 assert (GetPathParamsQuery("??/;") == "/??/;"); 4590 assert (GetPathParamsQuery("??/#") == "/??/"); 4591 assert (GetPathParamsQuery("??/a") == "/??/a"); 4592 assert (GetPathParamsQuery("???") == "/???"); 4593 assert (GetPathParamsQuery("???:") == "/???:"); 4594 assert (GetPathParamsQuery("???/") == "/???/"); 4595 assert (GetPathParamsQuery("????") == "/????"); 4596 assert (GetPathParamsQuery("???;") == "/???;"); 4597 assert (GetPathParamsQuery("???#") == "/???"); 4598 assert (GetPathParamsQuery("???a") == "/???a"); 4599 assert (GetPathParamsQuery("??;") == "/??;"); 4600 assert (GetPathParamsQuery("??;:") == "/??;:"); 4601 assert (GetPathParamsQuery("??;/") == "/??;/"); 4602 assert (GetPathParamsQuery("??;?") == "/??;?"); 4603 assert (GetPathParamsQuery("??;;") == "/??;;"); 4604 assert (GetPathParamsQuery("??;#") == "/??;"); 4605 assert (GetPathParamsQuery("??;a") == "/??;a"); 4606 assert (GetPathParamsQuery("??#") == "/??"); 4607 assert (GetPathParamsQuery("??#:") == "/??"); 4608 assert (GetPathParamsQuery("??#/") == "/??"); 4609 assert (GetPathParamsQuery("??#?") == "/??"); 4610 assert (GetPathParamsQuery("??#;") == "/??"); 4611 assert (GetPathParamsQuery("??##") == "/??"); 4612 assert (GetPathParamsQuery("??#a") == "/??"); 4613 assert (GetPathParamsQuery("??a") == "/??a"); 4614 assert (GetPathParamsQuery("??a:") == "/??a:"); 4615 assert (GetPathParamsQuery("??a/") == "/??a/"); 4616 assert (GetPathParamsQuery("??a?") == "/??a?"); 4617 assert (GetPathParamsQuery("??a;") == "/??a;"); 4618 assert (GetPathParamsQuery("??a#") == "/??a"); 4619 assert (GetPathParamsQuery("??aa") == "/??aa"); 4620 assert (GetPathParamsQuery("?;") == "/?;"); 4621 assert (GetPathParamsQuery("?;:") == "/?;:"); 4622 assert (GetPathParamsQuery("?;::") == "/?;::"); 4623 assert (GetPathParamsQuery("?;:/") == "/?;:/"); 4624 assert (GetPathParamsQuery("?;:?") == "/?;:?"); 4625 assert (GetPathParamsQuery("?;:;") == "/?;:;"); 4626 assert (GetPathParamsQuery("?;:#") == "/?;:"); 4627 assert (GetPathParamsQuery("?;:a") == "/?;:a"); 4628 assert (GetPathParamsQuery("?;/") == "/?;/"); 4629 assert (GetPathParamsQuery("?;/:") == "/?;/:"); 4630 assert (GetPathParamsQuery("?;//") == "/?;//"); 4631 assert (GetPathParamsQuery("?;/?") == "/?;/?"); 4632 assert (GetPathParamsQuery("?;/;") == "/?;/;"); 4633 assert (GetPathParamsQuery("?;/#") == "/?;/"); 4634 assert (GetPathParamsQuery("?;/a") == "/?;/a"); 4635 assert (GetPathParamsQuery("?;?") == "/?;?"); 4636 assert (GetPathParamsQuery("?;?:") == "/?;?:"); 4637 assert (GetPathParamsQuery("?;?/") == "/?;?/"); 4638 assert (GetPathParamsQuery("?;??") == "/?;??"); 4639 assert (GetPathParamsQuery("?;?;") == "/?;?;"); 4640 assert (GetPathParamsQuery("?;?#") == "/?;?"); 4641 assert (GetPathParamsQuery("?;?a") == "/?;?a"); 4642 assert (GetPathParamsQuery("?;;") == "/?;;"); 4643 assert (GetPathParamsQuery("?;;:") == "/?;;:"); 4644 assert (GetPathParamsQuery("?;;/") == "/?;;/"); 4645 assert (GetPathParamsQuery("?;;?") == "/?;;?"); 4646 assert (GetPathParamsQuery("?;;;") == "/?;;;"); 4647 assert (GetPathParamsQuery("?;;#") == "/?;;"); 4648 assert (GetPathParamsQuery("?;;a") == "/?;;a"); 4649 assert (GetPathParamsQuery("?;#") == "/?;"); 4650 assert (GetPathParamsQuery("?;#:") == "/?;"); 4651 assert (GetPathParamsQuery("?;#/") == "/?;"); 4652 assert (GetPathParamsQuery("?;#?") == "/?;"); 4653 assert (GetPathParamsQuery("?;#;") == "/?;"); 4654 assert (GetPathParamsQuery("?;##") == "/?;"); 4655 assert (GetPathParamsQuery("?;#a") == "/?;"); 4656 assert (GetPathParamsQuery("?;a") == "/?;a"); 4657 assert (GetPathParamsQuery("?;a:") == "/?;a:"); 4658 assert (GetPathParamsQuery("?;a/") == "/?;a/"); 4659 assert (GetPathParamsQuery("?;a?") == "/?;a?"); 4660 assert (GetPathParamsQuery("?;a;") == "/?;a;"); 4661 assert (GetPathParamsQuery("?;a#") == "/?;a"); 4662 assert (GetPathParamsQuery("?;aa") == "/?;aa"); 4663 assert (GetPathParamsQuery("?#") == "/?"); 4664 assert (GetPathParamsQuery("?#:") == "/?"); 4665 assert (GetPathParamsQuery("?#::") == "/?"); 4666 assert (GetPathParamsQuery("?#:/") == "/?"); 4667 assert (GetPathParamsQuery("?#:?") == "/?"); 4668 assert (GetPathParamsQuery("?#:;") == "/?"); 4669 assert (GetPathParamsQuery("?#:#") == "/?"); 4670 assert (GetPathParamsQuery("?#:a") == "/?"); 4671 assert (GetPathParamsQuery("?#/") == "/?"); 4672 assert (GetPathParamsQuery("?#/:") == "/?"); 4673 assert (GetPathParamsQuery("?#//") == "/?"); 4674 assert (GetPathParamsQuery("?#/?") == "/?"); 4675 assert (GetPathParamsQuery("?#/;") == "/?"); 4676 assert (GetPathParamsQuery("?#/#") == "/?"); 4677 assert (GetPathParamsQuery("?#/a") == "/?"); 4678 assert (GetPathParamsQuery("?#?") == "/?"); 4679 assert (GetPathParamsQuery("?#?:") == "/?"); 4680 assert (GetPathParamsQuery("?#?/") == "/?"); 4681 assert (GetPathParamsQuery("?#??") == "/?"); 4682 assert (GetPathParamsQuery("?#?;") == "/?"); 4683 assert (GetPathParamsQuery("?#?#") == "/?"); 4684 assert (GetPathParamsQuery("?#?a") == "/?"); 4685 assert (GetPathParamsQuery("?#;") == "/?"); 4686 assert (GetPathParamsQuery("?#;:") == "/?"); 4687 assert (GetPathParamsQuery("?#;/") == "/?"); 4688 assert (GetPathParamsQuery("?#;?") == "/?"); 4689 assert (GetPathParamsQuery("?#;;") == "/?"); 4690 assert (GetPathParamsQuery("?#;#") == "/?"); 4691 assert (GetPathParamsQuery("?#;a") == "/?"); 4692 assert (GetPathParamsQuery("?##") == "/?"); 4693 assert (GetPathParamsQuery("?##:") == "/?"); 4694 assert (GetPathParamsQuery("?##/") == "/?"); 4695 assert (GetPathParamsQuery("?##?") == "/?"); 4696 assert (GetPathParamsQuery("?##;") == "/?"); 4697 assert (GetPathParamsQuery("?###") == "/?"); 4698 assert (GetPathParamsQuery("?##a") == "/?"); 4699 assert (GetPathParamsQuery("?#a") == "/?"); 4700 assert (GetPathParamsQuery("?#a:") == "/?"); 4701 assert (GetPathParamsQuery("?#a/") == "/?"); 4702 assert (GetPathParamsQuery("?#a?") == "/?"); 4703 assert (GetPathParamsQuery("?#a;") == "/?"); 4704 assert (GetPathParamsQuery("?#a#") == "/?"); 4705 assert (GetPathParamsQuery("?#aa") == "/?"); 4706 assert (GetPathParamsQuery("?a") == "/?a"); 4707 assert (GetPathParamsQuery("?a:") == "/?a:"); 4708 assert (GetPathParamsQuery("?a::") == "/?a::"); 4709 assert (GetPathParamsQuery("?a:/") == "/?a:/"); 4710 assert (GetPathParamsQuery("?a:?") == "/?a:?"); 4711 assert (GetPathParamsQuery("?a:;") == "/?a:;"); 4712 assert (GetPathParamsQuery("?a:#") == "/?a:"); 4713 assert (GetPathParamsQuery("?a:a") == "/?a:a"); 4714 assert (GetPathParamsQuery("?a/") == "/?a/"); 4715 assert (GetPathParamsQuery("?a/:") == "/?a/:"); 4716 assert (GetPathParamsQuery("?a//") == "/?a//"); 4717 assert (GetPathParamsQuery("?a/?") == "/?a/?"); 4718 assert (GetPathParamsQuery("?a/;") == "/?a/;"); 4719 assert (GetPathParamsQuery("?a/#") == "/?a/"); 4720 assert (GetPathParamsQuery("?a/a") == "/?a/a"); 4721 assert (GetPathParamsQuery("?a?") == "/?a?"); 4722 assert (GetPathParamsQuery("?a?:") == "/?a?:"); 4723 assert (GetPathParamsQuery("?a?/") == "/?a?/"); 4724 assert (GetPathParamsQuery("?a??") == "/?a??"); 4725 assert (GetPathParamsQuery("?a?;") == "/?a?;"); 4726 assert (GetPathParamsQuery("?a?#") == "/?a?"); 4727 assert (GetPathParamsQuery("?a?a") == "/?a?a"); 4728 assert (GetPathParamsQuery("?a;") == "/?a;"); 4729 assert (GetPathParamsQuery("?a;:") == "/?a;:"); 4730 assert (GetPathParamsQuery("?a;/") == "/?a;/"); 4731 assert (GetPathParamsQuery("?a;?") == "/?a;?"); 4732 assert (GetPathParamsQuery("?a;;") == "/?a;;"); 4733 assert (GetPathParamsQuery("?a;#") == "/?a;"); 4734 assert (GetPathParamsQuery("?a;a") == "/?a;a"); 4735 assert (GetPathParamsQuery("?a#") == "/?a"); 4736 assert (GetPathParamsQuery("?a#:") == "/?a"); 4737 assert (GetPathParamsQuery("?a#/") == "/?a"); 4738 assert (GetPathParamsQuery("?a#?") == "/?a"); 4739 assert (GetPathParamsQuery("?a#;") == "/?a"); 4740 assert (GetPathParamsQuery("?a##") == "/?a"); 4741 assert (GetPathParamsQuery("?a#a") == "/?a"); 4742 assert (GetPathParamsQuery("?aa") == "/?aa"); 4743 assert (GetPathParamsQuery("?aa:") == "/?aa:"); 4744 assert (GetPathParamsQuery("?aa/") == "/?aa/"); 4745 assert (GetPathParamsQuery("?aa?") == "/?aa?"); 4746 assert (GetPathParamsQuery("?aa;") == "/?aa;"); 4747 assert (GetPathParamsQuery("?aa#") == "/?aa"); 4748 assert (GetPathParamsQuery("?aaa") == "/?aaa"); 4749 assert (GetPathParamsQuery(";") == "/;"); 4750 assert (GetPathParamsQuery(";:") == "/;:"); 4751 assert (GetPathParamsQuery(";::") == "/;::"); 4752 assert (GetPathParamsQuery(";:::") == "/;:::"); 4753 assert (GetPathParamsQuery(";::/") == "/;::/"); 4754 assert (GetPathParamsQuery(";::?") == "/;::?"); 4755 assert (GetPathParamsQuery(";::;") == "/;::;"); 4756 assert (GetPathParamsQuery(";::#") == "/;::"); 4757 assert (GetPathParamsQuery(";::a") == "/;::a"); 4758 assert (GetPathParamsQuery(";:/") == "/;:/"); 4759 assert (GetPathParamsQuery(";:/:") == "/;:/:"); 4760 assert (GetPathParamsQuery(";://") == "/;://"); 4761 assert (GetPathParamsQuery(";:/?") == "/;:/?"); 4762 assert (GetPathParamsQuery(";:/;") == "/;:/;"); 4763 assert (GetPathParamsQuery(";:/#") == "/;:/"); 4764 assert (GetPathParamsQuery(";:/a") == "/;:/a"); 4765 assert (GetPathParamsQuery(";:?") == "/;:?"); 4766 assert (GetPathParamsQuery(";:?:") == "/;:?:"); 4767 assert (GetPathParamsQuery(";:?/") == "/;:?/"); 4768 assert (GetPathParamsQuery(";:??") == "/;:??"); 4769 assert (GetPathParamsQuery(";:?;") == "/;:?;"); 4770 assert (GetPathParamsQuery(";:?#") == "/;:?"); 4771 assert (GetPathParamsQuery(";:?a") == "/;:?a"); 4772 assert (GetPathParamsQuery(";:;") == "/;:;"); 4773 assert (GetPathParamsQuery(";:;:") == "/;:;:"); 4774 assert (GetPathParamsQuery(";:;/") == "/;:;/"); 4775 assert (GetPathParamsQuery(";:;?") == "/;:;?"); 4776 assert (GetPathParamsQuery(";:;;") == "/;:;;"); 4777 assert (GetPathParamsQuery(";:;#") == "/;:;"); 4778 assert (GetPathParamsQuery(";:;a") == "/;:;a"); 4779 assert (GetPathParamsQuery(";:#") == "/;:"); 4780 assert (GetPathParamsQuery(";:#:") == "/;:"); 4781 assert (GetPathParamsQuery(";:#/") == "/;:"); 4782 assert (GetPathParamsQuery(";:#?") == "/;:"); 4783 assert (GetPathParamsQuery(";:#;") == "/;:"); 4784 assert (GetPathParamsQuery(";:##") == "/;:"); 4785 assert (GetPathParamsQuery(";:#a") == "/;:"); 4786 assert (GetPathParamsQuery(";:a") == "/;:a"); 4787 assert (GetPathParamsQuery(";:a:") == "/;:a:"); 4788 assert (GetPathParamsQuery(";:a/") == "/;:a/"); 4789 assert (GetPathParamsQuery(";:a?") == "/;:a?"); 4790 assert (GetPathParamsQuery(";:a;") == "/;:a;"); 4791 assert (GetPathParamsQuery(";:a#") == "/;:a"); 4792 assert (GetPathParamsQuery(";:aa") == "/;:aa"); 4793 assert (GetPathParamsQuery(";/") == "/;/"); 4794 assert (GetPathParamsQuery(";/:") == "/;/:"); 4795 assert (GetPathParamsQuery(";/::") == "/;/::"); 4796 assert (GetPathParamsQuery(";/:/") == "/;/:/"); 4797 assert (GetPathParamsQuery(";/:?") == "/;/:?"); 4798 assert (GetPathParamsQuery(";/:;") == "/;/:;"); 4799 assert (GetPathParamsQuery(";/:#") == "/;/:"); 4800 assert (GetPathParamsQuery(";/:a") == "/;/:a"); 4801 assert (GetPathParamsQuery(";//") == "/;//"); 4802 assert (GetPathParamsQuery(";//:") == "/;//:"); 4803 assert (GetPathParamsQuery(";///") == "/;///"); 4804 assert (GetPathParamsQuery(";//?") == "/;//?"); 4805 assert (GetPathParamsQuery(";//;") == "/;//;"); 4806 assert (GetPathParamsQuery(";//#") == "/;//"); 4807 assert (GetPathParamsQuery(";//a") == "/;//a"); 4808 assert (GetPathParamsQuery(";/?") == "/;/?"); 4809 assert (GetPathParamsQuery(";/?:") == "/;/?:"); 4810 assert (GetPathParamsQuery(";/?/") == "/;/?/"); 4811 assert (GetPathParamsQuery(";/??") == "/;/??"); 4812 assert (GetPathParamsQuery(";/?;") == "/;/?;"); 4813 assert (GetPathParamsQuery(";/?#") == "/;/?"); 4814 assert (GetPathParamsQuery(";/?a") == "/;/?a"); 4815 assert (GetPathParamsQuery(";/;") == "/;/;"); 4816 assert (GetPathParamsQuery(";/;:") == "/;/;:"); 4817 assert (GetPathParamsQuery(";/;/") == "/;/;/"); 4818 assert (GetPathParamsQuery(";/;?") == "/;/;?"); 4819 assert (GetPathParamsQuery(";/;;") == "/;/;;"); 4820 assert (GetPathParamsQuery(";/;#") == "/;/;"); 4821 assert (GetPathParamsQuery(";/;a") == "/;/;a"); 4822 assert (GetPathParamsQuery(";/#") == "/;/"); 4823 assert (GetPathParamsQuery(";/#:") == "/;/"); 4824 assert (GetPathParamsQuery(";/#/") == "/;/"); 4825 assert (GetPathParamsQuery(";/#?") == "/;/"); 4826 assert (GetPathParamsQuery(";/#;") == "/;/"); 4827 assert (GetPathParamsQuery(";/##") == "/;/"); 4828 assert (GetPathParamsQuery(";/#a") == "/;/"); 4829 assert (GetPathParamsQuery(";/a") == "/;/a"); 4830 assert (GetPathParamsQuery(";/a:") == "/;/a:"); 4831 assert (GetPathParamsQuery(";/a/") == "/;/a/"); 4832 assert (GetPathParamsQuery(";/a?") == "/;/a?"); 4833 assert (GetPathParamsQuery(";/a;") == "/;/a;"); 4834 assert (GetPathParamsQuery(";/a#") == "/;/a"); 4835 assert (GetPathParamsQuery(";/aa") == "/;/aa"); 4836 assert (GetPathParamsQuery(";?") == "/;?"); 4837 assert (GetPathParamsQuery(";?:") == "/;?:"); 4838 assert (GetPathParamsQuery(";?::") == "/;?::"); 4839 assert (GetPathParamsQuery(";?:/") == "/;?:/"); 4840 assert (GetPathParamsQuery(";?:?") == "/;?:?"); 4841 assert (GetPathParamsQuery(";?:;") == "/;?:;"); 4842 assert (GetPathParamsQuery(";?:#") == "/;?:"); 4843 assert (GetPathParamsQuery(";?:a") == "/;?:a"); 4844 assert (GetPathParamsQuery(";?/") == "/;?/"); 4845 assert (GetPathParamsQuery(";?/:") == "/;?/:"); 4846 assert (GetPathParamsQuery(";?//") == "/;?//"); 4847 assert (GetPathParamsQuery(";?/?") == "/;?/?"); 4848 assert (GetPathParamsQuery(";?/;") == "/;?/;"); 4849 assert (GetPathParamsQuery(";?/#") == "/;?/"); 4850 assert (GetPathParamsQuery(";?/a") == "/;?/a"); 4851 assert (GetPathParamsQuery(";??") == "/;??"); 4852 assert (GetPathParamsQuery(";??:") == "/;??:"); 4853 assert (GetPathParamsQuery(";??/") == "/;??/"); 4854 assert (GetPathParamsQuery(";???") == "/;???"); 4855 assert (GetPathParamsQuery(";??;") == "/;??;"); 4856 assert (GetPathParamsQuery(";??#") == "/;??"); 4857 assert (GetPathParamsQuery(";??a") == "/;??a"); 4858 assert (GetPathParamsQuery(";?;") == "/;?;"); 4859 assert (GetPathParamsQuery(";?;:") == "/;?;:"); 4860 assert (GetPathParamsQuery(";?;/") == "/;?;/"); 4861 assert (GetPathParamsQuery(";?;?") == "/;?;?"); 4862 assert (GetPathParamsQuery(";?;;") == "/;?;;"); 4863 assert (GetPathParamsQuery(";?;#") == "/;?;"); 4864 assert (GetPathParamsQuery(";?;a") == "/;?;a"); 4865 assert (GetPathParamsQuery(";?#") == "/;?"); 4866 assert (GetPathParamsQuery(";?#:") == "/;?"); 4867 assert (GetPathParamsQuery(";?#/") == "/;?"); 4868 assert (GetPathParamsQuery(";?#?") == "/;?"); 4869 assert (GetPathParamsQuery(";?#;") == "/;?"); 4870 assert (GetPathParamsQuery(";?##") == "/;?"); 4871 assert (GetPathParamsQuery(";?#a") == "/;?"); 4872 assert (GetPathParamsQuery(";?a") == "/;?a"); 4873 assert (GetPathParamsQuery(";?a:") == "/;?a:"); 4874 assert (GetPathParamsQuery(";?a/") == "/;?a/"); 4875 assert (GetPathParamsQuery(";?a?") == "/;?a?"); 4876 assert (GetPathParamsQuery(";?a;") == "/;?a;"); 4877 assert (GetPathParamsQuery(";?a#") == "/;?a"); 4878 assert (GetPathParamsQuery(";?aa") == "/;?aa"); 4879 assert (GetPathParamsQuery(";;") == "/;;"); 4880 assert (GetPathParamsQuery(";;:") == "/;;:"); 4881 assert (GetPathParamsQuery(";;::") == "/;;::"); 4882 assert (GetPathParamsQuery(";;:/") == "/;;:/"); 4883 assert (GetPathParamsQuery(";;:?") == "/;;:?"); 4884 assert (GetPathParamsQuery(";;:;") == "/;;:;"); 4885 assert (GetPathParamsQuery(";;:#") == "/;;:"); 4886 assert (GetPathParamsQuery(";;:a") == "/;;:a"); 4887 assert (GetPathParamsQuery(";;/") == "/;;/"); 4888 assert (GetPathParamsQuery(";;/:") == "/;;/:"); 4889 assert (GetPathParamsQuery(";;//") == "/;;//"); 4890 assert (GetPathParamsQuery(";;/?") == "/;;/?"); 4891 assert (GetPathParamsQuery(";;/;") == "/;;/;"); 4892 assert (GetPathParamsQuery(";;/#") == "/;;/"); 4893 assert (GetPathParamsQuery(";;/a") == "/;;/a"); 4894 assert (GetPathParamsQuery(";;?") == "/;;?"); 4895 assert (GetPathParamsQuery(";;?:") == "/;;?:"); 4896 assert (GetPathParamsQuery(";;?/") == "/;;?/"); 4897 assert (GetPathParamsQuery(";;??") == "/;;??"); 4898 assert (GetPathParamsQuery(";;?;") == "/;;?;"); 4899 assert (GetPathParamsQuery(";;?#") == "/;;?"); 4900 assert (GetPathParamsQuery(";;?a") == "/;;?a"); 4901 assert (GetPathParamsQuery(";;;") == "/;;;"); 4902 assert (GetPathParamsQuery(";;;:") == "/;;;:"); 4903 assert (GetPathParamsQuery(";;;/") == "/;;;/"); 4904 assert (GetPathParamsQuery(";;;?") == "/;;;?"); 4905 assert (GetPathParamsQuery(";;;;") == "/;;;;"); 4906 assert (GetPathParamsQuery(";;;#") == "/;;;"); 4907 assert (GetPathParamsQuery(";;;a") == "/;;;a"); 4908 assert (GetPathParamsQuery(";;#") == "/;;"); 4909 assert (GetPathParamsQuery(";;#:") == "/;;"); 4910 assert (GetPathParamsQuery(";;#/") == "/;;"); 4911 assert (GetPathParamsQuery(";;#?") == "/;;"); 4912 assert (GetPathParamsQuery(";;#;") == "/;;"); 4913 assert (GetPathParamsQuery(";;##") == "/;;"); 4914 assert (GetPathParamsQuery(";;#a") == "/;;"); 4915 assert (GetPathParamsQuery(";;a") == "/;;a"); 4916 assert (GetPathParamsQuery(";;a:") == "/;;a:"); 4917 assert (GetPathParamsQuery(";;a/") == "/;;a/"); 4918 assert (GetPathParamsQuery(";;a?") == "/;;a?"); 4919 assert (GetPathParamsQuery(";;a;") == "/;;a;"); 4920 assert (GetPathParamsQuery(";;a#") == "/;;a"); 4921 assert (GetPathParamsQuery(";;aa") == "/;;aa"); 4922 assert (GetPathParamsQuery(";#") == "/;"); 4923 assert (GetPathParamsQuery(";#:") == "/;"); 4924 assert (GetPathParamsQuery(";#::") == "/;"); 4925 assert (GetPathParamsQuery(";#:/") == "/;"); 4926 assert (GetPathParamsQuery(";#:?") == "/;"); 4927 assert (GetPathParamsQuery(";#:;") == "/;"); 4928 assert (GetPathParamsQuery(";#:#") == "/;"); 4929 assert (GetPathParamsQuery(";#:a") == "/;"); 4930 assert (GetPathParamsQuery(";#/") == "/;"); 4931 assert (GetPathParamsQuery(";#/:") == "/;"); 4932 assert (GetPathParamsQuery(";#//") == "/;"); 4933 assert (GetPathParamsQuery(";#/?") == "/;"); 4934 assert (GetPathParamsQuery(";#/;") == "/;"); 4935 assert (GetPathParamsQuery(";#/#") == "/;"); 4936 assert (GetPathParamsQuery(";#/a") == "/;"); 4937 assert (GetPathParamsQuery(";#?") == "/;"); 4938 assert (GetPathParamsQuery(";#?:") == "/;"); 4939 assert (GetPathParamsQuery(";#?/") == "/;"); 4940 assert (GetPathParamsQuery(";#??") == "/;"); 4941 assert (GetPathParamsQuery(";#?;") == "/;"); 4942 assert (GetPathParamsQuery(";#?#") == "/;"); 4943 assert (GetPathParamsQuery(";#?a") == "/;"); 4944 assert (GetPathParamsQuery(";#;") == "/;"); 4945 assert (GetPathParamsQuery(";#;:") == "/;"); 4946 assert (GetPathParamsQuery(";#;/") == "/;"); 4947 assert (GetPathParamsQuery(";#;?") == "/;"); 4948 assert (GetPathParamsQuery(";#;;") == "/;"); 4949 assert (GetPathParamsQuery(";#;#") == "/;"); 4950 assert (GetPathParamsQuery(";#;a") == "/;"); 4951 assert (GetPathParamsQuery(";##") == "/;"); 4952 assert (GetPathParamsQuery(";##:") == "/;"); 4953 assert (GetPathParamsQuery(";##/") == "/;"); 4954 assert (GetPathParamsQuery(";##?") == "/;"); 4955 assert (GetPathParamsQuery(";##;") == "/;"); 4956 assert (GetPathParamsQuery(";###") == "/;"); 4957 assert (GetPathParamsQuery(";##a") == "/;"); 4958 assert (GetPathParamsQuery(";#a") == "/;"); 4959 assert (GetPathParamsQuery(";#a:") == "/;"); 4960 assert (GetPathParamsQuery(";#a/") == "/;"); 4961 assert (GetPathParamsQuery(";#a?") == "/;"); 4962 assert (GetPathParamsQuery(";#a;") == "/;"); 4963 assert (GetPathParamsQuery(";#a#") == "/;"); 4964 assert (GetPathParamsQuery(";#aa") == "/;"); 4965 assert (GetPathParamsQuery(";a") == "/;a"); 4966 assert (GetPathParamsQuery(";a:") == "/;a:"); 4967 assert (GetPathParamsQuery(";a::") == "/;a::"); 4968 assert (GetPathParamsQuery(";a:/") == "/;a:/"); 4969 assert (GetPathParamsQuery(";a:?") == "/;a:?"); 4970 assert (GetPathParamsQuery(";a:;") == "/;a:;"); 4971 assert (GetPathParamsQuery(";a:#") == "/;a:"); 4972 assert (GetPathParamsQuery(";a:a") == "/;a:a"); 4973 assert (GetPathParamsQuery(";a/") == "/;a/"); 4974 assert (GetPathParamsQuery(";a/:") == "/;a/:"); 4975 assert (GetPathParamsQuery(";a//") == "/;a//"); 4976 assert (GetPathParamsQuery(";a/?") == "/;a/?"); 4977 assert (GetPathParamsQuery(";a/;") == "/;a/;"); 4978 assert (GetPathParamsQuery(";a/#") == "/;a/"); 4979 assert (GetPathParamsQuery(";a/a") == "/;a/a"); 4980 assert (GetPathParamsQuery(";a?") == "/;a?"); 4981 assert (GetPathParamsQuery(";a?:") == "/;a?:"); 4982 assert (GetPathParamsQuery(";a?/") == "/;a?/"); 4983 assert (GetPathParamsQuery(";a??") == "/;a??"); 4984 assert (GetPathParamsQuery(";a?;") == "/;a?;"); 4985 assert (GetPathParamsQuery(";a?#") == "/;a?"); 4986 assert (GetPathParamsQuery(";a?a") == "/;a?a"); 4987 assert (GetPathParamsQuery(";a;") == "/;a;"); 4988 assert (GetPathParamsQuery(";a;:") == "/;a;:"); 4989 assert (GetPathParamsQuery(";a;/") == "/;a;/"); 4990 assert (GetPathParamsQuery(";a;?") == "/;a;?"); 4991 assert (GetPathParamsQuery(";a;;") == "/;a;;"); 4992 assert (GetPathParamsQuery(";a;#") == "/;a;"); 4993 assert (GetPathParamsQuery(";a;a") == "/;a;a"); 4994 assert (GetPathParamsQuery(";a#") == "/;a"); 4995 assert (GetPathParamsQuery(";a#:") == "/;a"); 4996 assert (GetPathParamsQuery(";a#/") == "/;a"); 4997 assert (GetPathParamsQuery(";a#?") == "/;a"); 4998 assert (GetPathParamsQuery(";a#;") == "/;a"); 4999 assert (GetPathParamsQuery(";a##") == "/;a"); 5000 assert (GetPathParamsQuery(";a#a") == "/;a"); 5001 assert (GetPathParamsQuery(";aa") == "/;aa"); 5002 assert (GetPathParamsQuery(";aa:") == "/;aa:"); 5003 assert (GetPathParamsQuery(";aa/") == "/;aa/"); 5004 assert (GetPathParamsQuery(";aa?") == "/;aa?"); 5005 assert (GetPathParamsQuery(";aa;") == "/;aa;"); 5006 assert (GetPathParamsQuery(";aa#") == "/;aa"); 5007 assert (GetPathParamsQuery(";aaa") == "/;aaa"); 5008 assert (GetPathParamsQuery("#") == "/"); 5009 assert (GetPathParamsQuery("#:") == "/"); 5010 assert (GetPathParamsQuery("#::") == "/"); 5011 assert (GetPathParamsQuery("#:::") == "/"); 5012 assert (GetPathParamsQuery("#::/") == "/"); 5013 assert (GetPathParamsQuery("#::?") == "/"); 5014 assert (GetPathParamsQuery("#::;") == "/"); 5015 assert (GetPathParamsQuery("#::#") == "/"); 5016 assert (GetPathParamsQuery("#::a") == "/"); 5017 assert (GetPathParamsQuery("#:/") == "/"); 5018 assert (GetPathParamsQuery("#:/:") == "/"); 5019 assert (GetPathParamsQuery("#://") == "/"); 5020 assert (GetPathParamsQuery("#:/?") == "/"); 5021 assert (GetPathParamsQuery("#:/;") == "/"); 5022 assert (GetPathParamsQuery("#:/#") == "/"); 5023 assert (GetPathParamsQuery("#:/a") == "/"); 5024 assert (GetPathParamsQuery("#:?") == "/"); 5025 assert (GetPathParamsQuery("#:?:") == "/"); 5026 assert (GetPathParamsQuery("#:?/") == "/"); 5027 assert (GetPathParamsQuery("#:??") == "/"); 5028 assert (GetPathParamsQuery("#:?;") == "/"); 5029 assert (GetPathParamsQuery("#:?#") == "/"); 5030 assert (GetPathParamsQuery("#:?a") == "/"); 5031 assert (GetPathParamsQuery("#:;") == "/"); 5032 assert (GetPathParamsQuery("#:;:") == "/"); 5033 assert (GetPathParamsQuery("#:;/") == "/"); 5034 assert (GetPathParamsQuery("#:;?") == "/"); 5035 assert (GetPathParamsQuery("#:;;") == "/"); 5036 assert (GetPathParamsQuery("#:;#") == "/"); 5037 assert (GetPathParamsQuery("#:;a") == "/"); 5038 assert (GetPathParamsQuery("#:#") == "/"); 5039 assert (GetPathParamsQuery("#:#:") == "/"); 5040 assert (GetPathParamsQuery("#:#/") == "/"); 5041 assert (GetPathParamsQuery("#:#?") == "/"); 5042 assert (GetPathParamsQuery("#:#;") == "/"); 5043 assert (GetPathParamsQuery("#:##") == "/"); 5044 assert (GetPathParamsQuery("#:#a") == "/"); 5045 assert (GetPathParamsQuery("#:a") == "/"); 5046 assert (GetPathParamsQuery("#:a:") == "/"); 5047 assert (GetPathParamsQuery("#:a/") == "/"); 5048 assert (GetPathParamsQuery("#:a?") == "/"); 5049 assert (GetPathParamsQuery("#:a;") == "/"); 5050 assert (GetPathParamsQuery("#:a#") == "/"); 5051 assert (GetPathParamsQuery("#:aa") == "/"); 5052 assert (GetPathParamsQuery("#/") == "/"); 5053 assert (GetPathParamsQuery("#/:") == "/"); 5054 assert (GetPathParamsQuery("#/::") == "/"); 5055 assert (GetPathParamsQuery("#/:/") == "/"); 5056 assert (GetPathParamsQuery("#/:?") == "/"); 5057 assert (GetPathParamsQuery("#/:;") == "/"); 5058 assert (GetPathParamsQuery("#/:#") == "/"); 5059 assert (GetPathParamsQuery("#/:a") == "/"); 5060 assert (GetPathParamsQuery("#//") == "/"); 5061 assert (GetPathParamsQuery("#//:") == "/"); 5062 assert (GetPathParamsQuery("#///") == "/"); 5063 assert (GetPathParamsQuery("#//?") == "/"); 5064 assert (GetPathParamsQuery("#//;") == "/"); 5065 assert (GetPathParamsQuery("#//#") == "/"); 5066 assert (GetPathParamsQuery("#//a") == "/"); 5067 assert (GetPathParamsQuery("#/?") == "/"); 5068 assert (GetPathParamsQuery("#/?:") == "/"); 5069 assert (GetPathParamsQuery("#/?/") == "/"); 5070 assert (GetPathParamsQuery("#/??") == "/"); 5071 assert (GetPathParamsQuery("#/?;") == "/"); 5072 assert (GetPathParamsQuery("#/?#") == "/"); 5073 assert (GetPathParamsQuery("#/?a") == "/"); 5074 assert (GetPathParamsQuery("#/;") == "/"); 5075 assert (GetPathParamsQuery("#/;:") == "/"); 5076 assert (GetPathParamsQuery("#/;/") == "/"); 5077 assert (GetPathParamsQuery("#/;?") == "/"); 5078 assert (GetPathParamsQuery("#/;;") == "/"); 5079 assert (GetPathParamsQuery("#/;#") == "/"); 5080 assert (GetPathParamsQuery("#/;a") == "/"); 5081 assert (GetPathParamsQuery("#/#") == "/"); 5082 assert (GetPathParamsQuery("#/#:") == "/"); 5083 assert (GetPathParamsQuery("#/#/") == "/"); 5084 assert (GetPathParamsQuery("#/#?") == "/"); 5085 assert (GetPathParamsQuery("#/#;") == "/"); 5086 assert (GetPathParamsQuery("#/##") == "/"); 5087 assert (GetPathParamsQuery("#/#a") == "/"); 5088 assert (GetPathParamsQuery("#/a") == "/"); 5089 assert (GetPathParamsQuery("#/a:") == "/"); 5090 assert (GetPathParamsQuery("#/a/") == "/"); 5091 assert (GetPathParamsQuery("#/a?") == "/"); 5092 assert (GetPathParamsQuery("#/a;") == "/"); 5093 assert (GetPathParamsQuery("#/a#") == "/"); 5094 assert (GetPathParamsQuery("#/aa") == "/"); 5095 assert (GetPathParamsQuery("#?") == "/"); 5096 assert (GetPathParamsQuery("#?:") == "/"); 5097 assert (GetPathParamsQuery("#?::") == "/"); 5098 assert (GetPathParamsQuery("#?:/") == "/"); 5099 assert (GetPathParamsQuery("#?:?") == "/"); 5100 assert (GetPathParamsQuery("#?:;") == "/"); 5101 assert (GetPathParamsQuery("#?:#") == "/"); 5102 assert (GetPathParamsQuery("#?:a") == "/"); 5103 assert (GetPathParamsQuery("#?/") == "/"); 5104 assert (GetPathParamsQuery("#?/:") == "/"); 5105 assert (GetPathParamsQuery("#?//") == "/"); 5106 assert (GetPathParamsQuery("#?/?") == "/"); 5107 assert (GetPathParamsQuery("#?/;") == "/"); 5108 assert (GetPathParamsQuery("#?/#") == "/"); 5109 assert (GetPathParamsQuery("#?/a") == "/"); 5110 assert (GetPathParamsQuery("#??") == "/"); 5111 assert (GetPathParamsQuery("#??:") == "/"); 5112 assert (GetPathParamsQuery("#??/") == "/"); 5113 assert (GetPathParamsQuery("#???") == "/"); 5114 assert (GetPathParamsQuery("#??;") == "/"); 5115 assert (GetPathParamsQuery("#??#") == "/"); 5116 assert (GetPathParamsQuery("#??a") == "/"); 5117 assert (GetPathParamsQuery("#?;") == "/"); 5118 assert (GetPathParamsQuery("#?;:") == "/"); 5119 assert (GetPathParamsQuery("#?;/") == "/"); 5120 assert (GetPathParamsQuery("#?;?") == "/"); 5121 assert (GetPathParamsQuery("#?;;") == "/"); 5122 assert (GetPathParamsQuery("#?;#") == "/"); 5123 assert (GetPathParamsQuery("#?;a") == "/"); 5124 assert (GetPathParamsQuery("#?#") == "/"); 5125 assert (GetPathParamsQuery("#?#:") == "/"); 5126 assert (GetPathParamsQuery("#?#/") == "/"); 5127 assert (GetPathParamsQuery("#?#?") == "/"); 5128 assert (GetPathParamsQuery("#?#;") == "/"); 5129 assert (GetPathParamsQuery("#?##") == "/"); 5130 assert (GetPathParamsQuery("#?#a") == "/"); 5131 assert (GetPathParamsQuery("#?a") == "/"); 5132 assert (GetPathParamsQuery("#?a:") == "/"); 5133 assert (GetPathParamsQuery("#?a/") == "/"); 5134 assert (GetPathParamsQuery("#?a?") == "/"); 5135 assert (GetPathParamsQuery("#?a;") == "/"); 5136 assert (GetPathParamsQuery("#?a#") == "/"); 5137 assert (GetPathParamsQuery("#?aa") == "/"); 5138 assert (GetPathParamsQuery("#;") == "/"); 5139 assert (GetPathParamsQuery("#;:") == "/"); 5140 assert (GetPathParamsQuery("#;::") == "/"); 5141 assert (GetPathParamsQuery("#;:/") == "/"); 5142 assert (GetPathParamsQuery("#;:?") == "/"); 5143 assert (GetPathParamsQuery("#;:;") == "/"); 5144 assert (GetPathParamsQuery("#;:#") == "/"); 5145 assert (GetPathParamsQuery("#;:a") == "/"); 5146 assert (GetPathParamsQuery("#;/") == "/"); 5147 assert (GetPathParamsQuery("#;/:") == "/"); 5148 assert (GetPathParamsQuery("#;//") == "/"); 5149 assert (GetPathParamsQuery("#;/?") == "/"); 5150 assert (GetPathParamsQuery("#;/;") == "/"); 5151 assert (GetPathParamsQuery("#;/#") == "/"); 5152 assert (GetPathParamsQuery("#;/a") == "/"); 5153 assert (GetPathParamsQuery("#;?") == "/"); 5154 assert (GetPathParamsQuery("#;?:") == "/"); 5155 assert (GetPathParamsQuery("#;?/") == "/"); 5156 assert (GetPathParamsQuery("#;??") == "/"); 5157 assert (GetPathParamsQuery("#;?;") == "/"); 5158 assert (GetPathParamsQuery("#;?#") == "/"); 5159 assert (GetPathParamsQuery("#;?a") == "/"); 5160 assert (GetPathParamsQuery("#;;") == "/"); 5161 assert (GetPathParamsQuery("#;;:") == "/"); 5162 assert (GetPathParamsQuery("#;;/") == "/"); 5163 assert (GetPathParamsQuery("#;;?") == "/"); 5164 assert (GetPathParamsQuery("#;;;") == "/"); 5165 assert (GetPathParamsQuery("#;;#") == "/"); 5166 assert (GetPathParamsQuery("#;;a") == "/"); 5167 assert (GetPathParamsQuery("#;#") == "/"); 5168 assert (GetPathParamsQuery("#;#:") == "/"); 5169 assert (GetPathParamsQuery("#;#/") == "/"); 5170 assert (GetPathParamsQuery("#;#?") == "/"); 5171 assert (GetPathParamsQuery("#;#;") == "/"); 5172 assert (GetPathParamsQuery("#;##") == "/"); 5173 assert (GetPathParamsQuery("#;#a") == "/"); 5174 assert (GetPathParamsQuery("#;a") == "/"); 5175 assert (GetPathParamsQuery("#;a:") == "/"); 5176 assert (GetPathParamsQuery("#;a/") == "/"); 5177 assert (GetPathParamsQuery("#;a?") == "/"); 5178 assert (GetPathParamsQuery("#;a;") == "/"); 5179 assert (GetPathParamsQuery("#;a#") == "/"); 5180 assert (GetPathParamsQuery("#;aa") == "/"); 5181 assert (GetPathParamsQuery("##") == "/"); 5182 assert (GetPathParamsQuery("##:") == "/"); 5183 assert (GetPathParamsQuery("##::") == "/"); 5184 assert (GetPathParamsQuery("##:/") == "/"); 5185 assert (GetPathParamsQuery("##:?") == "/"); 5186 assert (GetPathParamsQuery("##:;") == "/"); 5187 assert (GetPathParamsQuery("##:#") == "/"); 5188 assert (GetPathParamsQuery("##:a") == "/"); 5189 assert (GetPathParamsQuery("##/") == "/"); 5190 assert (GetPathParamsQuery("##/:") == "/"); 5191 assert (GetPathParamsQuery("##//") == "/"); 5192 assert (GetPathParamsQuery("##/?") == "/"); 5193 assert (GetPathParamsQuery("##/;") == "/"); 5194 assert (GetPathParamsQuery("##/#") == "/"); 5195 assert (GetPathParamsQuery("##/a") == "/"); 5196 assert (GetPathParamsQuery("##?") == "/"); 5197 assert (GetPathParamsQuery("##?:") == "/"); 5198 assert (GetPathParamsQuery("##?/") == "/"); 5199 assert (GetPathParamsQuery("##??") == "/"); 5200 assert (GetPathParamsQuery("##?;") == "/"); 5201 assert (GetPathParamsQuery("##?#") == "/"); 5202 assert (GetPathParamsQuery("##?a") == "/"); 5203 assert (GetPathParamsQuery("##;") == "/"); 5204 assert (GetPathParamsQuery("##;:") == "/"); 5205 assert (GetPathParamsQuery("##;/") == "/"); 5206 assert (GetPathParamsQuery("##;?") == "/"); 5207 assert (GetPathParamsQuery("##;;") == "/"); 5208 assert (GetPathParamsQuery("##;#") == "/"); 5209 assert (GetPathParamsQuery("##;a") == "/"); 5210 assert (GetPathParamsQuery("###") == "/"); 5211 assert (GetPathParamsQuery("###:") == "/"); 5212 assert (GetPathParamsQuery("###/") == "/"); 5213 assert (GetPathParamsQuery("###?") == "/"); 5214 assert (GetPathParamsQuery("###;") == "/"); 5215 assert (GetPathParamsQuery("####") == "/"); 5216 assert (GetPathParamsQuery("###a") == "/"); 5217 assert (GetPathParamsQuery("##a") == "/"); 5218 assert (GetPathParamsQuery("##a:") == "/"); 5219 assert (GetPathParamsQuery("##a/") == "/"); 5220 assert (GetPathParamsQuery("##a?") == "/"); 5221 assert (GetPathParamsQuery("##a;") == "/"); 5222 assert (GetPathParamsQuery("##a#") == "/"); 5223 assert (GetPathParamsQuery("##aa") == "/"); 5224 assert (GetPathParamsQuery("#a") == "/"); 5225 assert (GetPathParamsQuery("#a:") == "/"); 5226 assert (GetPathParamsQuery("#a::") == "/"); 5227 assert (GetPathParamsQuery("#a:/") == "/"); 5228 assert (GetPathParamsQuery("#a:?") == "/"); 5229 assert (GetPathParamsQuery("#a:;") == "/"); 5230 assert (GetPathParamsQuery("#a:#") == "/"); 5231 assert (GetPathParamsQuery("#a:a") == "/"); 5232 assert (GetPathParamsQuery("#a/") == "/"); 5233 assert (GetPathParamsQuery("#a/:") == "/"); 5234 assert (GetPathParamsQuery("#a//") == "/"); 5235 assert (GetPathParamsQuery("#a/?") == "/"); 5236 assert (GetPathParamsQuery("#a/;") == "/"); 5237 assert (GetPathParamsQuery("#a/#") == "/"); 5238 assert (GetPathParamsQuery("#a/a") == "/"); 5239 assert (GetPathParamsQuery("#a?") == "/"); 5240 assert (GetPathParamsQuery("#a?:") == "/"); 5241 assert (GetPathParamsQuery("#a?/") == "/"); 5242 assert (GetPathParamsQuery("#a??") == "/"); 5243 assert (GetPathParamsQuery("#a?;") == "/"); 5244 assert (GetPathParamsQuery("#a?#") == "/"); 5245 assert (GetPathParamsQuery("#a?a") == "/"); 5246 assert (GetPathParamsQuery("#a;") == "/"); 5247 assert (GetPathParamsQuery("#a;:") == "/"); 5248 assert (GetPathParamsQuery("#a;/") == "/"); 5249 assert (GetPathParamsQuery("#a;?") == "/"); 5250 assert (GetPathParamsQuery("#a;;") == "/"); 5251 assert (GetPathParamsQuery("#a;#") == "/"); 5252 assert (GetPathParamsQuery("#a;a") == "/"); 5253 assert (GetPathParamsQuery("#a#") == "/"); 5254 assert (GetPathParamsQuery("#a#:") == "/"); 5255 assert (GetPathParamsQuery("#a#/") == "/"); 5256 assert (GetPathParamsQuery("#a#?") == "/"); 5257 assert (GetPathParamsQuery("#a#;") == "/"); 5258 assert (GetPathParamsQuery("#a##") == "/"); 5259 assert (GetPathParamsQuery("#a#a") == "/"); 5260 assert (GetPathParamsQuery("#aa") == "/"); 5261 assert (GetPathParamsQuery("#aa:") == "/"); 5262 assert (GetPathParamsQuery("#aa/") == "/"); 5263 assert (GetPathParamsQuery("#aa?") == "/"); 5264 assert (GetPathParamsQuery("#aa;") == "/"); 5265 assert (GetPathParamsQuery("#aa#") == "/"); 5266 assert (GetPathParamsQuery("#aaa") == "/"); 5267 assert (GetPathParamsQuery("a") == "/"); 5268 assert (GetPathParamsQuery("a:") == "/"); 5269 assert (GetPathParamsQuery("a::") == "/"); 5270 assert (GetPathParamsQuery("a:::") == "/"); 5271 assert (GetPathParamsQuery("a::/") == "/"); 5272 assert (GetPathParamsQuery("a::?") == "/?"); 5273 assert (GetPathParamsQuery("a::;") == "/;"); 5274 assert (GetPathParamsQuery("a::#") == "/"); 5275 assert (GetPathParamsQuery("a::a") == "/"); 5276 assert (GetPathParamsQuery("a:/") == "/"); 5277 assert (GetPathParamsQuery("a:/:") == "/:"); 5278 assert (GetPathParamsQuery("a://") == "/"); 5279 assert (GetPathParamsQuery("a:/?") == "/?"); 5280 assert (GetPathParamsQuery("a:/;") == "/;"); 5281 assert (GetPathParamsQuery("a:/#") == "/"); 5282 assert (GetPathParamsQuery("a:/a") == "/a"); 5283 assert (GetPathParamsQuery("a:?") == "/?"); 5284 assert (GetPathParamsQuery("a:?:") == "/?:"); 5285 assert (GetPathParamsQuery("a:?/") == "/?/"); 5286 assert (GetPathParamsQuery("a:??") == "/??"); 5287 assert (GetPathParamsQuery("a:?;") == "/?;"); 5288 assert (GetPathParamsQuery("a:?#") == "/?"); 5289 assert (GetPathParamsQuery("a:?a") == "/?a"); 5290 assert (GetPathParamsQuery("a:;") == "/;"); 5291 assert (GetPathParamsQuery("a:;:") == "/;:"); 5292 assert (GetPathParamsQuery("a:;/") == "/;/"); 5293 assert (GetPathParamsQuery("a:;?") == "/;?"); 5294 assert (GetPathParamsQuery("a:;;") == "/;;"); 5295 assert (GetPathParamsQuery("a:;#") == "/;"); 5296 assert (GetPathParamsQuery("a:;a") == "/;a"); 5297 assert (GetPathParamsQuery("a:#") == "/"); 5298 assert (GetPathParamsQuery("a:#:") == "/"); 5299 assert (GetPathParamsQuery("a:#/") == "/"); 5300 assert (GetPathParamsQuery("a:#?") == "/"); 5301 assert (GetPathParamsQuery("a:#;") == "/"); 5302 assert (GetPathParamsQuery("a:##") == "/"); 5303 assert (GetPathParamsQuery("a:#a") == "/"); 5304 assert (GetPathParamsQuery("a:a") == "/"); 5305 assert (GetPathParamsQuery("a:a:") == "/"); 5306 assert (GetPathParamsQuery("a:a/") == "/"); 5307 assert (GetPathParamsQuery("a:a?") == "/?"); 5308 assert (GetPathParamsQuery("a:a;") == "/;"); 5309 assert (GetPathParamsQuery("a:a#") == "/"); 5310 assert (GetPathParamsQuery("a:aa") == "/"); 5311 assert (GetPathParamsQuery("a/") == "/"); 5312 assert (GetPathParamsQuery("a/:") == "/:"); 5313 assert (GetPathParamsQuery("a/::") == "/::"); 5314 assert (GetPathParamsQuery("a/:/") == "/:/"); 5315 assert (GetPathParamsQuery("a/:?") == "/:?"); 5316 assert (GetPathParamsQuery("a/:;") == "/:;"); 5317 assert (GetPathParamsQuery("a/:#") == "/:"); 5318 assert (GetPathParamsQuery("a/:a") == "/:a"); 5319 assert (GetPathParamsQuery("a//") == "//"); 5320 assert (GetPathParamsQuery("a//:") == "//:"); 5321 assert (GetPathParamsQuery("a///") == "///"); 5322 assert (GetPathParamsQuery("a//?") == "//?"); 5323 assert (GetPathParamsQuery("a//;") == "//;"); 5324 assert (GetPathParamsQuery("a//#") == "//"); 5325 assert (GetPathParamsQuery("a//a") == "//a"); 5326 assert (GetPathParamsQuery("a/?") == "/?"); 5327 assert (GetPathParamsQuery("a/?:") == "/?:"); 5328 assert (GetPathParamsQuery("a/?/") == "/?/"); 5329 assert (GetPathParamsQuery("a/??") == "/??"); 5330 assert (GetPathParamsQuery("a/?;") == "/?;"); 5331 assert (GetPathParamsQuery("a/?#") == "/?"); 5332 assert (GetPathParamsQuery("a/?a") == "/?a"); 5333 assert (GetPathParamsQuery("a/;") == "/;"); 5334 assert (GetPathParamsQuery("a/;:") == "/;:"); 5335 assert (GetPathParamsQuery("a/;/") == "/;/"); 5336 assert (GetPathParamsQuery("a/;?") == "/;?"); 5337 assert (GetPathParamsQuery("a/;;") == "/;;"); 5338 assert (GetPathParamsQuery("a/;#") == "/;"); 5339 assert (GetPathParamsQuery("a/;a") == "/;a"); 5340 assert (GetPathParamsQuery("a/#") == "/"); 5341 assert (GetPathParamsQuery("a/#:") == "/"); 5342 assert (GetPathParamsQuery("a/#/") == "/"); 5343 assert (GetPathParamsQuery("a/#?") == "/"); 5344 assert (GetPathParamsQuery("a/#;") == "/"); 5345 assert (GetPathParamsQuery("a/##") == "/"); 5346 assert (GetPathParamsQuery("a/#a") == "/"); 5347 assert (GetPathParamsQuery("a/a") == "/a"); 5348 assert (GetPathParamsQuery("a/a:") == "/a:"); 5349 assert (GetPathParamsQuery("a/a/") == "/a/"); 5350 assert (GetPathParamsQuery("a/a?") == "/a?"); 5351 assert (GetPathParamsQuery("a/a;") == "/a;"); 5352 assert (GetPathParamsQuery("a/a#") == "/a"); 5353 assert (GetPathParamsQuery("a/aa") == "/aa"); 5354 assert (GetPathParamsQuery("a?") == "/?"); 5355 assert (GetPathParamsQuery("a?:") == "/?:"); 5356 assert (GetPathParamsQuery("a?::") == "/?::"); 5357 assert (GetPathParamsQuery("a?:/") == "/?:/"); 5358 assert (GetPathParamsQuery("a?:?") == "/?:?"); 5359 assert (GetPathParamsQuery("a?:;") == "/?:;"); 5360 assert (GetPathParamsQuery("a?:#") == "/?:"); 5361 assert (GetPathParamsQuery("a?:a") == "/?:a"); 5362 assert (GetPathParamsQuery("a?/") == "/?/"); 5363 assert (GetPathParamsQuery("a?/:") == "/?/:"); 5364 assert (GetPathParamsQuery("a?//") == "/?//"); 5365 assert (GetPathParamsQuery("a?/?") == "/?/?"); 5366 assert (GetPathParamsQuery("a?/;") == "/?/;"); 5367 assert (GetPathParamsQuery("a?/#") == "/?/"); 5368 assert (GetPathParamsQuery("a?/a") == "/?/a"); 5369 assert (GetPathParamsQuery("a??") == "/??"); 5370 assert (GetPathParamsQuery("a??:") == "/??:"); 5371 assert (GetPathParamsQuery("a??/") == "/??/"); 5372 assert (GetPathParamsQuery("a???") == "/???"); 5373 assert (GetPathParamsQuery("a??;") == "/??;"); 5374 assert (GetPathParamsQuery("a??#") == "/??"); 5375 assert (GetPathParamsQuery("a??a") == "/??a"); 5376 assert (GetPathParamsQuery("a?;") == "/?;"); 5377 assert (GetPathParamsQuery("a?;:") == "/?;:"); 5378 assert (GetPathParamsQuery("a?;/") == "/?;/"); 5379 assert (GetPathParamsQuery("a?;?") == "/?;?"); 5380 assert (GetPathParamsQuery("a?;;") == "/?;;"); 5381 assert (GetPathParamsQuery("a?;#") == "/?;"); 5382 assert (GetPathParamsQuery("a?;a") == "/?;a"); 5383 assert (GetPathParamsQuery("a?#") == "/?"); 5384 assert (GetPathParamsQuery("a?#:") == "/?"); 5385 assert (GetPathParamsQuery("a?#/") == "/?"); 5386 assert (GetPathParamsQuery("a?#?") == "/?"); 5387 assert (GetPathParamsQuery("a?#;") == "/?"); 5388 assert (GetPathParamsQuery("a?##") == "/?"); 5389 assert (GetPathParamsQuery("a?#a") == "/?"); 5390 assert (GetPathParamsQuery("a?a") == "/?a"); 5391 assert (GetPathParamsQuery("a?a:") == "/?a:"); 5392 assert (GetPathParamsQuery("a?a/") == "/?a/"); 5393 assert (GetPathParamsQuery("a?a?") == "/?a?"); 5394 assert (GetPathParamsQuery("a?a;") == "/?a;"); 5395 assert (GetPathParamsQuery("a?a#") == "/?a"); 5396 assert (GetPathParamsQuery("a?aa") == "/?aa"); 5397 assert (GetPathParamsQuery("a;") == "/;"); 5398 assert (GetPathParamsQuery("a;:") == "/;:"); 5399 assert (GetPathParamsQuery("a;::") == "/;::"); 5400 assert (GetPathParamsQuery("a;:/") == "/;:/"); 5401 assert (GetPathParamsQuery("a;:?") == "/;:?"); 5402 assert (GetPathParamsQuery("a;:;") == "/;:;"); 5403 assert (GetPathParamsQuery("a;:#") == "/;:"); 5404 assert (GetPathParamsQuery("a;:a") == "/;:a"); 5405 assert (GetPathParamsQuery("a;/") == "/;/"); 5406 assert (GetPathParamsQuery("a;/:") == "/;/:"); 5407 assert (GetPathParamsQuery("a;//") == "/;//"); 5408 assert (GetPathParamsQuery("a;/?") == "/;/?"); 5409 assert (GetPathParamsQuery("a;/;") == "/;/;"); 5410 assert (GetPathParamsQuery("a;/#") == "/;/"); 5411 assert (GetPathParamsQuery("a;/a") == "/;/a"); 5412 assert (GetPathParamsQuery("a;?") == "/;?"); 5413 assert (GetPathParamsQuery("a;?:") == "/;?:"); 5414 assert (GetPathParamsQuery("a;?/") == "/;?/"); 5415 assert (GetPathParamsQuery("a;??") == "/;??"); 5416 assert (GetPathParamsQuery("a;?;") == "/;?;"); 5417 assert (GetPathParamsQuery("a;?#") == "/;?"); 5418 assert (GetPathParamsQuery("a;?a") == "/;?a"); 5419 assert (GetPathParamsQuery("a;;") == "/;;"); 5420 assert (GetPathParamsQuery("a;;:") == "/;;:"); 5421 assert (GetPathParamsQuery("a;;/") == "/;;/"); 5422 assert (GetPathParamsQuery("a;;?") == "/;;?"); 5423 assert (GetPathParamsQuery("a;;;") == "/;;;"); 5424 assert (GetPathParamsQuery("a;;#") == "/;;"); 5425 assert (GetPathParamsQuery("a;;a") == "/;;a"); 5426 assert (GetPathParamsQuery("a;#") == "/;"); 5427 assert (GetPathParamsQuery("a;#:") == "/;"); 5428 assert (GetPathParamsQuery("a;#/") == "/;"); 5429 assert (GetPathParamsQuery("a;#?") == "/;"); 5430 assert (GetPathParamsQuery("a;#;") == "/;"); 5431 assert (GetPathParamsQuery("a;##") == "/;"); 5432 assert (GetPathParamsQuery("a;#a") == "/;"); 5433 assert (GetPathParamsQuery("a;a") == "/;a"); 5434 assert (GetPathParamsQuery("a;a:") == "/;a:"); 5435 assert (GetPathParamsQuery("a;a/") == "/;a/"); 5436 assert (GetPathParamsQuery("a;a?") == "/;a?"); 5437 assert (GetPathParamsQuery("a;a;") == "/;a;"); 5438 assert (GetPathParamsQuery("a;a#") == "/;a"); 5439 assert (GetPathParamsQuery("a;aa") == "/;aa"); 5440 assert (GetPathParamsQuery("a#") == "/"); 5441 assert (GetPathParamsQuery("a#:") == "/"); 5442 assert (GetPathParamsQuery("a#::") == "/"); 5443 assert (GetPathParamsQuery("a#:/") == "/"); 5444 assert (GetPathParamsQuery("a#:?") == "/"); 5445 assert (GetPathParamsQuery("a#:;") == "/"); 5446 assert (GetPathParamsQuery("a#:#") == "/"); 5447 assert (GetPathParamsQuery("a#:a") == "/"); 5448 assert (GetPathParamsQuery("a#/") == "/"); 5449 assert (GetPathParamsQuery("a#/:") == "/"); 5450 assert (GetPathParamsQuery("a#//") == "/"); 5451 assert (GetPathParamsQuery("a#/?") == "/"); 5452 assert (GetPathParamsQuery("a#/;") == "/"); 5453 assert (GetPathParamsQuery("a#/#") == "/"); 5454 assert (GetPathParamsQuery("a#/a") == "/"); 5455 assert (GetPathParamsQuery("a#?") == "/"); 5456 assert (GetPathParamsQuery("a#?:") == "/"); 5457 assert (GetPathParamsQuery("a#?/") == "/"); 5458 assert (GetPathParamsQuery("a#??") == "/"); 5459 assert (GetPathParamsQuery("a#?;") == "/"); 5460 assert (GetPathParamsQuery("a#?#") == "/"); 5461 assert (GetPathParamsQuery("a#?a") == "/"); 5462 assert (GetPathParamsQuery("a#;") == "/"); 5463 assert (GetPathParamsQuery("a#;:") == "/"); 5464 assert (GetPathParamsQuery("a#;/") == "/"); 5465 assert (GetPathParamsQuery("a#;?") == "/"); 5466 assert (GetPathParamsQuery("a#;;") == "/"); 5467 assert (GetPathParamsQuery("a#;#") == "/"); 5468 assert (GetPathParamsQuery("a#;a") == "/"); 5469 assert (GetPathParamsQuery("a##") == "/"); 5470 assert (GetPathParamsQuery("a##:") == "/"); 5471 assert (GetPathParamsQuery("a##/") == "/"); 5472 assert (GetPathParamsQuery("a##?") == "/"); 5473 assert (GetPathParamsQuery("a##;") == "/"); 5474 assert (GetPathParamsQuery("a###") == "/"); 5475 assert (GetPathParamsQuery("a##a") == "/"); 5476 assert (GetPathParamsQuery("a#a") == "/"); 5477 assert (GetPathParamsQuery("a#a:") == "/"); 5478 assert (GetPathParamsQuery("a#a/") == "/"); 5479 assert (GetPathParamsQuery("a#a?") == "/"); 5480 assert (GetPathParamsQuery("a#a;") == "/"); 5481 assert (GetPathParamsQuery("a#a#") == "/"); 5482 assert (GetPathParamsQuery("a#aa") == "/"); 5483 assert (GetPathParamsQuery("aa") == "/"); 5484 assert (GetPathParamsQuery("aa:") == "/"); 5485 assert (GetPathParamsQuery("aa::") == "/"); 5486 assert (GetPathParamsQuery("aa:/") == "/"); 5487 assert (GetPathParamsQuery("aa:?") == "/?"); 5488 assert (GetPathParamsQuery("aa:;") == "/;"); 5489 assert (GetPathParamsQuery("aa:#") == "/"); 5490 assert (GetPathParamsQuery("aa:a") == "/"); 5491 assert (GetPathParamsQuery("aa/") == "/"); 5492 assert (GetPathParamsQuery("aa/:") == "/:"); 5493 assert (GetPathParamsQuery("aa//") == "//"); 5494 assert (GetPathParamsQuery("aa/?") == "/?"); 5495 assert (GetPathParamsQuery("aa/;") == "/;"); 5496 assert (GetPathParamsQuery("aa/#") == "/"); 5497 assert (GetPathParamsQuery("aa/a") == "/a"); 5498 assert (GetPathParamsQuery("aa?") == "/?"); 5499 assert (GetPathParamsQuery("aa?:") == "/?:"); 5500 assert (GetPathParamsQuery("aa?/") == "/?/"); 5501 assert (GetPathParamsQuery("aa??") == "/??"); 5502 assert (GetPathParamsQuery("aa?;") == "/?;"); 5503 assert (GetPathParamsQuery("aa?#") == "/?"); 5504 assert (GetPathParamsQuery("aa?a") == "/?a"); 5505 assert (GetPathParamsQuery("aa;") == "/;"); 5506 assert (GetPathParamsQuery("aa;:") == "/;:"); 5507 assert (GetPathParamsQuery("aa;/") == "/;/"); 5508 assert (GetPathParamsQuery("aa;?") == "/;?"); 5509 assert (GetPathParamsQuery("aa;;") == "/;;"); 5510 assert (GetPathParamsQuery("aa;#") == "/;"); 5511 assert (GetPathParamsQuery("aa;a") == "/;a"); 5512 assert (GetPathParamsQuery("aa#") == "/"); 5513 assert (GetPathParamsQuery("aa#:") == "/"); 5514 assert (GetPathParamsQuery("aa#/") == "/"); 5515 assert (GetPathParamsQuery("aa#?") == "/"); 5516 assert (GetPathParamsQuery("aa#;") == "/"); 5517 assert (GetPathParamsQuery("aa##") == "/"); 5518 assert (GetPathParamsQuery("aa#a") == "/"); 5519 assert (GetPathParamsQuery("aaa") == "/"); 5520 assert (GetPathParamsQuery("aaa:") == "/"); 5521 assert (GetPathParamsQuery("aaa/") == "/"); 5522 assert (GetPathParamsQuery("aaa?") == "/?"); 5523 assert (GetPathParamsQuery("aaa;") == "/;"); 5524 assert (GetPathParamsQuery("aaa#") == "/"); 5525 assert (GetPathParamsQuery("aaaa") == "/"); 5526 }