blob: 6721cc7af5f1ba258bba2253431345cc5d084de9 [file] [log] [blame]
Kailash Khalasicdcda3a2015-07-01 17:10:45 +00001<!DOCTYPE html>
2<html>
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5<meta http-equiv="Pragma" content="no-cache">
6<meta http-equiv="Expires" content="-1">
7<meta http-equiv="X-UA-Compatible" content="IE=edge">
8<meta content="Robot Framework 2.8.7 (Python 2.7.10 on linux2)" name="Generator">
9<link rel="icon" type="image/x-icon" href="data:image/x-icon;base64,AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAEAAAAAAAAAAAAAAAJEBoACtnfgA5cYYAERsiAEx2lAAbKkQAcazBACZCVwAcM1cAK0ucAAMDBQAnQncASG+FABkoVQAyWmgA6f8SgvH/Ij99+GLyIinyJfn/Yi//KSLzUy9iZogpIld3/4JVVTkid7vyUjNVNVJEAGOZ6Z7pXwAABpmZkRiLAAAGiJZpmGAAAEEt3SXdxAAATC7o/u3EAAC8MRZpjasAAAY1VVVTYAAABKqqqqpAAAAADKqq4AAAAAAAv4sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMADAADgAwAA4AcAAOAHAADgBwAAwAcAAOAHAADgDwAA8A8AAPg/AAD+fwAA">
10<style media="all" type="text/css">
11/* Generic and misc styles */
12body {
13 font-family: Helvetica, sans-serif;
14 font-size: 0.8em;
15 color: black;
16 padding: 6px;
17 background: white;
18}
19table {
20 table-layout: fixed;
21 word-wrap: break-word;
22 empty-cells: show;
23 font-size: 1em;
24}
25th, td {
26 vertical-align: top;
27}
28br {
29 mso-data-placement: same-cell; /* maintain line breaks in Excel */
30}
31a, a:link, a:visited {
32 text-decoration: none;
33 color: blue;
34}
35a > img {
36 border: 1px solid blue !important;
37}
38a:hover, a:active {
39 text-decoration: underline;
40 color: purple;
41}
42.parent-name {
43 font-size: 0.7em;
44 letter-spacing: -0.07em;
45}
46.message {
47 white-space: pre-wrap;
48}
49/* Headers */
50#header {
51 width: 65em;
52 height: 3em;
53 margin: 6px 0;
54}
55h1 {
56 float: left;
57 margin: 0 0 0.5em 0;
58 width: 75%;
59}
60h2 {
61 clear: left;
62}
63#generated {
64 float: right;
65 text-align: right;
66 font-size: 0.9em;
67 white-space: nowrap;
68}
69/* Documentation headers */
70.doc > h2 {
71 font-size: 1.2em;
72}
73.doc > h3 {
74 font-size: 1.1em;
75}
76.doc > h4 {
77 font-size: 1.0em;
78}
79/* Status text colors -- !important allows using them in links */
80.error, .fail {
81 color: red !important;
82 font-weight: bold;
83}
84.pass {
85 color: #009900 !important;
86}
87.warn {
88 color: #FFCC00 !important;
89 font-weight: bold;
90}
91.not-run {
92 color: #444444 !important;
93}
94/* Top right header */
95#top-right-header {
96 position: fixed;
97 top: 0;
98 right: 0;
99 z-index: 1000;
100 width: 12em;
101 text-align: center;
102}
103#report-or-log-link a {
104 display: block;
105 background: black;
106 color: white;
107 text-decoration: none;
108 letter-spacing: 0.1em;
109 padding: 0.3em 0;
110 border-bottom-left-radius: 4px;
111}
112#report-or-log-link a:hover {
113 color: yellow;
114}
115#log-level-selector {
116 padding: 0.3em 0;
117 font-size: 0.9em;
118 border-bottom-left-radius: 4px;
119 background: lightgray;
120}
121/* Statistics table */
122.statistics {
123 width: 65em;
124 border-collapse: collapse;
125 empty-cells: show;
126 margin-bottom: 1em;
127}
128.statistics tr:hover {
129 background: #ECECF7;
130 cursor: pointer;
131}
132.statistics th, .statistics td {
133 border: 1px solid black;
134 padding: 0.1em 0.3em;
135}
136.statistics th {
137 background-color: #DCDCF0;
138 padding: 0.2em 0.3em;
139}
140.statistics td {
141 vertical-align: middle;
142}
143.stats-col-stat {
144 width: 4.5em;
145 text-align: center;
146}
147.stats-col-elapsed {
148 width: 5.5em;
149 text-align: center;
150}
151.stats-col-graph {
152 width: 9em;
153}
154th.stats-col-graph:hover {
155 cursor: default;
156}
157.stat-name {
158 float: left;
159}
160.stat-name a, .stat-name span {
161 font-weight: bold;
162}
163.tag-links {
164 font-size: 0.9em;
165 float: right;
166 margin-top: 0.05em;
167}
168.tag-links span {
169 margin-left: 0.2em;
170}
171/* Statistics graph */
172.graph, .empty-graph {
173 border: 1px solid black;
174 width: auto;
175 height: 7px;
176 padding: 0;
177 background: red;
178}
179.empty-graph {
180 background: #E9E9E9;
181}
182.pass-bar, .fail-bar {
183 float: left;
184 height: 100%;
185}
186.pass-bar {
187 background: #00F000;
188}
189/* Tablesorter - adapted from provided Blue Skin */
190.tablesorter-header {
191 background-image: url(data:image/gif;base64,R0lGODlhCwAJAIAAAH9/fwAAACH5BAEAAAEALAAAAAALAAkAAAIRjAOnBr3cnIr0WUjTrC9e9BQAOw==);
192 background-repeat: no-repeat;
193 background-position: center right;
194 cursor: pointer;
195}
196.tablesorter-header:hover {
197 background-color: #B8C8E3;
198}
199.tablesorter-headerAsc {
200 background-image: url(data:image/gif;base64,R0lGODlhCwAJAKEAAAAAAH9/fwAAAAAAACH5BAEAAAIALAAAAAALAAkAAAIUlBWnFr3cnIr0WQOyBmvzp13CpxQAOw==);
201 background-color: #B8C8E3 !important;
202}
203.tablesorter-headerDesc {
204 background-image: url(data:image/gif;base64,R0lGODlhCwAJAKEAAAAAAH9/fwAAAAAAACH5BAEAAAIALAAAAAALAAkAAAIUlAWnBr3cnIr0WROyDmvzp13CpxQAOw==);
205 background-color: #B8C8E3 !important;
206}
207.sorter-false {
208 background-image: none;
209 cursor: default;
210}
211.sorter-false:hover {
212 background-color: #DCDCF0;
213}
214</style>
215<style media="all" type="text/css">
216/* Icons are from Open Iconic <https://useiconic.com/open/>.
217 Licensed under the MIT License. */
218/* Containers */
219.suite, .test, #errors {
220 border: 1px solid gray;
221 padding: 0.3em 0.2em;
222 margin: 0.2em 0;
223}
224.test {
225 border-style: dashed;
226}
227#errors, .messages, .metadata {
228 width: 100%;
229 border-spacing: 0;
230}
231.children {
232 display: none;
233 margin-left: 1.4em;
234}
235.suite, .test, .keyword {
236 margin-left: -0.2em;
237}
238#s1, .suite > .children > .keyword {
239 margin-left: 0;
240}
241/* Suite, test and kw headers */
242.element-header {
243 border: 1px solid transparent;
244 border-radius: 2px;
245 position: relative;
246}
247.element-header:hover {
248 cursor: pointer;
249 background-color: #ECECF7;
250 border-color: #BCBCD7;
251}
252.element-header-toggle {
253 position: absolute;
254 left: 3px;
255 top: 4px;
256 background-repeat: no-repeat;
257 background-position: center;
258 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAQAAABKxSfDAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfeCR0JChSkZz20AAAAGklEQVQI12NgQAKMDKzInP8IDhOqMk4G7AAANQwBE427PYUAAAAASUVORK5CYII=);
259 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0wIDB2Mmg4di0yaC04eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAzKSIgLz4KPC9zdmc+), none;
260 height: 10px;
261 width: 10px;
262 background-size: 6px 6px;
263 border: 1px solid black;
264 border-radius: 2px;
265}
266.closed > .element-header-toggle {
267 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAQAAABKxSfDAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfeCR0JCDHdVYtxAAAAM0lEQVQI103MMQqAMBQFwVHyITaB3P+W1sKzSBC3mW6hRFw0pUB5DvF1bu9FN0RM3X/wAk98CUnvFTakAAAAAElFTkSuQmCC);
268 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0zIDB2M2gtM3YyaDN2M2gydi0zaDN2LTJoLTN2LTNoLTJ6IiAvPgo8L3N2Zz4=), none;
269}
270.element-header:hover > .element-header-toggle {
271 background-color: yellow;
272}
273.element-header-right:hover ~ .element-header-toggle {
274 background-color: transparent;
275}
276.element-header-left {
277 padding: 3px 80px 3px 20px;
278}
279.element-header-right {
280 position: absolute;
281 right: 0;
282 top: 0;
283 padding: 3px;
284 cursor: default;
285}
286.name {
287 font-weight: bold;
288}
289.elapsed {
290 float: right;
291 color: #808080;
292 padding-left: 1em;
293}
294.link {
295 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAHlJREFUGJVtzrEJwmAQBtCn6ASuIKTIBhY2gmghBiJYB1udwk10B8FJbKMBcQFbtbkfJHrVwfu+4/idJR64Y9H7E3higj5O3S8Y44ApLnjhnXCNGhV2yNGggDJwiC02gavUbpDFvscRo4QdXOMKDHBufz3HLYKzNn4AbSkV3fncGQYAAAAASUVORK5CYII=);
296 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik01Ljg4LjAzYy0uMTguMDEtLjM2LjAzLS41My4wOS0uMjcuMS0uNTMuMjUtLjc1LjQ3YS41LjUgMCAxIDAgLjY5LjY5Yy4xMS0uMTEuMjQtLjE3LjM4LS4yMi4zNS0uMTIuNzgtLjA3IDEuMDYuMjIuMzkuMzkuMzkgMS4wNCAwIDEuNDRsLTEuNSAxLjVjLS40NC40NC0uOC40OC0xLjA2LjQ3LS4yNi0uMDEtLjQxLS4xMy0uNDEtLjEzYS41LjUgMCAxIDAtLjUuODhzLjM0LjIyLjg0LjI1Yy41LjAzIDEuMi0uMTYgMS44MS0uNzhsMS41LTEuNWMuNzgtLjc4Ljc4LTIuMDQgMC0yLjgxLS4yOC0uMjgtLjYxLS40NS0uOTctLjUzLS4xOC0uMDQtLjM4LS4wNC0uNTYtLjAzem0tMiAyLjMxYy0uNS0uMDItMS4xOS4xNS0xLjc4Ljc1bC0xLjUgMS41Yy0uNzguNzgtLjc4IDIuMDQgMCAyLjgxLjU2LjU2IDEuMzYuNzIgMi4wNi40Ny4yNy0uMS41My0uMjUuNzUtLjQ3YS41LjUgMCAxIDAtLjY5LS42OWMtLjExLjExLS4yNC4xNy0uMzguMjItLjM1LjEyLS43OC4wNy0xLjA2LS4yMi0uMzktLjM5LS4zOS0xLjA0IDAtMS40NGwxLjUtMS41Yy40LS40Ljc1LS40NSAxLjAzLS40NC4yOC4wMS40Ny4wOS40Ny4wOWEuNS41IDAgMSAwIC40NC0uODhzLS4zNC0uMi0uODQtLjIyeiIKICAvPgo8L3N2Zz4=), none;
297}
298.expand {
299 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAADtJREFUGJVjYCACKDAwMByA0ljFDjAwMPxnYGB4ABVQgLL/Q+VQBB6gseGmIivCkERXhFUSWRFOSawAAEl7E3uv1iMcAAAAAElFTkSuQmCC);
300 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0xLjUgMGwtMS41IDEuNSA0IDQgNC00LTEuNS0xLjUtMi41IDIuNS0yLjUtMi41eiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAxKSIgLz4KPC9zdmc+), none;
301}
302.collapse {
303 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAAC5JREFUGJVjYCARNEAxTsn/UIyhCFkSQxG6ThQ+C5IpjWhG1yNb4YDFTdjEMAEACi8Q++9Y9TAAAAAASUVORK5CYII=);
304 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik00IDBsLTQgNCAxLjUgMS41IDIuNS0yLjUgMi41IDIuNSAxLjUtMS41LTQtNHoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMSkiIC8+Cjwvc3ZnPg==), none;
305}
306.expand, .collapse, .link {
307 float: left;
308 display: block;
309 visibility: hidden;
310 margin: 0 4px;
311 height: 14px;
312 width: 14px;
313 background-size: 8px 8px;
314 background-repeat: no-repeat;
315 background-position: center;
316 border: 1px solid black;
317 border-radius: 2px;
318}
319.link {
320 background-size: 10px 10px;
321}
322.element-header:hover a {
323 visibility: visible;
324}
325.expand:hover, .collapse:hover, .link:hover {
326 background-color: yellow;
327}
328/* Messages and errors */
329.messages {
330 font-family: monospace;
331 font-size: 1.1em;
332}
333.message-row {
334 height: 20px;
335}
336.time {
337 width: 8em;
338}
339.error-time {
340 width: 11em;
341 white-space: nowrap;
342}
343.level {
344 width: 4.5em;
345 text-align: center;
346}
347.select-message {
348 width: 24px;
349}
350.select-message > div {
351 float: right;
352 margin-right: 2px;
353 height: 16px;
354 width: 16px;
355 background-size: 12px 12px;
356 background-repeat: no-repeat;
357 background-position: center;
358}
359.message-row:hover .select-message div {
360 background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAQAAAD8fJRsAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfeCR0MOzhWKZQOAAAASUlEQVQY032PsRHAIAwDX9BkicD+W8UMEqegAQJWKZ/+3sLZJhFGQEZzNaIa4ibh66En867VNaIeoP5WppNuIGoAlOm3g5VC1AdYeQv1BZPRSgAAAABJRU5ErkJggg==);
361 background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHZpZXdCb3g9IjAgMCA4IDgiPgogIDxwYXRoIGQ9Ik0wIDB2MWg4di0xaC04em0wIDJ2MWg2di0xaC02em0wIDJ2MWg4di0xaC04em0wIDJ2MWg2di0xaC02eiIgLz4KPC9zdmc+), none;
362 border: 1px solid black;
363 border-radius: 2px;
364}
365.select-message:hover div {
366 background-color: yellow;
367 cursor: pointer;
368}
369/* Message tables - these MUST NOT be combined together because otherwise
370 dynamically altering them based on visible log level is not possible. */
371.trace-message {
372 display: table;
373}
374.debug-message {
375 display: table;
376}
377/* Metadata */
378.metadata th {
379 width: 12.5em;
380 text-align: left;
381 white-space: nowrap;
382 padding: 0;
383}
384.metadata td {
385 padding: 0.2em;
386}
387.keyword-metadata {
388 font-size: 0.9em;
389}
390/* Custom styles for statistics */
391#total-stats tr:hover, #tag-stats tr:hover {
392 cursor: default;
393}
394</style>
395<style media="print" type="text/css">
396body {
397 background: white !important;
398 padding: 0;
399 font-size: 8pt;
400}
401a:link, a:visited {
402 color: black;
403}
404#header {
405 width: auto;
406}
407.details, .statistics {
408 width: 100%;
409}
410#generated-ago, #top-right-header, #normal-selector, #search-buttons,
411.folding-button, .expand, .hidden, .details-col-toggle {
412 display: none;
413}
414.element-header-text, .children {
415 margin: 0;
416}
417#test-details {
418 border-collapse: collapse;
419 table-layout: auto;
420}
421#test-details th, #test-details td {
422 border: 1px solid black;
423}
424.details-col-header {
425 padding: 0;
426}
427#print-selector {
428 display: table-cell;
429}
430.tablesorter-header {
431 background-image: none;
432 background: #DCDCF0 !important;
433}
434</style>
435<style media="all" type="text/css">
436#javascript-disabled {
437 width: 600px;
438 margin: 100px auto 0 auto;
439 padding: 20px;
440 color: #2A2A2E;
441 border: 1px solid #9A9A9E;
442 background: #FAFAFF;
443}
444#javascript-disabled h1 {
445 width: 100%;
446 float: none;
447}
448#javascript-disabled ul {
449 font-size: 1.2em;
450}
451#javascript-disabled li {
452 margin: 0.5em 0;
453}
454#javascript-disabled b {
455 font-style: italic;
456}
457</style>
458<style media="all" type="text/css">
459.doc > * {
460 margin: 0.7em 1em 0.1em 1em;
461 padding: 0;
462}
463.doc > p, .doc > h1, .doc > h2, .doc > h3, .doc > h4 {
464 margin: 0.7em 0 0.1em 0;
465}
466.doc > *:first-child {
467 margin-top: 0.1em;
468}
469.doc table {
470 border: 1px solid gray;
471 background: transparent;
472 border-collapse: collapse;
473 empty-cells: show;
474 font-size: 0.9em;
475}
476.doc table th, .doc table td {
477 border: 1px solid gray;
478 background: transparent;
479 padding: 0.1em 0.3em;
480 height: 1.2em;
481}
482.doc table th {
483 text-align: center;
484 letter-spacing: 0.1em;
485}
486.doc pre {
487 font-size: 1.1em;
488 letter-spacing: 0.05em;
489 background: #F4F4FF;
490}
491.doc code {
492 padding: 0 0.2em;
493 letter-spacing: 0.05em;
494 background: #F4F4FF;
495}
496.doc li {
497 list-style-position: inside;
498 list-style-type: square;
499}
500.doc img {
501 border: 1px solid gray;
502}
503.doc hr {
504 background: gray;
505 height: 1px;
506 border: 0;
507}
508</style>
509<script type="text/javascript">
510var LEVELS = {TRACE: 0, DEBUG: 1, INFO: 2, WARN: 3, FAIL: 4, NONE: 5};
511function toggleSuite(suiteId) {
512 toggleElement(suiteId, ['keyword', 'suite', 'test']);
513}
514function toggleTest(testId) {
515 toggleElement(testId, ['keyword']);
516}
517function toggleKeyword(kwId) {
518 toggleElement(kwId, ['keyword', 'message']);
519}
520function toggleElement(elementId, childrenNames) {
521 var element = $('#' + elementId);
522 var children = element.children('.children');
523 children.toggle(100, '', function () {
524 element.children('.element-header').toggleClass('closed');
525 });
526 populateChildren(elementId, children, childrenNames);
527}
528function populateChildren(elementId, childElement, childrenNames) {
529 if (!childElement.hasClass('populated')) {
530 var element = window.testdata.findLoaded(elementId);
531 var callback = drawCallback(element, childElement, childrenNames);
532 element.callWhenChildrenReady(callback);
533 childElement.addClass('populated');
534 }
535}
536function drawCallback(element, childElement, childrenNames) {
537 return function () {
538 util.map(childrenNames, function (childName) {
539 var children = element[childName + 's']();
540 var template = childName + 'Template';
541 util.map(children, function (child) {
542 $.tmpl(template, child).appendTo(childElement);
543 });
544 });
545 }
546}
547function expandSuite(suite) {
548 if (suite.status == "PASS")
549 expandElement(suite);
550 else
551 expandCriticalFailed(suite);
552}
553function expandElement(item) {
554 var element = $('#' + item.id);
555 var children = element.children('.children');
556 // .css is faster than .show and .show w/ callback is terribly slow
557 children.css({'display': 'block'});
558 populateChildren(item.id, children, item.childrenNames);
559 element.children('.element-header').removeClass('closed');
560}
561function expandElementWithId(elementid) {
562 expandElement(window.testdata.findLoaded(elementid));
563}
564function expandCriticalFailed(element) {
565 if (element.status == "FAIL") {
566 window.elementsToExpand = [element];
567 window.expandDecider = function (e) {
568 return e.status == "FAIL" && (e.isCritical === undefined || e.isCritical);
569 };
570 expandRecursively();
571 }
572}
573function expandAll(elementId) {
574 window.elementsToExpand = [window.testdata.findLoaded(elementId)];
575 window.expandDecider = function () { return true; };
576 expandRecursively();
577}
578function expandRecursively() {
579 if (!window.elementsToExpand.length)
580 return;
581 var element = window.elementsToExpand.pop();
582 if (!element || elementHiddenByUser(element.id)) {
583 window.elementsToExpand = [];
584 return;
585 }
586 expandElement(element);
587 element.callWhenChildrenReady(function () {
588 var children = element.children();
589 for (var i = children.length-1; i >= 0; i--) {
590 if (window.expandDecider(children[i]))
591 window.elementsToExpand.push(children[i]);
592 }
593 if (window.elementsToExpand.length)
594 setTimeout(expandRecursively, 0);
595 });
596}
597function elementHiddenByUser(id) {
598 var element = $('#' + id);
599 return !element.is(":visible");
600}
601function collapseAll(id) {
602 var element = $('#' + id);
603 element.find('.children').css({'display': 'none'});
604 element.find('.element-header').addClass('closed');
605}
606function logLevelSelected(level) {
607 var anchors = getViewAnchorElements();
608 setMessageVisibility(level);
609 scrollToShortestVisibleAnchorElement(anchors);
610}
611function getViewAnchorElements() {
612 var elem1 = $(document.elementFromPoint(100, 0));
613 var elem2 = $(document.elementFromPoint(100, 20));
614 return [elem1, elem2];
615}
616function scrollToShortestVisibleAnchorElement(anchors) {
617 anchors = util.map(anchors, closestVisibleParent);
618 var shortest = anchors[0];
619 for (var i = 1; i < anchors.length; i++)
620 if (shortest.height() > anchors[i].height())
621 shortest = anchors[i];
622 shortest.get()[0].scrollIntoView(true);
623}
624function setMessageVisibility(level) {
625 level = parseInt(level);
626 changeClassDisplay(".trace-message", level <= LEVELS.TRACE);
627 changeClassDisplay(".debug-message", level <= LEVELS.DEBUG);
628 changeClassDisplay(".info-message", level <= LEVELS.INFO);
629}
630function closestVisibleParent(elem) {
631 while (!elem.is(":visible"))
632 elem = elem.parent();
633 return elem;
634}
635function changeClassDisplay(clazz, visible) {
636 var styles = document.styleSheets;
637 for (var i = 0; i < styles.length; i++) {
638 var rules = getRules(styles[i]);
639 if (rules === null)
640 continue;
641 for (var j = 0; j < rules.length; j++)
642 if (rules[j].selectorText === clazz)
643 rules[j].style.display = visible ? "table" : "none";
644 }
645}
646function getRules(style) {
647 // With Chrome external CSS files seem to have only null roles and with
648 // Firefox accessing rules can result to security error.
649 // Neither of these are a problem on with generated logs.
650 try {
651 return style.cssRules || style.rules;
652 } catch (e) {
653 return null;
654 }
655}
656function selectMessage(parentId) {
657 var element = $('#' + parentId).find('.message').get(0);
658 selectText(element);
659}
660function selectText(element) {
661 // Based on http://stackoverflow.com/questions/985272
662 var range, selection;
663 if (document.body.createTextRange) { // IE 8
664 range = document.body.createTextRange();
665 range.moveToElementText(element);
666 range.select();
667 } else if (window.getSelection) { // Others
668 selection = window.getSelection();
669 range = document.createRange();
670 range.selectNodeContents(element);
671 selection.removeAllRanges();
672 selection.addRange(range);
673 }
674}
675function LogLevelController(minLevel, defaultLevel) {
676 minLevel = LEVELS[minLevel];
677 defaultLevel = LEVELS[defaultLevel];
678 function showLogLevelSelector() {
679 return minLevel < LEVELS.INFO;
680 }
681 function defaultLogLevel() {
682 if (minLevel > defaultLevel)
683 return minLevel;
684 return defaultLevel;
685 }
686 function showTrace() {
687 return minLevel == LEVELS.TRACE;
688 }
689 return {
690 showLogLevelSelector: showLogLevelSelector,
691 defaultLogLevel: defaultLogLevel,
692 showTrace: showTrace
693 };
694}
695</script>
696<script type="text/javascript">
697/*! jQuery v1.8.3 jquery.com | jquery.org/license */
698(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r<i;r++)v.event.add(t,n,u[n][r])}o.data&&(o.data=v.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!==1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n==="object"?(t.parentNode&&(t.outerHTML=e.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):n==="input"&&Et.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):n==="option"?t.selected=e.defaultSelected:n==="input"||n==="textarea"?t.defaultValue=e.defaultValue:n==="script"&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!="undefined"?e.getElementsByTagName("*"):typeof e.querySelectorAll!="undefined"?e.querySelectorAll("*"):[]}function _t(e){Et.test(e.type)&&(e.defaultChecked=e.checked)}function Qt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Jt.length;while(i--){t=Jt[i]+n;if(t in e)return t}return r}function Gt(e,t){return e=t||e,v.css(e,"display")==="none"||!v.contains(e.ownerDocument,e)}function Yt(e,t){var n,r,i=[],s=0,o=e.length;for(;s<o;s++){n=e[s];if(!n.style)continue;i[s]=v._data(n,"olddisplay"),t?(!i[s]&&n.style.display==="none"&&(n.style.display=""),n.style.display===""&&Gt(n)&&(i[s]=v._data(n,"olddisplay",nn(n.nodeName)))):(r=Dt(n,"display"),!i[s]&&r!=="none"&&v._data(n,"olddisplay",r))}for(s=0;s<o;s++){n=e[s];if(!n.style)continue;if(!t||n.style.display==="none"||n.style.display==="")n.style.display=t?i[s]||"":"none"}return e}function Zt(e,t,n){var r=Rt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function en(e,t,n,r){var i=n===(r?"border":"content")?4:t==="width"?1:0,s=0;for(;i<4;i+=2)n==="margin"&&(s+=v.css(e,n+$t[i],!0)),r?(n==="content"&&(s-=parseFloat(Dt(e,"padding"+$t[i]))||0),n!=="margin"&&(s-=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0)):(s+=parseFloat(Dt(e,"padding"+$t[i]))||0,n!=="padding"&&(s+=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0));return s}function tn(e,t,n){var r=t==="width"?e.offsetWidth:e.offsetHeight,i=!0,s=v.support.boxSizing&&v.css(e,"boxSizing")==="border-box";if(r<=0||r==null){r=Dt(e,t);if(r<0||r==null)r=e.style[t];if(Ut.test(r))return r;i=s&&(v.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+en(e,t,n||(s?"border":"content"),i)+"px"}function nn(e){if(Wt[e])return Wt[e];var t=v("<"+e+">").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write("<!doctype html><html><body>"),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u<a;u++)r=o[u],s=/^\+/.test(r),s&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[s?"unshift":"push"](n)}}function kn(e,n,r,i,s,o){s=s||n.dataTypes[0],o=o||{},o[s]=!0;var u,a=e[s],f=0,l=a?a.length:0,c=e===Sn;for(;f<l&&(c||!u);f++)u=a[f](n,r,i),typeof u=="string"&&(!c||o[u]?u=t:(n.dataTypes.unshift(u),u=kn(e,n,r,i,u,o)));return(c||!u)&&!o["*"]&&(u=kn(e,n,r,i,"*",o)),u}function Ln(e,n){var r,i,s=v.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((s[r]?e:i||(i={}))[r]=n[r]);i&&v.extend(!0,e,i)}function An(e,n,r){var i,s,o,u,a=e.contents,f=e.dataTypes,l=e.responseFields;for(s in l)s in r&&(n[l[s]]=r[s]);while(f[0]==="*")f.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(s in a)if(a[s]&&a[s].test(i)){f.unshift(s);break}if(f[0]in r)o=f[0];else{for(s in r){if(!f[0]||e.converters[s+" "+f[0]]){o=s;break}u||(u=s)}o=o||u}if(o)return o!==f[0]&&f.unshift(o),r[o]}function On(e,t){var n,r,i,s,o=e.dataTypes.slice(),u=o[0],a={},f=0;e.dataFilter&&(t=e.dataFilter(t,e.dataType));if(o[1])for(n in e.converters)a[n.toLowerCase()]=e.converters[n];for(;i=o[++f];)if(i!=="*"){if(u!=="*"&&u!==i){n=a[u+" "+i]||a["* "+i];if(!n)for(r in a){s=r.split(" ");if(s[1]===i){n=a[u+" "+s[0]]||a["* "+s[0]];if(n){n===!0?n=a[r]:a[r]!==!0&&(i=s[0],o.splice(f--,0,i));break}}}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(l){return{state:"parsererror",error:n?l:"No conversion from "+u+" to "+i}}}u=i}return{state:"success",data:t}}function Fn(){try{return new e.XMLHttpRequest}catch(t){}}function In(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function $n(){return setTimeout(function(){qn=t},0),qn=v.now()}function Jn(e,t){v.each(t,function(t,n){var r=(Vn[t]||[]).concat(Vn["*"]),i=0,s=r.length;for(;i<s;i++)if(r[i].call(e,t,n))return})}function Kn(e,t,n){var r,i=0,s=0,o=Xn.length,u=v.Deferred().always(function(){delete a.elem}),a=function(){var t=qn||$n(),n=Math.max(0,f.startTime+f.duration-t),r=n/f.duration||0,i=1-r,s=0,o=f.tweens.length;for(;s<o;s++)f.tweens[s].run(i);return u.notifyWith(e,[f,i,n]),i<1&&o?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:qn||$n(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=v.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n=0,r=t?f.tweens.length:0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;Qn(l,f.opts.specialEasing);for(;i<o;i++){r=Xn[i].call(f,e,l,f.opts);if(r)return r}return Jn(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Qn(e,t){var n,r,i,s,o;for(n in e){r=v.camelCase(n),i=t[r],s=e[n],v.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=v.cssHooks[r];if(o&&"expand"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function Gn(e,t,n){var r,i,s,o,u,a,f,l,c,h=this,p=e.style,d={},m=[],g=e.nodeType&&Gt(e);n.queue||(l=v._queueHooks(e,"fx"),l.unqueued==null&&(l.unqueued=0,c=l.empty.fire,l.empty.fire=function(){l.unqueued||c()}),l.unqueued++,h.always(function(){h.always(function(){l.unqueued--,v.queue(e,"fx").length||l.empty.fire()})})),e.nodeType===1&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],v.css(e,"display")==="inline"&&v.css(e,"float")==="none"&&(!v.support.inlineBlockNeedsLayout||nn(e.nodeName)==="inline"?p.display="inline-block":p.zoom=1)),n.overflow&&(p.overflow="hidden",v.support.shrinkWrapBlocks||h.done(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t){s=t[r];if(Un.exec(s)){delete t[r],a=a||s==="toggle";if(s===(g?"hide":"show"))continue;m.push(r)}}o=m.length;if(o){u=v._data(e,"fxshow")||v._data(e,"fxshow",{}),"hidden"in u&&(g=u.hidden),a&&(u.hidden=!g),g?v(e).show():h.done(function(){v(e).hide()}),h.done(function(){var t;v.removeData(e,"fxshow",!0);for(t in d)v.style(e,t,d[t])});for(r=0;r<o;r++)i=m[r],f=h.createTween(i,g?u[i]:0),d[i]=u[i]||v.style(e,i),i in u||(u[i]=f.start,g&&(f.end=f.start,f.start=i==="width"||i==="height"?1:0))}}function Yn(e,t,n,r,i){return new Yn.prototype.init(e,t,n,r,i)}function Zn(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=$t[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function tr(e){return v.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n,r,i=e.document,s=e.location,o=e.navigator,u=e.jQuery,a=e.$,f=Array.prototype.push,l=Array.prototype.slice,c=Array.prototype.indexOf,h=Object.prototype.toString,p=Object.prototype.hasOwnProperty,d=String.prototype.trim,v=function(e,t){return new v.fn.init(e,t,n)},m=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,g=/\S/,y=/\s+/,b=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,w=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a<f;a++)if((e=arguments[a])!=null)for(n in e){r=u[n],i=e[n];if(u===i)continue;l&&i&&(v.isPlainObject(i)||(s=v.isArray(i)))?(s?(s=!1,o=r&&v.isArray(r)?r:[]):o=r&&v.isPlainObject(r)?r:{},u[n]=v.extend(l,o,i)):i!==t&&(u[n]=i)}return u},v.extend({noConflict:function(t){return e.$===v&&(e.$=a),t&&e.jQuery===v&&(e.jQuery=u),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e===!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady=!0;if(e!==!0&&--v.readyWait>0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s<o;)if(n.apply(e[s++],r)===!1)break}else if(u){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;s<o;)if(n.call(e[s],s,e[s++])===!1)break;return e},trim:d&&!d.call("\ufeff\u00a0")?function(e){return e==null?"":d.call(e)}:function(e){return e==null?"":(e+"").replace(b,"")},makeArray:function(e,t){var n,r=t||[];return e!=null&&(n=v.type(e),e.length==null||n==="string"||n==="function"||n==="regexp"||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);r=t.length,n=n?n<0?Math.max(0,r+n):n:0;for(;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,s=0;if(typeof r=="number")for(;s<r;s++)e[i++]=n[s];else while(n[s]!==t)e[i++]=n[s++];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++)r=!!t(e[s],s),n!==r&&i.push(e[s]);return i},map:function(e,n,r){var i,s,o=[],u=0,a=e.length,f=e instanceof v||a!==t&&typeof a=="number"&&(a>0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u<a;u++)i=n(e[u],u,r),i!=null&&(o[o.length]=i);else for(s in e)i=n(e[s],s,r),i!=null&&(o[o.length]=i);return o.concat.apply([],o)},guid:1,proxy:function(e,n){var r,i,s;return typeof n=="string"&&(r=e[n],n=e,e=r),v.isFunction(e)?(i=l.call(arguments,2),s=function(){return e.apply(n,i.concat(l.call(arguments)))},s.guid=e.guid=e.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,f=r==null,l=0,c=e.length;if(r&&typeof r=="object"){for(l in r)v.access(e,n,l,r[l],1,o,i);s=1}else if(i!==t){a=u===t&&v.isFunction(i),f&&(a?(a=n,n=function(e,t,n){return a.call(v(e),n)}):(n.call(e,i),n=null));if(n)for(;l<c;l++)n(e[l],r,a?i.call(e[l],l,n(e[l],r)):i,u);s=1}return s?e:f?n.call(e):c?n(e[0],r):o},now:function(){return(new Date).getTime()}}),v.ready.promise=function(t){if(!r){r=v.Deferred();if(i.readyState==="complete")setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener("DOMContentLoaded",A,!1),e.addEventListener("load",v.ready,!1);else{i.attachEvent("onreadystatechange",A),e.attachEvent("onload",v.ready);var n=!1;try{n=e.frameElement==null&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll("left")}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){O["[object "+t+"]"]=t.toLowerCase()}),n=v(i);var M={};v.Callbacks=function(e){e=typeof e=="string"?M[e]||_(e):v.extend({},e);var n,r,i,s,o,u,a=[],f=!e.once&&[],l=function(t){n=e.memory&&t,r=!0,u=s||0,s=0,o=a.length,i=!0;for(;a&&u<o;u++)if(a[u].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}i=!1,a&&(f?f.length&&l(f.shift()):n?a=[]:c.disable())},c={add:function(){if(a){var t=a.length;(function r(t){v.each(t,function(t,n){var i=v.type(n);i==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!=="string"&&r(n)})})(arguments),i?o=a.length:n&&(s=t,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((n=v.inArray(t,a,n))>-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t<r;t++)n[t]&&v.isFunction(n[t].promise)?n[t].promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.support=function(){var t,n,r,s,o,u,a,f,l,c,h,p=i.createElement("div");p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i<s;i++)delete r[t[i]];if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete u[a].data;if(!B(u[a]))return}o?v.cleanData([e],!0):v.support.deleteExpando||u!=u.window?delete u[a]:u[a]=null},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&v.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,a=this[0],f=0,l=null;if(e===t){if(this.length){l=v.data(a);if(a.nodeType===1&&!v._data(a,"parsedAttrs")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf("data-")||(o=v.camelCase(o.substring(5)),H(a,o,l[o]));v._data(a,"parsedAttrs",!0)}}return l}return typeof e=="object"?this.each(function(){v.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",i=r[1]+"!",v.access(this,function(n){if(n===t)return l=this.triggerHandler("getData"+i,[r[0]]),l===t&&a&&(l=v.data(a,e),l=H(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=v(this);t.triggerHandler("setData"+i,r),v.data(this,e,n),t.triggerHandler("changeData"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length<r?v.queue(this[0],e):n===t?this:this.each(function(){var t=v.queue(this,e,n);v._queueHooks(this,e),e==="fx"&&t[0]!=="inprogress"&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return e=v.fx?v.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,s=v.Deferred(),o=this,u=this.length,a=function(){--i||s.resolveWith(o,[o])};typeof e!="string"&&(n=e,e=t),e=e||"fx";while(u--)r=v._data(o[u],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q=/[\t\r\n]/g,R=/\r/g,U=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,W=/^a(?:rea|)$/i,X=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,V=v.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n<r;n++){i=this[n];if(i.nodeType===1)if(!i.className&&t.length===1)i.className=e;else{s=" "+i.className+" ";for(o=0,u=t.length;o<u;o++)s.indexOf(" "+t[o]+" ")<0&&(s+=t[o]+" ");i.className=v.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof e=="string"||e===t){n=(e||"").split(y);for(u=0,a=this.length;u<a;u++){i=this[u];if(i.nodeType===1&&i.className){r=(" "+i.className+" ").replace(q," ");for(s=0,o=n.length;s<o;s++)while(r.indexOf(" "+n[s]+" ")>=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(" "+this[n].className+" ").replace(q," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a<u;a++){n=r[a];if((n.selected||a===i)&&(v.support.optDisabled?!n.disabled:n.getAttribute("disabled")===null)&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,"optgroup"))){t=v(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var n=v.makeArray(t);return v(e).find("option").each(function(){this.selected=v.inArray(v(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o<r.length;o++)i=r[o],i&&(n=v.propFix[i]||i,s=X.test(i),s||v.attr(e,i,""),e.removeAttribute(V?i:n),s&&n in e&&(e[n]=!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error("type property can't be changed");else if(!v.support.radioValue&&t==="radio"&&v.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return j&&v.nodeName(e,"button")?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,"button"))return j.set(e,t,n);e.value=t}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,s,o,u=e.nodeType;if(!e||u===3||u===8||u===2)return;return o=u!==1||!v.isXMLDoc(e),o&&(n=v.propFix[n]||n,s=v.propHooks[n]),r!==t?s&&"set"in s&&(i=s.set(e,r,n))!==t?i:e[n]=r:s&&"get"in s&&(i=s.get(e,n))!==null?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F={get:function(e,n){var r,i=v.prop(e,n);return i===!0||typeof i!="boolean"&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?v.removeAttr(e,n):(r=v.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I={name:!0,id:!0,coords:!0},j=v.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(I[n]?r.value!=="":r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=i.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},v.each(["width","height"],function(e,t){v.attrHooks[t]=v.extend(v.attrHooks[t],{set:function(e,n){if(n==="")return e.setAttribute(t,"auto"),n}})}),v.attrHooks.contenteditable={get:j.get,set:function(e,t,n){t===""&&(t="false"),j.set(e,t,n)}}),v.support.hrefNormalized||v.each(["href","src","width","height"],function(e,n){v.attrHooks[n]=v.extend(v.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return r===null?t:r}})}),v.support.style||(v.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+""}}),v.support.optSelected||(v.propHooks.selected=v.extend(v.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctype="encoding"),v.support.checkOn||v.each(["radio","checkbox"],function(){v.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}}),v.each(["radio","checkbox"],function(){v.valHooks[this]=v.extend(v.valHooks[this],{set:function(e,t){if(v.isArray(t))return e.checked=v.inArray(v(e).val(),t)>=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f<n.length;f++){l=J.exec(n[f])||[],c=l[1],h=(l[2]||"").split(".").sort(),g=v.event.special[c]||{},c=(s?g.delegateType:g.bindType)||c,g=v.event.special[c]||{},p=v.extend({type:c,origType:l[1],data:i,handler:r,guid:r.guid,selector:s,needsContext:s&&v.expr.match.needsContext.test(s),namespace:h.join(".")},d),m=a[c];if(!m){m=a[c]=[],m.delegateCount=0;if(!g.setup||g.setup.call(e,i,h,u)===!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent("on"+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guid=r.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.global[c]=!0}e=null},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,g=v.hasData(e)&&v._data(e);if(!g||!(h=g.events))return;t=v.trim(Z(t||"")).split(" ");for(s=0;s<t.length;s++){o=J.exec(t[s])||[],u=a=o[1],f=o[2];if(!u){for(u in h)v.event.remove(e,u+t[s],n,r,!0);continue}p=v.event.special[u]||{},u=(r?p.delegateType:p.bindType)||u,d=h[u]||[],l=d.length,f=f?new RegExp("(^|\\.)"+f.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(c=0;c<d.length;c++)m=d[c],(i||a===m.origType)&&(!n||n.guid===m.guid)&&(!f||f.test(m.namespace))&&(!r||r===m.selector||r==="**"&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length===0&&l!==d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)===!1)&&v.removeEvent(e,u,g.handle),delete h[u])}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!==3&&s.nodeType!==8){var u,a,f,l,c,h,p,d,m,g,y=n.type||n,b=[];if(Y.test(y+v.event.triggered))return;y.indexOf("!")>=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f<m.length&&!n.isPropagationStopped();f++)l=m[f][0],n.type=m[f][1],d=(v._data(l,"events")||{})[n.type]&&v._data(l,"handle"),d&&d.apply(l,r),d=h&&l[h],d&&v.acceptData(l)&&d.apply&&d.apply(l,r)===!1&&n.preventDefault();return n.type=y,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)===!1)&&(y!=="click"||!v.nodeName(s,"a"))&&v.acceptData(s)&&h&&s[y]&&(y!=="focus"&&y!=="blur"||n.target.offsetWidth!==0)&&!v.isWindow(s)&&(c=s[h],c&&(s[h]=null),v.event.triggered=y,s[y](),v.event.triggered=t,c&&(s[h]=c)),n.result}return},dispatch:function(n){n=v.event.fix(n||e.event);var r,i,s,o,u,a,f,c,h,p,d=(v._data(this,"events")||{})[n.type]||[],m=d.delegateCount,g=l.call(arguments),y=!n.exclusive&&!n.namespace,b=v.event.special[n.type]||{},w=[];g[0]=n,n.delegateTarget=this;if(b.preDispatch&&b.preDispatch.call(this,n)===!1)return;if(m&&(!n.button||n.type!=="click"))for(s=n.target;s!=this;s=s.parentNode||this)if(s.disabled!==!0||n.type!=="click"){u={},f=[];for(r=0;r<m;r++)c=d[r],h=c.selector,u[h]===t&&(u[h]=c.needsContext?v(h,this).index(s)>=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r<w.length&&!n.isPropagationStopped();r++){a=w[r],n.currentTarget=a.elem;for(i=0;i<a.matches.length&&!n.isImmediatePropagationStopped();i++){c=a.matches[i];if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.data=c.data,n.handleObj=c,o=((v.event.special[c.origType]||{}).handle||c.handler).apply(a.elem,g),o!==t&&(n.result=o,o===!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,s,o,u=n.button,a=n.fromElement;return e.pageX==null&&n.clientX!=null&&(r=e.target.ownerDocument||i,s=r.documentElement,o=r.body,e.pageX=n.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?n.toElement:a),!e.which&&u!==t&&(e.which=u&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(e[v.expando])return e;var t,n,r=e,s=v.event.fixHooks[e.type]||{},o=s.props?this.props.concat(s.props):this.props;e=v.Event(r);for(t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||i),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=v.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handle=v.event.dispatch,v.removeEvent=i.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]=="undefined"&&(e[r]=null),e.detachEvent(r,n))},v.Event=function(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.type=e,t&&v.extend(this,t),this.timeStamp=e&&e.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={preventDefault:function(){this.isDefaultPrevented=tt;var e=this.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=tt;var e=this.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=tt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){v.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj,o=s.selector;if(!i||i!==r&&!v.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),v.support.submitBubbles||(v.event.special.submit={setup:function(){if(v.nodeName(this,"form"))return!1;v.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=v.nodeName(n,"input")||v.nodeName(n,"button")?n.form:t;r&&!v._data(r,"_submit_attached")&&(v.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),v._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,"form"))return!1;v.event.remove(this,"._submit")}}),v.support.changeBubbles||(v.event.special.change={setup:function(){if($.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")v.event.add(this,"propertychange._change",function(e){e.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),v.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),v.event.simulate("change",this,e,!0)});return!1}v.event.add(this,"beforeactivate._change",function(e){var t=e.target;$.test(t.nodeName)&&!v._data(t,"_change_attached")&&(v.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate("change",this.parentNode,e,!0)}),v._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||t.type!=="radio"&&t.type!=="checkbox")return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,"._change"),!$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.special[t]={setup:function(){n++===0&&i.addEventListener(e,r,!0)},teardown:function(){--n===0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof e=="object"){typeof n!="string"&&(r=r||n,n=t);for(u in e)this.on(u,n,r,e[u],s);return this}r==null&&i==null?(i=n,r=n=t):i==null&&(typeof n=="string"?(i=r,r=t):(i=r,r=n,n=t));if(i===!1)i=et;else if(!i)return this;return s===1&&(o=i,i=function(e){return v().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=v.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if(typeof e=="object"){for(s in e)this.off(s,n,e[s]);return this}if(n===!1||typeof n=="function")r=n,n=t;return r===!1&&(r=et),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length===1?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return v.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||v.guid++,r=0,i=function(n){var i=(v._data(this,"lastToggle"+e.guid)||0)%r;return v._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};i.guid=n;while(r<t.length)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){v.fn[t]=function(e,n){return n==null&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)if(s=e[u])if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function ct(e,t,n,r,i,s){return r&&!r[d]&&(r=ct(r)),i&&!i[d]&&(i=ct(i,s)),N(function(s,o,u,a){var f,l,c,h=[],p=[],d=o.length,v=s||dt(t||"*",u.nodeType?[u]:u,[]),m=e&&(s||!t)?lt(v,h,e,u,a):v,g=n?i||(s?e:d||r)?[]:o:m;n&&n(m,g,u,a);if(r){f=lt(g,p),r(f,[],u,a),l=f.length;while(l--)if(c=f[l])g[p[l]]=!(m[p[l]]=c)}if(s){if(i||e){if(i){f=[],l=g.length;while(l--)(c=g[l])&&f.push(m[l]=c);i(null,g=[],f,a)}l=g.length;while(l--)(c=g[l])&&(f=i?T.call(s,c):h[l])>-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a<s;a++)if(n=i.relative[e[a].type])h=[at(ft(h),n)];else{n=i.filter[e[a].type].apply(null,e[a].matches);if(n[d]){r=++a;for(;r<s;r++)if(i.relative[e[r].type])break;return ct(a>1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a<r&&ht(e.slice(a,r)),r<s&&ht(e=e.slice(r)),r<s&&e.join(""))}h.push(n)}return ft(h)}function pt(e,t){var r=t.length>0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r<i;r++)nt(e,t[r],n);return n}function vt(e,t,n,r,s){var o,u,f,l,c,h=ut(e),p=h.length;if(!r&&h.length===1){u=h[0]=h[0].slice(0);if(u.length>2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;t<n;t++)if(this[t]===e)return t;return-1},N=function(e,t){return e[d]=t==null||t,e},C=function(){var e={},t=[];return N(function(n,r){return t.push(n)>i.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="<a name='"+d+"'></a><div name='"+d+"'></div>",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:st(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:st(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},f=y.compareDocumentPosition?function(e,t){return e===t?(l=!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(e===t)return l=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],s=[],o=e.parentNode,u=t.parentNode,a=o;if(o===u)return ot(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),a=a.parentNode;a=u;while(a)s.unshift(a),a=a.parentNode;n=i.length,r=s.length;for(var f=0;f<n&&f<r;f++)if(i[f]!==s[f])return ot(i[f],s[f]);return f===n?ot(e,s[f],-1):ot(i[f],t,1)},[0,0].sort(f),h=!l,nt.uniqueSort=function(e){var t,n=[],r=1,i=0;l=h,e.sort(f);if(l){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e},nt.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},a=nt.compile=function(e,t){var n,r=[],i=[],s=A[d][e+" "];if(!s){t||(t=ut(e)),n=t.length;while(n--)s=ht(t[n]),s[d]?r.push(s):i.push(s);s=A(e,pt(i,r))}return s},g.querySelectorAll&&function(){var e,t=vt,n=/'|\\/g,r=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,i=[":focus"],s=[":active"],u=y.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector||y.oMatchesSelector||y.msMatchesSelector;K(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t<n;t++)if(v.contains(u[t],this))return!0});o=this.pushStack("","find",e);for(t=0,n=this.length;t<n;t++){r=o.length,v.find(e,this[t],o);if(t>0)for(i=r;i<o.length;i++)for(s=0;s<r;s++)if(o[s]===o[i]){o.splice(i--,1);break}}return o},has:function(e){var t,n=v(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(v.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),"not",e)},filter:function(e){return this.pushStack(ft(this,e,!0),"filter",e)},is:function(e){return!!e&&(typeof e=="string"?st.test(e)?v(e,this.context).index(this[0])>=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r<i;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&n.nodeType!==11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/<tbody/i,gt=/<|&#?\w+;/,yt=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,wt=new RegExp("<(?:"+ct+")[\\s/>]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,Nt={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X<div>","</div>"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1></$2>");try{for(;r<i;r++)n=this[r]||{},n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this[0])?this.length?this.pushStack(v(v.isFunction(e)?e():e),"replaceWith",e):this:v.isFunction(e)?this.each(function(t){var n=v(this),r=n.html();n.replaceWith(e.call(this,t,r))}):(typeof e!="string"&&(e=v(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,s,o,u,a=0,f=e[0],l=[],c=this.length;if(!v.support.checkClone&&c>1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a<c;a++)r.call(n&&v.nodeName(this[a],"table")?Lt(this[a],"tbody"):this[a],a===u?o:v.clone(o,!0,!0))}o=s=null,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):v.error("no ajax"):v.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Tt,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragment=function(e,n,r){var s,o,u,a=e[0];return n=n||i,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,e.length===1&&typeof a=="string"&&a.length<512&&n===i&&a.charAt(0)==="<"&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o=!0,s=v.fragments[a],u=s!==t),s||(s=n.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragments[a]=u&&s)),{fragment:s,cacheable:o}},v.fragments={},v.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){v.fn[e]=function(n){var r,i=0,s=[],o=v(n),u=o.length,a=this.length===1&&this[0].parentNode;if((a==null||a&&a.nodeType===11&&a.childNodes.length===1)&&u===1)return o[t](this[0]),this;for(;i<u;i++)r=(i>0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1></$2>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]==="<table>"&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("<div>").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],Vn[n]=Vn[n]||[],Vn[n].unshift(t)},prefilter:function(e,t){t?Xn.unshift(e):Xn.push(e)}}),v.Tween=Yn,Yn.prototype={constructor:Yn,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(v.cssNumber[n]?"":"px")},cur:function(){var e=Yn.propHooks[this.prop];return e&&e.get?e.get(this):Yn.propHooks._default.get(this)},run:function(e){var t,n=Yn.propHooks[this.prop];return this.options.duration?this.pos=t=v.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototype=Yn.prototype,Yn.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=v.css(e.elem,e.prop,!1,""),!t||t==="auto"?0:t):e.elem[e.prop]},set:function(e){v.fx.step[e.prop]?v.fx.step[e.prop](e):e.elem.style&&(e.elem.style[v.cssProps[e.prop]]!=null||v.cssHooks[e.prop])?v.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Yn.propHooks.scrollTop=Yn.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},v.each(["toggle","show","hide"],function(e,t){var n=v.fn[t];v.fn[t]=function(r,i,s){return r==null||typeof r=="boolean"||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=v.isEmptyObject(e),s=v.speed(t,n,r),o=function(){var t=Kn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return typeof e!="string"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=e!=null&&e+"queueHooks",s=v.timers,o=v._data(this);if(n)o[n]&&o[n].stop&&i(o[n]);else for(n in o)o[n]&&o[n].stop&&Wn.test(n)&&i(o[n]);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(s[n].anim.stop(r),t=!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn("show"),slideUp:Zn("hide"),slideToggle:Zn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){v.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),v.speed=function(e,t,n){var r=e&&typeof e=="object"?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.duration=v.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in v.fx.speeds?v.fx.speeds[r.duration]:v.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers=[],v.fx=Yn.prototype.init,v.fx.tick=function(){var e,n=v.timers,r=0;qn=v.now();for(;r<n.length;r++)e=n[r],!e()&&n[r]===e&&n.splice(r--,1);n.length||v.fx.stop(),qn=t},v.fx.timer=function(e){e()&&v.timers.push(e)&&!Rn&&(Rn=setInterval(v.fx.tick,v.fx.interval))},v.fx.interval=13,v.fx.stop=function(){clearInterval(Rn),Rn=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fx.step={},v.expr&&v.expr.filters&&(v.expr.filters.animated=function(e){return v.grep(v.timers,function(t){return e===t.elem}).length});var er=/^(?:body|html)$/i;v.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f={top:0,left:0},l=this[0],c=l&&l.ownerDocument;if(!c)return;return(r=c.body)===l?v.offset.bodyOffset(l):(n=c.documentElement,v.contains(n,l)?(typeof l.getBoundingClientRect!="undefined"&&(f=l.getBoundingClientRect()),i=tr(c),s=n.clientTop||r.clientTop||0,o=n.clientLeft||r.clientLeft||0,u=i.pageYOffset||n.scrollTop,a=i.pageXOffset||n.scrollLeft,{top:f.top+u-s,left:f.left+a-o}):f)},v.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(v.css(e,"marginTop"))||0,n+=parseFloat(v.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=v.css(e,"position");r==="static"&&(e.style.position="relative");var i=v(e),s=i.offset(),o=v.css(e,"top"),u=v.css(e,"left"),a=(r==="absolute"||r==="fixed")&&v.inArray("auto",[o,u])>-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window);
699</script>
700<script type="text/javascript">
701/*
702 * jQuery Templates Plugin 1.0.0pre
703 * http://github.com/jquery/jquery-tmpl
704 * Requires jQuery 1.4.2
705 *
706 * Copyright Software Freedom Conservancy, Inc.
707 * Dual licensed under the MIT or GPL Version 2 licenses.
708 * http://jquery.org/license
709 */
710(function(a){var r=a.fn.domManip,d="_tmplitem",q=/^[^<]*(<[\w\W]+>)[^>]*$|\{\{\! /,b={},f={},e,p={key:0,data:{}},i=0,c=0,l=[];function g(g,d,h,e){var c={data:e||(e===0||e===false)?e:d?d.data:{},_wrap:d?d._wrap:null,tmpl:null,parent:d||null,nodes:[],calls:u,nest:w,wrap:x,html:v,update:t};g&&a.extend(c,g,{nodes:[],parent:d});if(h){c.tmpl=h;c._ctnt=c._ctnt||c.tmpl(a,c);c.key=++i;(l.length?f:b)[i]=c}return c}a.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(f,d){a.fn[f]=function(n){var g=[],i=a(n),k,h,m,l,j=this.length===1&&this[0].parentNode;e=b||{};if(j&&j.nodeType===11&&j.childNodes.length===1&&i.length===1){i[d](this[0]);g=this}else{for(h=0,m=i.length;h<m;h++){c=h;k=(h>0?this.clone(true):this).get();a(i[h])[d](k);g=g.concat(k)}c=0;g=this.pushStack(g,f,i.selector)}l=e;e=null;a.tmpl.complete(l);return g}});a.fn.extend({tmpl:function(d,c,b){return a.tmpl(this[0],d,c,b)},tmplItem:function(){return a.tmplItem(this[0])},template:function(b){return a.template(b,this[0])},domManip:function(d,m,k){if(d[0]&&a.isArray(d[0])){var g=a.makeArray(arguments),h=d[0],j=h.length,i=0,f;while(i<j&&!(f=a.data(h[i++],"tmplItem")));if(f&&c)g[2]=function(b){a.tmpl.afterManip(this,b,k)};r.apply(this,g)}else r.apply(this,arguments);c=0;!e&&a.tmpl.complete(b);return this}});a.extend({tmpl:function(d,h,e,c){var i,k=!c;if(k){c=p;d=a.template[d]||a.template(null,d);f={}}else if(!d){d=c.tmpl;b[c.key]=c;c.nodes=[];c.wrapped&&n(c,c.wrapped);return a(j(c,null,c.tmpl(a,c)))}if(!d)return[];if(typeof h==="function")h=h.call(c||{});e&&e.wrapped&&n(e,e.wrapped);i=a.isArray(h)?a.map(h,function(a){return a?g(e,c,d,a):null}):[g(e,c,d,h)];return k?a(j(c,null,i)):i},tmplItem:function(b){var c;if(b instanceof a)b=b[0];while(b&&b.nodeType===1&&!(c=a.data(b,"tmplItem"))&&(b=b.parentNode));return c||p},template:function(c,b){if(b){if(typeof b==="string")b=o(b);else if(b instanceof a)b=b[0]||{};if(b.nodeType)b=a.data(b,"tmpl")||a.data(b,"tmpl",o(b.innerHTML));return typeof c==="string"?(a.template[c]=b):b}return c?typeof c!=="string"?a.template(null,c):a.template[c]||a.template(null,q.test(c)?c:a(c)):null},encode:function(a){return(""+a).split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;").split('"').join("&#34;").split("'").join("&#39;")}});a.extend(a.tmpl,{tag:{tmpl:{_default:{$2:"null"},open:"if($notnull_1){__=__.concat($item.nest($1,$2));}"},wrap:{_default:{$2:"null"},open:"$item.calls(__,$1,$2);__=[];",close:"call=$item.calls();__=call._.concat($item.wrap(call,__));"},each:{_default:{$2:"$index, $value"},open:"if($notnull_1){$.each($1a,function($2){with(this){",close:"}});}"},"if":{open:"if(($notnull_1) && $1a){",close:"}"},"else":{_default:{$1:"true"},open:"}else if(($notnull_1) && $1a){"},html:{open:"if($notnull_1){__.push($1a);}"},"=":{_default:{$1:"$data"},open:"if($notnull_1){__.push($.encode($1a));}"},"!":{open:""}},complete:function(){b={}},afterManip:function(f,b,d){var e=b.nodeType===11?a.makeArray(b.childNodes):b.nodeType===1?[b]:[];d.call(f,b);m(e);c++}});function j(e,g,f){var b,c=f?a.map(f,function(a){return typeof a==="string"?e.key?a.replace(/(<\w+)(?=[\s>])(?![^>]*_tmplitem)([^>]*)/g,"$1 "+d+'="'+e.key+'" $2'):a:j(a,e,a._ctnt)}):e;if(g)return c;c=c.join("");c.replace(/^\s*([^<\s][^<]*)?(<[\w\W]+>)([^>]*[^>\s])?\s*$/,function(f,c,e,d){b=a(e).get();m(b);if(c)b=k(c).concat(b);if(d)b=b.concat(k(d))});return b?b:k(c)}function k(c){var b=document.createElement("div");b.innerHTML=c;return a.makeArray(b.childNodes)}function o(b){return new Function("jQuery","$item","var $=jQuery,call,__=[],$data=$item.data;with($data){__.push('"+a.trim(b).replace(/([\\'])/g,"\\$1").replace(/[\r\t\n]/g," ").replace(/\$\{([^\}]*)\}/g,"{{= $1}}").replace(/\{\{(\/?)(\w+|.)(?:\(((?:[^\}]|\}(?!\}))*?)?\))?(?:\s+(.*?)?)?(\(((?:[^\}]|\}(?!\}))*?)\))?\s*\}\}/g,function(m,l,k,g,b,c,d){var j=a.tmpl.tag[k],i,e,f;if(!j)throw"Unknown template tag: "+k;i=j._default||[];if(c&&!/\w$/.test(b)){b+=c;c=""}if(b){b=h(b);d=d?","+h(d)+")":c?")":"";e=c?b.indexOf(".")>-1?b+h(c):"("+b+").call($item"+d:b;f=c?e:"(typeof("+b+")==='function'?("+b+").call($item):("+b+"))"}else f=e=i.$1||"null";g=h(g);return"');"+j[l?"close":"open"].split("$notnull_1").join(b?"typeof("+b+")!=='undefined' && ("+b+")!=null":"true").split("$1a").join(f).split("$1").join(e).split("$2").join(g||i.$2||"")+"__.push('"})+"');}return __;")}function n(c,b){c._wrap=j(c,true,a.isArray(b)?b:[q.test(b)?b:a(b).html()]).join("")}function h(a){return a?a.replace(/\\'/g,"'").replace(/\\\\/g,"\\"):null}function s(b){var a=document.createElement("div");a.appendChild(b.cloneNode(true));return a.innerHTML}function m(o){var n="_"+c,k,j,l={},e,p,h;for(e=0,p=o.length;e<p;e++){if((k=o[e]).nodeType!==1)continue;j=k.getElementsByTagName("*");for(h=j.length-1;h>=0;h--)m(j[h]);m(k)}function m(j){var p,h=j,k,e,m;if(m=j.getAttribute(d)){while(h.parentNode&&(h=h.parentNode).nodeType===1&&!(p=h.getAttribute(d)));if(p!==m){h=h.parentNode?h.nodeType===11?0:h.getAttribute(d)||0:0;if(!(e=b[m])){e=f[m];e=g(e,b[h]||f[h]);e.key=++i;b[i]=e}c&&o(m)}j.removeAttribute(d)}else if(c&&(e=a.data(j,"tmplItem"))){o(e.key);b[e.key]=e;h=a.data(j.parentNode,"tmplItem");h=h?h.key:0}if(e){k=e;while(k&&k.key!=h){k.nodes.push(j);k=k.parent}delete e._ctnt;delete e._wrap;a.data(j,"tmplItem",e)}function o(a){a=a+n;e=l[a]=l[a]||g(e,b[e.parent.key+n]||e.parent)}}}function u(a,d,c,b){if(!a)return l.pop();l.push({_:a,tmpl:d,item:this,data:c,options:b})}function w(d,c,b){return a.tmpl(a.template(d),c,b,this)}function x(b,d){var c=b.options||{};c.wrapped=d;return a.tmpl(a.template(b.tmpl),b.data,c,b.item)}function v(d,c){var b=this._wrap;return a.map(a(a.isArray(b)?b.join(""):b).filter(d||"*"),function(a){return c?a.innerText||a.textContent:a.outerHTML||s(a)})}function t(){var b=this.nodes;a.tmpl(null,null,null,this).insertBefore(b[0]);a(b).remove()}})(jQuery);
711</script>
712<script type="text/javascript">
713/*!
714* TableSorter 2.7.8 min - Client-side table sorting with ease!
715* Copyright (c) 2007 Christian Bach
716*/
717!function(j){j.extend({tablesorter:new function(){function e(d){"undefined"!==typeof console&&"undefined"!==typeof console.log?console.log(d):alert(d)}function u(d,c){e(d+" ("+((new Date).getTime()-c.getTime())+"ms)")}function p(d,c,a){if(!c)return"";var b=d.config,g=b.textExtraction,f="",f="simple"===g?b.supportsTextContent?c.textContent:j(c).text():"function"===typeof g?g(c,d,a):"object"===typeof g&&g.hasOwnProperty(a)?g[a](c,d,a):b.supportsTextContent?c.textContent:j(c).text();return j.trim(f)} function h(d){var c=d.config,a=c.$tbodies=c.$table.children("tbody:not(."+c.cssInfoBlock+")"),b,q,f,l,j,n,k="";if(0===a.length)return c.debug?e("*Empty table!* Not building a parser cache"):"";a=a[0].rows;if(a[0]){b=[];q=a[0].cells.length;for(f=0;f<q;f++){l=c.$headers.filter(":not([colspan])");l=l.add(c.$headers.filter('[colspan="1"]')).filter('[data-column="'+f+'"]:last');j=c.headers[f];n=g.getParserById(g.getData(l,j,"sorter"));c.empties[f]=g.getData(l,j,"empty")||c.emptyTo||(c.emptyToBottom?"bottom": "top");c.strings[f]=g.getData(l,j,"string")||c.stringTo||"max";if(!n)a:{l=d;j=a;n=-1;for(var u=f,x=void 0,t=g.parsers.length,y=!1,m="",x=!0;""===m&&x;)n++,j[n]?(y=j[n].cells[u],m=p(l,y,u),l.config.debug&&e("Checking if value was empty on row "+n+", column: "+u+": "+m)):x=!1;for(x=1;x<t;x++)if(g.parsers[x].is&&g.parsers[x].is(m,l,y)){n=g.parsers[x];break a}n=g.parsers[0]}c.debug&&(k+="column:"+f+"; parser:"+n.id+"; string:"+c.strings[f]+"; empty: "+c.empties[f]+"\n");b.push(n)}}c.debug&&e(k);return b} function s(d){var c=d.tBodies,a=d.config,b,q,f=a.parsers,l,v,n,k,h,x,t,m=[];a.cache={};if(!f)return a.debug?e("*Empty table!* Not building a cache"):"";a.debug&&(t=new Date);a.showProcessing&&g.isProcessing(d,!0);for(k=0;k<c.length;k++)if(a.cache[k]={row:[],normalized:[]},!j(c[k]).hasClass(a.cssInfoBlock)){b=c[k]&&c[k].rows.length||0;q=c[k].rows[0]&&c[k].rows[0].cells.length||0;for(v=0;v<b;++v)if(h=j(c[k].rows[v]),x=[],h.hasClass(a.cssChildRow))a.cache[k].row[a.cache[k].row.length-1]=a.cache[k].row[a.cache[k].row.length- 1].add(h);else{a.cache[k].row.push(h);for(n=0;n<q;++n)if(l=p(d,h[0].cells[n],n),l=f[n].format(l,d,h[0].cells[n],n),x.push(l),"numeric"===(f[n].type||"").toLowerCase())m[n]=Math.max(Math.abs(l),m[n]||0);x.push(a.cache[k].normalized.length);a.cache[k].normalized.push(x)}a.cache[k].colMax=m}a.showProcessing&&g.isProcessing(d);a.debug&&u("Building cache for "+b+" rows",t)}function m(d,c){var a=d.config,b=d.tBodies,q=[],f=a.cache,e,v,n,k,h,p,m,y,s,r,E;if(f[0]){a.debug&&(E=new Date);for(y=0;y<b.length;y++)if(e= j(b[y]),!e.hasClass(a.cssInfoBlock)){h=g.processTbody(d,e,!0);e=f[y].row;v=f[y].normalized;k=(n=v.length)?v[0].length-1:0;for(p=0;p<n;p++)if(r=v[p][k],q.push(e[r]),!a.appender||!a.removeRows){s=e[r].length;for(m=0;m<s;m++)h.append(e[r][m])}g.processTbody(d,h,!1)}a.appender&&a.appender(d,q);a.debug&&u("Rebuilt table",E);c||g.applyWidget(d);j(d).trigger("sortEnd",d)}}function F(d){var c,a,b,g=d.config,f=g.sortList,e=[g.cssAsc,g.cssDesc],h=j(d).find("tfoot tr").children().removeClass(e.join(" "));g.$headers.removeClass(e.join(" ")); b=f.length;for(c=0;c<b;c++)if(2!==f[c][1]&&(d=g.$headers.not(".sorter-false").filter('[data-column="'+f[c][0]+'"]'+(1===b?":last":"")),d.length))for(a=0;a<d.length;a++)d[a].sortDisabled||(d.eq(a).addClass(e[f[c][1]]),h.length&&h.filter('[data-column="'+f[c][0]+'"]').eq(a).addClass(e[f[c][1]]))}function G(d){var c=0,a=d.config,b=a.sortList,g=b.length,f=d.tBodies.length,e,h,n,k,p,m,t,r,s;if(!a.serverSideSorting&&a.cache[0]){a.debug&&(e=new Date);for(n=0;n<f;n++)p=a.cache[n].colMax,s=(m=a.cache[n].normalized)&& m[0]?m[0].length-1:0,m.sort(function(f,e){for(h=0;h<g;h++){k=b[h][0];r=b[h][1];t=/n/i.test(a.parsers&&a.parsers[k]?a.parsers[k].type||"":"")?"Numeric":"Text";t+=0===r?"":"Desc";/Numeric/.test(t)&&a.strings[k]&&(c="boolean"===typeof a.string[a.strings[k]]?(0===r?1:-1)*(a.string[a.strings[k]]?-1:1):a.strings[k]?a.string[a.strings[k]]||0:0);var l=j.tablesorter["sort"+t](d,f[k],e[k],k,p[k],c);if(l)return l}return f[s]-e[s]});a.debug&&u("Sorting on "+b.toString()+" and dir "+r+" time",e)}}function C(d, c){d.trigger("updateComplete");"function"===typeof c&&c(d[0])}function I(d,c,a){!1!==c?d.trigger("sorton",[d[0].config.sortList,function(){C(d,a)}]):C(d,a)}var g=this;g.version="2.7.8";g.parsers=[];g.widgets=[];g.defaults={theme:"default",widthFixed:!1,showProcessing:!1,headerTemplate:"{content}",onRenderTemplate:null,onRenderHeader:null,cancelSelection:!0,dateFormat:"mmddyyyy",sortMultiSortKey:"shiftKey",sortResetKey:"ctrlKey",usNumberFormat:!0,delayInit:!1,serverSideSorting:!1,headers:{},ignoreCase:!0, sortForce:null,sortList:[],sortAppend:null,sortInitialOrder:"asc",sortLocaleCompare:!1,sortReset:!1,sortRestart:!1,emptyTo:"bottom",stringTo:"max",textExtraction:"simple",textSorter:null,widgets:[],widgetOptions:{zebra:["even","odd"]},initWidgets:!0,initialized:null,tableClass:"tablesorter",cssAsc:"tablesorter-headerAsc",cssChildRow:"tablesorter-childRow",cssDesc:"tablesorter-headerDesc",cssHeader:"tablesorter-header",cssHeaderRow:"tablesorter-headerRow",cssIcon:"tablesorter-icon",cssInfoBlock:"tablesorter-infoOnly", cssProcessing:"tablesorter-processing",selectorHeaders:"> thead th, > thead td",selectorSort:"th, td",selectorRemove:".remove-me",debug:!1,headerList:[],empties:{},strings:{},parsers:[]};g.benchmark=u;g.construct=function(d){return this.each(function(){if(!this.tHead||0===this.tBodies.length||!0===this.hasInitialized)return this.config&&this.config.debug?e("stopping initialization! No thead, tbody or tablesorter has already been initialized"):"";var c=j(this),a=this,b,q,f,l="",v,n,k,C,x=j.metadata; a.hasInitialized=!1;a.config={};b=j.extend(!0,a.config,g.defaults,d);j.data(a,"tablesorter",b);b.debug&&j.data(a,"startoveralltimer",new Date);b.supportsTextContent="x"===j("<span>x</span>")[0].textContent;b.supportsDataObject=1.4<=parseFloat(j.fn.jquery);b.string={max:1,min:-1,"max+":1,"max-":-1,zero:0,none:0,"null":0,top:!0,bottom:!1};/tablesorter\-/.test(c.attr("class"))||(l=""!==b.theme?" tablesorter-"+b.theme:"");b.$table=c.addClass(b.tableClass+l);b.$tbodies=c.children("tbody:not(."+b.cssInfoBlock+ ")");var t=[],y={},O=0,R=j(a).find("thead:eq(0), tfoot").children("tr"),E,K,z,A,P,D,L,S,T,H;for(E=0;E<R.length;E++){P=R[E].cells;for(K=0;K<P.length;K++){A=P[K];D=A.parentNode.rowIndex;L=D+"-"+A.cellIndex;S=A.rowSpan||1;T=A.colSpan||1;"undefined"===typeof t[D]&&(t[D]=[]);for(z=0;z<t[D].length+1;z++)if("undefined"===typeof t[D][z]){H=z;break}y[L]=H;O=Math.max(H,O);j(A).attr({"data-column":H});for(z=D;z<D+S;z++){"undefined"===typeof t[z]&&(t[z]=[]);L=t[z];for(A=H;A<H+T;A++)L[A]="x"}}}a.config.columns= O;var M,B,Q,U,N,J,V,w=a.config;w.headerList=[];w.headerContent=[];w.debug&&(V=new Date);U=w.cssIcon?'<i class="'+w.cssIcon+'"></i>':"";t=j(a).find(w.selectorHeaders).each(function(a){B=j(this);M=w.headers[a];w.headerContent[a]=this.innerHTML;N=w.headerTemplate.replace(/\{content\}/g,this.innerHTML).replace(/\{icon\}/g,U);w.onRenderTemplate&&(Q=w.onRenderTemplate.apply(B,[a,N]))&&"string"===typeof Q&&(N=Q);this.innerHTML='<div class="tablesorter-header-inner">'+N+"</div>";w.onRenderHeader&&w.onRenderHeader.apply(B, [a]);this.column=y[this.parentNode.rowIndex+"-"+this.cellIndex];var b=g.getData(B,M,"sortInitialOrder")||w.sortInitialOrder;this.order=/^d/i.test(b)||1===b?[1,0,2]:[0,1,2];this.count=-1;"false"===g.getData(B,M,"sorter")?(this.sortDisabled=!0,B.addClass("sorter-false")):B.removeClass("sorter-false");this.lockedOrder=!1;J=g.getData(B,M,"lockedOrder")||!1;"undefined"!==typeof J&&!1!==J&&(this.order=this.lockedOrder=/^d/i.test(J)||1===J?[1,1,1]:[0,0,0]);B.addClass((this.sortDisabled?"sorter-false ":" ")+ w.cssHeader);w.headerList[a]=this;B.parent().addClass(w.cssHeaderRow)});a.config.debug&&(u("Built headers:",V),e(t));b.$headers=t;if(a.config.widthFixed&&0===j(a).find("colgroup").length){var W=j("<colgroup>"),X=j(a).width();j("tr:first td",a.tBodies[0]).each(function(){W.append(j("<col>").css("width",parseInt(1E3*(j(this).width()/X),10)/10+"%"))});j(a).prepend(W)}b.parsers=h(a);b.delayInit||s(a);b.$headers.find("*")[j.fn.addBack?"addBack":"andSelf"]().filter(b.selectorSort).unbind("mousedown.tablesorter mouseup.tablesorter").bind("mousedown.tablesorter mouseup.tablesorter", function(d,e){var h=(this.tagName.match("TH|TD")?j(this):j(this).parents("th, td").filter(":last"))[0];if(1!==(d.which||d.button))return!1;if("mousedown"===d.type)return C=(new Date).getTime(),"INPUT"===d.target.tagName?"":!b.cancelSelection;if(!0!==e&&250<(new Date).getTime()-C)return!1;b.delayInit&&!b.cache&&s(a);if(!h.sortDisabled){c.trigger("sortStart",a);l=!d[b.sortMultiSortKey];h.count=d[b.sortResetKey]?2:(h.count+1)%(b.sortReset?3:2);b.sortRestart&&(q=h,b.$headers.each(function(){if(this!== q&&(l||!j(this).is("."+b.cssDesc+",."+b.cssAsc)))this.count=-1}));q=h.column;if(l){b.sortList=[];if(null!==b.sortForce){v=b.sortForce;for(f=0;f<v.length;f++)v[f][0]!==q&&b.sortList.push(v[f])}k=h.order[h.count];if(2>k&&(b.sortList.push([q,k]),1<h.colSpan))for(f=1;f<h.colSpan;f++)b.sortList.push([q+f,k])}else if(b.sortAppend&&1<b.sortList.length&&g.isValueInArray(b.sortAppend[0][0],b.sortList)&&b.sortList.pop(),g.isValueInArray(q,b.sortList))for(f=0;f<b.sortList.length;f++)n=b.sortList[f],k=b.headerList[n[0]], n[0]===q&&(n[1]=k.order[k.count],2===n[1]&&(b.sortList.splice(f,1),k.count=-1));else if(k=h.order[h.count],2>k&&(b.sortList.push([q,k]),1<h.colSpan))for(f=1;f<h.colSpan;f++)b.sortList.push([q+f,k]);if(null!==b.sortAppend){v=b.sortAppend;for(f=0;f<v.length;f++)v[f][0]!==q&&b.sortList.push(v[f])}c.trigger("sortBegin",a);setTimeout(function(){F(a);G(a);m(a)},1)}});b.cancelSelection&&b.$headers.each(function(){this.onselectstart=function(){return!1}});c.unbind("sortReset update updateCell addRows sorton appendCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave ".split(" ").join(".tablesorter ")).bind("sortReset.tablesorter", function(){b.sortList=[];F(a);G(a);m(a)}).bind("update.tablesorter updateRows.tablesorter",function(d,f,g){j(b.selectorRemove,a).remove();b.parsers=h(a);s(a);I(c,f,g)}).bind("updateCell.tablesorter",function(d,f,g,e){var q,h,l;q=c.find("tbody");d=q.index(j(f).parents("tbody").filter(":last"));var k=j(f).parents("tr").filter(":last");f=j(f)[0];q.length&&0<=d&&(h=q.eq(d).find("tr").index(k),l=f.cellIndex,q=a.config.cache[d].normalized[h].length-1,a.config.cache[d].row[a.config.cache[d].normalized[h][q]]= k,a.config.cache[d].normalized[h][l]=b.parsers[l].format(p(a,f,l),a,f,l),I(c,g,e))}).bind("addRows.tablesorter",function(d,g,e,q){var j=g.filter("tr").length,l=[],k=g[0].cells.length,n=c.find("tbody").index(g.closest("tbody"));b.parsers||(b.parsers=h(a));for(d=0;d<j;d++){for(f=0;f<k;f++)l[f]=b.parsers[f].format(p(a,g[d].cells[f],f),a,g[d].cells[f],f);l.push(b.cache[n].row.length);b.cache[n].row.push([g[d]]);b.cache[n].normalized.push(l);l=[]}I(c,e,q)}).bind("sorton.tablesorter",function(b,d,f,g){c.trigger("sortStart", this);var e,q,l,h=a.config;b=d||h.sortList;h.sortList=[];j.each(b,function(a,b){e=[parseInt(b[0],10),parseInt(b[1],10)];if(l=h.headerList[e[0]])h.sortList.push(e),q=j.inArray(e[1],l.order),l.count=0<=q?q:e[1]%(h.sortReset?3:2)});F(a);G(a);m(a,g);"function"===typeof f&&f(a)}).bind("appendCache.tablesorter",function(b,c,d){m(a,d);"function"===typeof c&&c(a)}).bind("applyWidgetId.tablesorter",function(c,d){g.getWidgetById(d).format(a,b,b.widgetOptions)}).bind("applyWidgets.tablesorter",function(b,c){g.applyWidget(a, c)}).bind("refreshWidgets.tablesorter",function(b,c,d){g.refreshWidgets(a,c,d)}).bind("destroy.tablesorter",function(b,c,d){g.destroy(a,c,d)});b.supportsDataObject&&"undefined"!==typeof c.data().sortlist?b.sortList=c.data().sortlist:x&&(c.metadata()&&c.metadata().sortlist)&&(b.sortList=c.metadata().sortlist);g.applyWidget(a,!0);0<b.sortList.length?c.trigger("sorton",[b.sortList,{},!b.initWidgets]):b.initWidgets&&g.applyWidget(a);b.showProcessing&&c.unbind("sortBegin.tablesorter sortEnd.tablesorter").bind("sortBegin.tablesorter sortEnd.tablesorter", function(b){g.isProcessing(a,"sortBegin"===b.type)});a.hasInitialized=!0;b.debug&&g.benchmark("Overall initialization time",j.data(a,"startoveralltimer"));c.trigger("tablesorter-initialized",a);"function"===typeof b.initialized&&b.initialized(a)})};g.isProcessing=function(d,c,a){var b=d.config;d=a||j(d).find("."+b.cssHeader);c?(0<b.sortList.length&&(d=d.filter(function(){return this.sortDisabled?!1:g.isValueInArray(parseFloat(j(this).attr("data-column")),b.sortList)})),d.addClass(b.cssProcessing)): d.removeClass(b.cssProcessing)};g.processTbody=function(d,c,a){if(a)return c.before('<span class="tablesorter-savemyplace"/>'),d=j.fn.detach?c.detach():c.remove();d=j(d).find("span.tablesorter-savemyplace");c.insertAfter(d);d.remove()};g.clearTableBody=function(d){d.config.$tbodies.empty()};g.destroy=function(d,c,a){if(d.hasInitialized){g.refreshWidgets(d,!0,!0);var b=j(d),e=d.config,f=b.find("thead:first"),h=f.find("tr."+e.cssHeaderRow).removeClass(e.cssHeaderRow),u=b.find("tfoot:first > tr").children("th, td"); f.find("tr").not(h).remove();b.removeData("tablesorter").unbind("sortReset update updateCell addRows sorton appendCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave sortBegin sortEnd ".split(" ").join(".tablesorter "));e.$headers.add(u).removeClass(e.cssHeader+" "+e.cssAsc+" "+e.cssDesc).removeAttr("data-column");h.find(e.selectorSort).unbind("mousedown.tablesorter mouseup.tablesorter");h.children().each(function(a){j(this).html(e.headerContent[a])});!1!==c&&b.removeClass(e.tableClass+ " tablesorter-"+e.theme);d.hasInitialized=!1;"function"===typeof a&&a(d)}};g.regex=[/(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi,/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,/^0x[0-9a-f]+$/i];g.sortText=function(d,c,a,b){if(c===a)return 0;var e=d.config,f=e.string[e.empties[b]||e.emptyTo],h=g.regex;if(""===c&&0!==f)return"boolean"===typeof f?f?-1:1:-f||-1;if(""===a&&0!==f)return"boolean"===typeof f? f?1:-1:f||1;if("function"===typeof e.textSorter)return e.textSorter(c,a,d,b);d=c.replace(h[0],"\\0$1\\0").replace(/\\0$/,"").replace(/^\\0/,"").split("\\0");b=a.replace(h[0],"\\0$1\\0").replace(/\\0$/,"").replace(/^\\0/,"").split("\\0");c=parseInt(c.match(h[2]),16)||1!==d.length&&c.match(h[1])&&Date.parse(c);if(a=parseInt(a.match(h[2]),16)||c&&a.match(h[1])&&Date.parse(a)||null){if(c<a)return-1;if(c>a)return 1}e=Math.max(d.length,b.length);for(c=0;c<e;c++){a=isNaN(d[c])?d[c]||0:parseFloat(d[c])|| 0;h=isNaN(b[c])?b[c]||0:parseFloat(b[c])||0;if(isNaN(a)!==isNaN(h))return isNaN(a)?1:-1;typeof a!==typeof h&&(a+="",h+="");if(a<h)return-1;if(a>h)return 1}return 0};g.sortTextDesc=function(d,c,a,b){if(c===a)return 0;var e=d.config,f=e.string[e.empties[b]||e.emptyTo];return""===c&&0!==f?"boolean"===typeof f?f?-1:1:f||1:""===a&&0!==f?"boolean"===typeof f?f?1:-1:-f||-1:"function"===typeof e.textSorter?e.textSorter(a,c,d,b):g.sortText(d,a,c)};g.getTextValue=function(d,c,a){if(c){var b=d.length,e=c+a; for(c=0;c<b;c++)e+=d.charCodeAt(c);return a*e}return 0};g.sortNumeric=function(d,c,a,b,e,f){if(c===a)return 0;d=d.config;b=d.string[d.empties[b]||d.emptyTo];if(""===c&&0!==b)return"boolean"===typeof b?b?-1:1:-b||-1;if(""===a&&0!==b)return"boolean"===typeof b?b?1:-1:b||1;isNaN(c)&&(c=g.getTextValue(c,e,f));isNaN(a)&&(a=g.getTextValue(a,e,f));return c-a};g.sortNumericDesc=function(d,c,a,b,e,f){if(c===a)return 0;d=d.config;b=d.string[d.empties[b]||d.emptyTo];if(""===c&&0!==b)return"boolean"===typeof b? b?-1:1:b||1;if(""===a&&0!==b)return"boolean"===typeof b?b?1:-1:-b||-1;isNaN(c)&&(c=g.getTextValue(c,e,f));isNaN(a)&&(a=g.getTextValue(a,e,f));return a-c};g.characterEquivalents={a:"\u00e1\u00e0\u00e2\u00e3\u00e4\u0105\u00e5",A:"\u00c1\u00c0\u00c2\u00c3\u00c4\u0104\u00c5",c:"\u00e7\u0107\u010d",C:"\u00c7\u0106\u010c",e:"\u00e9\u00e8\u00ea\u00eb\u011b\u0119",E:"\u00c9\u00c8\u00ca\u00cb\u011a\u0118",i:"\u00ed\u00ec\u0130\u00ee\u00ef\u0131",I:"\u00cd\u00cc\u0130\u00ce\u00cf",o:"\u00f3\u00f2\u00f4\u00f5\u00f6", O:"\u00d3\u00d2\u00d4\u00d5\u00d6",ss:"\u00df",SS:"\u1e9e",u:"\u00fa\u00f9\u00fb\u00fc\u016f",U:"\u00da\u00d9\u00db\u00dc\u016e"};g.replaceAccents=function(d){var c,a="[",b=g.characterEquivalents;if(!g.characterRegex){g.characterRegexArray={};for(c in b)"string"===typeof c&&(a+=b[c],g.characterRegexArray[c]=RegExp("["+b[c]+"]","g"));g.characterRegex=RegExp(a+"]")}if(g.characterRegex.test(d))for(c in b)"string"===typeof c&&(d=d.replace(g.characterRegexArray[c],c));return d};g.isValueInArray=function(d, c){var a,b=c.length;for(a=0;a<b;a++)if(c[a][0]===d)return!0;return!1};g.addParser=function(d){var c,a=g.parsers.length,b=!0;for(c=0;c<a;c++)g.parsers[c].id.toLowerCase()===d.id.toLowerCase()&&(b=!1);b&&g.parsers.push(d)};g.getParserById=function(d){var c,a=g.parsers.length;for(c=0;c<a;c++)if(g.parsers[c].id.toLowerCase()===d.toString().toLowerCase())return g.parsers[c];return!1};g.addWidget=function(d){g.widgets.push(d)};g.getWidgetById=function(d){var c,a,b=g.widgets.length;for(c=0;c<b;c++)if((a= g.widgets[c])&&a.hasOwnProperty("id")&&a.id.toLowerCase()===d.toLowerCase())return a};g.applyWidget=function(d,c){var a=d.config,b=a.widgetOptions,e=a.widgets.sort().reverse(),f,h,m,n=e.length;h=j.inArray("zebra",a.widgets);0<=h&&(a.widgets.splice(h,1),a.widgets.push("zebra"));a.debug&&(f=new Date);for(h=0;h<n;h++)(m=g.getWidgetById(e[h]))&&(!0===c&&m.hasOwnProperty("init")?m.init(d,m,a,b):!c&&m.hasOwnProperty("format")&&m.format(d,a,b));a.debug&&u("Completed "+(!0===c?"initializing":"applying")+ " widgets",f)};g.refreshWidgets=function(d,c,a){var b,h=d.config,f=h.widgets,l=g.widgets,m=l.length;for(b=0;b<m;b++)if(l[b]&&l[b].id&&(c||0>j.inArray(l[b].id,f)))h.debug&&e("Refeshing widgets: Removing "+l[b].id),l[b].hasOwnProperty("remove")&&l[b].remove(d,h,h.widgetOptions);!0!==a&&g.applyWidget(d,c)};g.getData=function(d,c,a){var b="";d=j(d);var e,f;if(!d.length)return"";e=j.metadata?d.metadata():!1;f=" "+(d.attr("class")||"");"undefined"!==typeof d.data(a)||"undefined"!==typeof d.data(a.toLowerCase())? b+=d.data(a)||d.data(a.toLowerCase()):e&&"undefined"!==typeof e[a]?b+=e[a]:c&&"undefined"!==typeof c[a]?b+=c[a]:" "!==f&&f.match(" "+a+"-")&&(b=f.match(RegExp(" "+a+"-(\\w+)"))[1]||"");return j.trim(b)};g.formatFloat=function(d,c){if("string"!==typeof d||""===d)return d;var a;d=(c&&c.config?!1!==c.config.usNumberFormat:"undefined"!==typeof c?c:1)?d.replace(/,/g,""):d.replace(/[\s|\.]/g,"").replace(/,/g,".");/^\s*\([.\d]+\)/.test(d)&&(d=d.replace(/^\s*\(/,"-").replace(/\)/,""));a=parseFloat(d);return isNaN(a)? j.trim(d):a};g.isDigit=function(d){return isNaN(d)?/^[\-+(]?\d+[)]?$/.test(d.toString().replace(/[,.'"\s]/g,"")):!0}}});var h=j.tablesorter;j.fn.extend({tablesorter:h.construct});h.addParser({id:"text",is:function(){return!0},format:function(e,u){var p=u.config;e=j.trim(p.ignoreCase?e.toLocaleLowerCase():e);return p.sortLocaleCompare?h.replaceAccents(e):e},type:"text"});h.addParser({id:"currency",is:function(e){return/^\(?\d+[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]|[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]\d+\)?$/.test((e|| "").replace(/[,. ]/g,""))},format:function(e,j){return h.formatFloat(e.replace(/[^\w,. \-()]/g,""),j)},type:"numeric"});h.addParser({id:"ipAddress",is:function(e){return/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/.test(e)},format:function(e,j){var p,r=e.split("."),s="",m=r.length;for(p=0;p<m;p++)s+=("00"+r[p]).slice(-3);return h.formatFloat(s,j)},type:"numeric"});h.addParser({id:"url",is:function(e){return/^(https?|ftp|file):\/\//.test(e)},format:function(e){return j.trim(e.replace(/(https?|ftp|file):\/\//, ""))},type:"text"});h.addParser({id:"isoDate",is:function(e){return/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}/.test(e)},format:function(e,j){return h.formatFloat(""!==e?(new Date(e.replace(/-/g,"/"))).getTime()||"":"",j)},type:"numeric"});h.addParser({id:"percent",is:function(e){return/(\d\s?%|%\s?\d)/.test(e)},format:function(e,j){return h.formatFloat(e.replace(/%/g,""),j)},type:"numeric"});h.addParser({id:"usLongDate",is:function(e){return/^[A-Z]{3,10}\.?\s+\d{1,2},?\s+(\d{4})(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?$/i.test(e)|| /^\d{1,2}\s+[A-Z]{3,10}\s+\d{4}/i.test(e)},format:function(e,j){return h.formatFloat((new Date(e.replace(/(\S)([AP]M)$/i,"$1 $2"))).getTime()||"",j)},type:"numeric"});h.addParser({id:"shortDate",is:function(e){return/^(\d{1,2}|\d{4})[\/\-\,\.\s+]\d{1,2}[\/\-\.\,\s+](\d{1,2}|\d{4})$/.test(e)},format:function(e,j,p,r){p=j.config;var s=p.headerList[r],m=s.shortDateFormat;"undefined"===typeof m&&(m=s.shortDateFormat=h.getData(s,p.headers[r],"dateFormat")||p.dateFormat);e=e.replace(/\s+/g," ").replace(/[\-|\.|\,]/g, "/");"mmddyyyy"===m?e=e.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/,"$3/$1/$2"):"ddmmyyyy"===m?e=e.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/,"$3/$2/$1"):"yyyymmdd"===m&&(e=e.replace(/(\d{4})[\/\s](\d{1,2})[\/\s](\d{1,2})/,"$1/$2/$3"));return h.formatFloat((new Date(e)).getTime()||"",j)},type:"numeric"});h.addParser({id:"time",is:function(e){return/^(([0-2]?\d:[0-5]\d)|([0-1]?\d:[0-5]\d\s?([AP]M)))$/i.test(e)},format:function(e,j){return h.formatFloat((new Date("2000/01/01 "+e.replace(/(\S)([AP]M)$/i, "$1 $2"))).getTime()||"",j)},type:"numeric"});h.addParser({id:"digit",is:function(e){return h.isDigit(e)},format:function(e,j){return h.formatFloat(e.replace(/[^\w,. \-()]/g,""),j)},type:"numeric"});h.addParser({id:"metadata",is:function(){return!1},format:function(e,h,p){e=h.config;e=!e.parserMetadataName?"sortValue":e.parserMetadataName;return j(p).metadata()[e]},type:"numeric"});h.addWidget({id:"zebra",format:function(e,u,p){var r,s,m,F,G,C,I=RegExp(u.cssChildRow,"i"),g=u.$tbodies;u.debug&&(G= new Date);for(e=0;e<g.length;e++)r=g.eq(e),C=r.children("tr").length,1<C&&(m=0,r=r.children("tr:visible"),r.each(function(){s=j(this);I.test(this.className)||m++;F=0===m%2;s.removeClass(p.zebra[F?1:0]).addClass(p.zebra[F?0:1])}));u.debug&&h.benchmark("Applying Zebra widget",G)},remove:function(e,h){var p,r,s=h.$tbodies,m=(h.widgetOptions.zebra||["even","odd"]).join(" ");for(p=0;p<s.length;p++)r=j.tablesorter.processTbody(e,s.eq(p),!0),r.children().removeClass(m),j.tablesorter.processTbody(e,r,!1)}})}(jQuery);
718</script>
719<script type="text/javascript">
720/*
721 Copyright 2008-2013
722 Matthias Ehmann,
723 Michael Gerhaeuser,
724 Carsten Miller,
725 Bianca Valentin,
726 Alfred Wassermann,
727 Peter Wilfahrt
728 Dual licensed under the Apache License Version 2.0, or LGPL Version 3 licenses.
729 You should have received a copy of the GNU Lesser General Public License
730 along with JSXCompressor. If not, see <http://www.gnu.org/licenses/>.
731 You should have received a copy of the Apache License along with JSXCompressor.
732 If not, see <http://www.apache.org/licenses/>.
733*/
734(function(){var e,r,n;(function(t){function o(e,r){return y.call(e,r)}function i(e,r){var n,t,o,i,u,f,a,c,s,l,p=r&&r.split("/"),d=k.map,g=d&&d["*"]||{};if(e&&"."===e.charAt(0))if(r){for(p=p.slice(0,p.length-1),e=p.concat(e.split("/")),c=0;e.length>c;c+=1)if(l=e[c],"."===l)e.splice(c,1),c-=1;else if(".."===l){if(1===c&&(".."===e[2]||".."===e[0]))break;c>0&&(e.splice(c-1,2),c-=2)}e=e.join("/")}else 0===e.indexOf("./")&&(e=e.substring(2));if((p||g)&&d){for(n=e.split("/"),c=n.length;c>0;c-=1){if(t=n.slice(0,c).join("/"),p)for(s=p.length;s>0;s-=1)if(o=d[p.slice(0,s).join("/")],o&&(o=o[t])){i=o,u=c;break}if(i)break;!f&&g&&g[t]&&(f=g[t],a=c)}!i&&f&&(i=f,u=a),i&&(n.splice(0,u,i),e=n.join("/"))}return e}function u(e,r){return function(){return d.apply(t,v.call(arguments,0).concat([e,r]))}}function f(e){return function(r){return i(r,e)}}function a(e){return function(r){b[e]=r}}function c(e){if(o(m,e)){var r=m[e];delete m[e],C[e]=!0,p.apply(t,r)}if(!o(b,e)&&!o(C,e))throw Error("No "+e);return b[e]}function s(e){var r,n=e?e.indexOf("!"):-1;return n>-1&&(r=e.substring(0,n),e=e.substring(n+1,e.length)),[r,e]}function l(e){return function(){return k&&k.config&&k.config[e]||{}}}var p,d,g,h,b={},m={},k={},C={},y=Object.prototype.hasOwnProperty,v=[].slice;g=function(e,r){var n,t=s(e),o=t[0];return e=t[1],o&&(o=i(o,r),n=c(o)),o?e=n&&n.normalize?n.normalize(e,f(r)):i(e,r):(e=i(e,r),t=s(e),o=t[0],e=t[1],o&&(n=c(o))),{f:o?o+"!"+e:e,n:e,pr:o,p:n}},h={require:function(e){return u(e)},exports:function(e){var r=b[e];return r!==void 0?r:b[e]={}},module:function(e){return{id:e,uri:"",exports:b[e],config:l(e)}}},p=function(e,r,n,i){var f,s,l,p,d,k,y=[];if(i=i||e,"function"==typeof n){for(r=!r.length&&n.length?["require","exports","module"]:r,d=0;r.length>d;d+=1)if(p=g(r[d],i),s=p.f,"require"===s)y[d]=h.require(e);else if("exports"===s)y[d]=h.exports(e),k=!0;else if("module"===s)f=y[d]=h.module(e);else if(o(b,s)||o(m,s)||o(C,s))y[d]=c(s);else{if(!p.p)throw Error(e+" missing "+s);p.p.load(p.n,u(i,!0),a(s),{}),y[d]=b[s]}l=n.apply(b[e],y),e&&(f&&f.exports!==t&&f.exports!==b[e]?b[e]=f.exports:l===t&&k||(b[e]=l))}else e&&(b[e]=n)},e=r=d=function(e,r,n,o,i){return"string"==typeof e?h[e]?h[e](r):c(g(e,r).f):(e.splice||(k=e,r.splice?(e=r,r=n,n=null):e=t),r=r||function(){},"function"==typeof n&&(n=o,o=i),o?p(t,e,r,n):setTimeout(function(){p(t,e,r,n)},4),d)},d.config=function(e){return k=e,k.deps&&d(k.deps,k.callback),d},n=function(e,r,n){r.splice||(n=r,r=[]),o(b,e)||o(m,e)||(m[e]=[e,r,n])},n.amd={jQuery:!0}})(),n("../node_modules/almond/almond",function(){}),n("jxg",[],function(){var e={};return"object"!=typeof JXG||JXG.extend||(e=JXG),e.extend=function(e,r,n,t){var o,i;n=n||!1,t=t||!1;for(o in r)(!n||n&&r.hasOwnProperty(o))&&(i=t?o.toLowerCase():o,e[i]=r[o])},e.extend(e,{boards:{},readers:{},elements:{},registerElement:function(e,r){e=e.toLowerCase(),this.elements[e]=r},registerReader:function(e,r){var n,t;for(n=0;r.length>n;n++)t=r[n].toLowerCase(),"function"!=typeof this.readers[t]&&(this.readers[t]=e)},shortcut:function(e,r){return function(){return e[r].apply(this,arguments)}},getRef:function(e,r){return e.select(r)},getReference:function(e,r){return e.select(r)},debugInt:function(){var e,r;for(e=0;arguments.length>e;e++)r=arguments[e],"object"==typeof window&&window.console&&console.log?console.log(r):"object"==typeof document&&document.getElementById("debug")&&(document.getElementById("debug").innerHTML+=r+"<br/>")},debugWST:function(){var r=Error();e.debugInt.apply(this,arguments),r&&r.stack&&(e.debugInt("stacktrace"),e.debugInt(r.stack.split("\n").slice(1).join("\n")))},debugLine:function(){var r=Error();e.debugInt.apply(this,arguments),r&&r.stack&&e.debugInt("Called from",r.stack.split("\n").slice(2,3).join("\n"))},debug:function(){e.debugInt.apply(this,arguments)}}),e}),n("utils/zip",["jxg"],function(e){var r=[0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255],n=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],t=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,99,99],o=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],i=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],u=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],f=256;return e.Util=e.Util||{},e.Util.Unzip=function(a){function c(){return q+=8,N>R?a[R++]:-1}function s(){T=1}function l(){var e;return q++,e=1&T,T>>=1,0===T&&(T=c(),e=1&T,T=128|T>>1),e}function p(e){for(var n=0,t=e;t--;)n=n<<1|l();return e&&(n=r[n]>>8-e),n}function d(){L=0}function g(e){A++,E[L++]=e,z.push(String.fromCharCode(e)),32768===L&&(L=0)}function h(){this.b0=0,this.b1=0,this.jump=null,this.jumppos=-1}function b(){for(;;){if(H[P]>=w)return-1;if(U[H[P]]===P)return H[P]++;H[P]++}}function m(){var e,r=F[X];if(17===P)return-1;if(X++,P++,e=b(),e>=0)r.b0=e;else if(r.b0=32768,m())return-1;if(e=b(),e>=0)r.b1=e,r.jump=null;else if(r.b1=32768,r.jump=F[X],r.jumppos=X,m())return-1;return P--,0}function k(e,r,n){var t;for(F=e,X=0,U=n,w=r,t=0;17>t;t++)H[t]=0;return P=0,m()?-1:0}function C(e){for(var r,n,t,o=0,i=e[o];;)if(t=l()){if(!(32768&i.b1))return i.b1;for(i=i.jump,r=e.length,n=0;r>n;n++)if(e[n]===i){o=n;break}}else{if(!(32768&i.b0))return i.b0;o++,i=e[o]}}function y(){var f,a,b,m,y,v,j,A,x,U,w,S,z,I,O,B,N;do if(f=l(),b=p(2),0===b)for(s(),U=c(),U|=c()<<8,S=c(),S|=c()<<8,65535&(U^~S)&&e.debug("BlockLen checksum mismatch\n");U--;)a=c(),g(a);else if(1===b)for(;;)if(y=r[p(7)]>>1,y>23?(y=y<<1|l(),y>199?(y-=128,y=y<<1|l()):(y-=48,y>143&&(y+=136))):y+=256,256>y)g(y);else{if(256===y)break;for(y-=257,x=p(t[y])+n[y],y=r[p(5)]>>3,i[y]>8?(w=p(8),w|=p(i[y]-8)<<8):w=p(i[y]),w+=o[y],y=0;x>y;y++)a=E[32767&L-w],g(a)}else if(2===b){for(j=Array(320),I=257+p(5),O=1+p(5),B=4+p(4),y=0;19>y;y++)j[y]=0;for(y=0;B>y;y++)j[u[y]]=p(3);for(x=J.length,m=0;x>m;m++)J[m]=new h;if(k(J,19,j,0))return d(),1;for(z=I+O,m=0,N=-1;z>m;)if(N++,y=C(J),16>y)j[m++]=y;else if(16===y){if(y=3+p(2),m+y>z)return d(),1;for(v=m?j[m-1]:0;y--;)j[m++]=v}else{if(y=17===y?3+p(3):11+p(7),m+y>z)return d(),1;for(;y--;)j[m++]=0}for(x=G.length,m=0;x>m;m++)G[m]=new h;if(k(G,I,j,0))return d(),1;for(x=G.length,m=0;x>m;m++)J[m]=new h;for(A=[],m=I;j.length>m;m++)A[m-I]=j[m];if(k(J,O,A,0))return d(),1;for(;;)if(y=C(G),y>=256){if(y-=256,0===y)break;for(y-=1,x=p(t[y])+n[y],y=C(J),i[y]>8?(w=p(8),w|=p(i[y]-8)<<8):w=p(i[y]),w+=o[y];x--;)a=E[32767&L-w],g(a)}else g(y)}while(!f);return d(),s(),0}function v(){var e,r,n,t,o,i,u,a,s=[];if(z=[],B=!1,s[0]=c(),s[1]=c(),120===s[0]&&218===s[1]&&(y(),O[I]=[z.join(""),"geonext.gxt"],I++),31===s[0]&&139===s[1]&&(S(),O[I]=[z.join(""),"file"],I++),80===s[0]&&75===s[1]&&(B=!0,s[2]=c(),s[3]=c(),3===s[2]&&4===s[3])){for(s[0]=c(),s[1]=c(),j=c(),j|=c()<<8,a=c(),a|=c()<<8,c(),c(),c(),c(),u=c(),u|=c()<<8,u|=c()<<16,u|=c()<<24,i=c(),i|=c()<<8,i|=c()<<16,i|=c()<<24,o=c(),o|=c()<<8,o|=c()<<16,o|=c()<<24,t=c(),t|=c()<<8,n=c(),n|=c()<<8,e=0,M=[];t--;)r=c(),"/"===r|":"===r?e=0:f-1>e&&(M[e++]=String.fromCharCode(r));for(x||(x=M),e=0;n>e;)r=c(),e++;A=0,8===a&&(y(),O[I]=Array(2),O[I][0]=z.join(""),O[I][1]=M.join(""),I++),S()}}var j,A,x,U,w,S,z=[],I=0,O=[],E=Array(32768),L=0,B=!1,N=a.length,R=0,T=1,q=0,G=Array(288),J=Array(32),X=0,F=null,P=(Array(64),Array(64),0),H=Array(17),M=[];H[0]=0,S=function(){var e,r,n,t,o,i,u=[];if(8&j&&(u[0]=c(),u[1]=c(),u[2]=c(),u[3]=c(),80===u[0]&&75===u[1]&&7===u[2]&&8===u[3]?(e=c(),e|=c()<<8,e|=c()<<16,e|=c()<<24):e=u[0]|u[1]<<8|u[2]<<16|u[3]<<24,r=c(),r|=c()<<8,r|=c()<<16,r|=c()<<24,n=c(),n|=c()<<8,n|=c()<<16,n|=c()<<24),B&&v(),u[0]=c(),8===u[0]){if(j=c(),c(),c(),c(),c(),c(),t=c(),4&j)for(u[0]=c(),u[2]=c(),P=u[0]+256*u[1],o=0;P>o;o++)c();if(8&j)for(o=0,M=[],i=c();i;)("7"===i||":"===i)&&(o=0),f-1>o&&(M[o++]=i),i=c();if(16&j)for(i=c();i;)i=c();2&j&&(c(),c()),y(),e=c(),e|=c()<<8,e|=c()<<16,e|=c()<<24,n=c(),n|=c()<<8,n|=c()<<16,n|=c()<<24,B&&v()}},e.Util.Unzip.prototype.unzipFile=function(e){var r;for(this.unzip(),r=0;O.length>r;r++)if(O[r][1]===e)return O[r][0];return""},e.Util.Unzip.prototype.unzip=function(){return v(),O}},e.Util}),n("utils/encoding",["jxg"],function(e){var r=0,n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,10,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,11,6,6,6,5,8,8,8,8,8,8,8,8,8,8,8,0,12,24,36,60,96,84,12,12,12,48,72,12,12,12,12,12,12,12,12,12,12,12,12,12,0,12,12,12,12,12,0,12,0,12,12,12,24,12,12,12,12,12,24,12,24,12,12,12,12,12,12,12,12,12,24,12,12,12,12,12,24,12,12,12,12,12,12,12,24,12,12,12,12,12,12,12,12,12,36,12,36,12,12,12,36,12,12,12,12,12,36,12,36,12,12,12,36,12,12,12,12,12,12,12,12,12,12];return e.Util=e.Util||{},e.Util.UTF8={encode:function(e){var r,n,t="",o=e.length;if(e=e.replace(/\r\n/g,"\n"),"function"==typeof unescape&&"function"==typeof encodeURIComponent)return unescape(encodeURIComponent(e));for(r=0;o>r;r++)n=e.charCodeAt(r),128>n?t+=String.fromCharCode(n):n>127&&2048>n?(t+=String.fromCharCode(192|n>>6),t+=String.fromCharCode(128|63&n)):(t+=String.fromCharCode(224|n>>12),t+=String.fromCharCode(128|63&n>>6),t+=String.fromCharCode(128|63&n));return t},decode:function(e){var t,o,i,u=0,f=0,a=r,c=[],s=e.length,l=[];for(t=0;s>t;t++)o=e.charCodeAt(t),i=n[o],f=a!==r?63&o|f<<6:255>>i&o,a=n[256+a+i],a===r&&(f>65535?c.push(55232+(f>>10),56320+(1023&f)):c.push(f),u++,0===u%1e4&&(l.push(String.fromCharCode.apply(null,c)),c=[]));return l.push(String.fromCharCode.apply(null,c)),l.join("")},asciiCharCodeAt:function(e,r){var n=e.charCodeAt(r);if(n>255)switch(n){case 8364:n=128;break;case 8218:n=130;break;case 402:n=131;break;case 8222:n=132;break;case 8230:n=133;break;case 8224:n=134;break;case 8225:n=135;break;case 710:n=136;break;case 8240:n=137;break;case 352:n=138;break;case 8249:n=139;break;case 338:n=140;break;case 381:n=142;break;case 8216:n=145;break;case 8217:n=146;break;case 8220:n=147;break;case 8221:n=148;break;case 8226:n=149;break;case 8211:n=150;break;case 8212:n=151;break;case 732:n=152;break;case 8482:n=153;break;case 353:n=154;break;case 8250:n=155;break;case 339:n=156;break;case 382:n=158;break;case 376:n=159;break;default:}return n}},e.Util.UTF8}),n("utils/base64",["jxg","utils/encoding"],function(e,r){var n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";return e.Util=e.Util||{},e.Util.Base64={encode:function(e){var t,o,i,u,f,a,c,s=[],l=0;for(e=r.encode(e);e.length>l;)t=e.charCodeAt(l++),o=e.charCodeAt(l++),i=e.charCodeAt(l++),u=t>>2,f=(3&t)<<4|o>>4,a=(15&o)<<2|i>>6,c=63&i,isNaN(o)?a=c=64:isNaN(i)&&(c=64),s.push([n.charAt(u),n.charAt(f),n.charAt(a),n.charAt(c)].join(""));return s.join("")},decode:function(e,t){var o,i,u,f,a,c,s,l=[],p=0,d=e.length;for(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");d>p;)f=n.indexOf(e.charAt(p++)),a=n.indexOf(e.charAt(p++)),c=n.indexOf(e.charAt(p++)),s=n.indexOf(e.charAt(p++)),o=f<<2|a>>4,i=(15&a)<<4|c>>2,u=(3&c)<<6|s,l.push(String.fromCharCode(o)),64!==c&&l.push(String.fromCharCode(i)),64!==s&&l.push(String.fromCharCode(u));return l=l.join(""),t&&(l=r.decode(l)),l},decodeAsArray:function(e){var r,n=this.decode(e),t=[],o=n.length;for(r=0;o>r;r++)t[r]=n.charCodeAt(r);return t}},e.Util.Base64}),n("../build/compressor.deps.js",["jxg","utils/zip","utils/base64"],function(e,r,n){return e.decompress=function(e){return unescape(new r.Unzip(n.decodeAsArray(e)).unzip()[0][0])},e}),window.JXG=r("../build/compressor.deps.js")})();
735</script>
736<script type="text/javascript">
737window.fileLoading = (function () {
738 var fileLoadingCallbacks = {};
739 var timestamp = new Date().getTime();
740 function loadKeywordsFile(filename, callback) {
741 fileLoadingCallbacks[filename] = callback;
742 var script = document.createElement('script');
743 script.type = 'text/javascript';
744 // timestamp as an argument to prevent browsers from caching scripts
745 // see: http://stackoverflow.com/questions/866619/how-to-force-ie-to-reload-javascript
746 script.src = filename+'?time='+timestamp;
747 document.getElementsByTagName("head")[0].appendChild(script);
748 }
749 function getCallbackHandlerForKeywords(parent) {
750 var callableList = [];
751 return function (callable) {
752 if (!parent.isChildrenLoaded) {
753 callableList.push(callable);
754 if (callableList.length == 1) {
755 loadKeywordsFile(parent.childFileName, function () {
756 parent.isChildrenLoaded = true;
757 for (var i = 0; i < callableList.length; i++) {
758 callableList[i]();
759 }
760 });
761 }
762 } else {
763 callable();
764 }
765 }
766 }
767 function notifyFileLoaded(filename) {
768 fileLoadingCallbacks[filename]();
769 }
770 return {
771 getCallbackHandlerForKeywords: getCallbackHandlerForKeywords,
772 notify: notifyFileLoaded
773 }
774}());
775</script>
776<script type="text/javascript">
777window.model = (function () {
778 function Suite(data) {
779 var suite = createModelObject(data);
780 suite.source = data.source;
781 suite.relativeSource = data.relativeSource;
782 suite.fullName = data.parent ? data.parent.fullName + '.' + data.name : data.name;
783 setStats(suite, data.statistics);
784 suite.metadata = data.metadata;
785 suite.populateKeywords = createIterablePopulator('Keyword');
786 suite.populateTests = createIterablePopulator('Test');
787 suite.populateSuites = createIterablePopulator('Suite');
788 suite.childrenNames = ['keyword', 'suite', 'test'];
789 suite.callWhenChildrenReady = function (callable) { callable(); };
790 suite.message = data.message;
791 suite.children = function () {
792 return suite.keywords().concat(suite.tests()).concat(suite.suites());
793 };
794 suite.searchTests = function (predicate) {
795 var tests = [];
796 var suites = this.suites();
797 for (var i in suites)
798 tests = tests.concat(suites[i].searchTests(predicate));
799 return tests.concat(util.filter(this.tests(), predicate));
800 };
801 suite.searchTestsInSuite = function (pattern, matcher) {
802 if (!matcher)
803 matcher = util.Matcher(pattern);
804 if (matcher.matchesAny([suite.fullName, suite.name]))
805 return suite.allTests();
806 var tests = [];
807 var suites = this.suites();
808 for (var i in suites)
809 tests = tests.concat(suites[i].searchTestsInSuite(pattern, matcher));
810 return tests;
811 }
812 suite.searchTestsByTag = function (tag) {
813 return suite.searchTests(function (test) {
814 if (tag.combined)
815 return containsTagPattern(test.tags, tag.combined);
816 return containsTag(test.tags, tag.label);
817 });
818 };
819 suite.findSuiteByName = function (name) {
820 return findSuiteByName(suite, name);
821 };
822 suite.allTests = function () {
823 return suite.searchTests(function (test) {
824 return true;
825 });
826 };
827 suite.criticalTests = function () {
828 return suite.searchTests(function (test) {
829 return test.isCritical;
830 });
831 };
832 return suite;
833 }
834 function containsTag(testTags, tagname) {
835 testTags = util.map(testTags, util.normalize);
836 return util.contains(testTags, util.normalize(tagname));
837 }
838 function containsTagPattern(testTags, pattern) {
839 var patterns;
840 if (pattern.indexOf('NOT') != -1) {
841 patterns = pattern.split('NOT');
842 return containsTagPattern(testTags, patterns[0]) &&
843 util.all(util.map(patterns.slice(1), function (p) {
844 return !containsTagPattern(testTags, p);
845 }));
846 }
847 if (pattern.indexOf('OR') != -1) {
848 patterns = pattern.split('OR');
849 return util.any(util.map(patterns, function (p) {
850 return containsTagPattern(testTags, p);
851 }));
852 }
853 if (pattern.indexOf('AND') != -1) {
854 patterns = pattern.split('AND');
855 return util.all(util.map(patterns, function (p) {
856 return containsTagPattern(testTags, p);
857 }));
858 }
859 return util.Matcher(pattern).matchesAny(testTags);
860 }
861 function findSuiteByName(suite, name) {
862 if (suite.fullName == name)
863 return suite;
864 var subSuites = suite.suites();
865 for (var i in subSuites) {
866 var match = findSuiteByName(subSuites[i], name);
867 if (match)
868 return match;
869 }
870 return null;
871 }
872 function setStats(suite, stats) {
873 for (var name in stats) {
874 suite[name] = stats[name];
875 }
876 }
877 function createModelObject(data) {
878 return {
879 name: data.name,
880 doc: data.doc,
881 status: data.status,
882 times: data.times,
883 id: data.parent ? data.parent.id + '-' + data.id : data.id
884 };
885 }
886 function Test(data) {
887 var test = createModelObject(data);
888 test.fullName = data.parent.fullName + '.' + test.name;
889 test.formatParentName = function () { return util.formatParentName(test); };
890 test.timeout = data.timeout;
891 test.populateKeywords = createIterablePopulator('Keyword');
892 test.childrenNames = ['keyword'];
893 test.isChildrenLoaded = data.isChildrenLoaded;
894 test.callWhenChildrenReady = window.fileLoading.getCallbackHandlerForKeywords(test);
895 test.children = function () {
896 if (test.isChildrenLoaded)
897 return test.keywords();
898 };
899 test.isCritical = data.isCritical;
900 test.tags = data.tags;
901 test.message = data.message;
902 test.matchesTagPattern = function (pattern) {
903 return containsTagPattern(test.tags, pattern);
904 };
905 test.matchesNamePattern = function (pattern) {
906 return util.Matcher(pattern).matchesAny([test.name, test.fullName]);
907 };
908 return test;
909 }
910 function Keyword(data) {
911 var kw = createModelObject(data);
912 kw.type = data.type;
913 kw.arguments = data.args;
914 kw.timeout = data.timeout;
915 kw.populateMessages = createIterablePopulator('Message');
916 kw.populateKeywords = createIterablePopulator('Keyword');
917 kw.childrenNames = ['keyword', 'message'];
918 kw.isChildrenLoaded = data.isChildrenLoaded;
919 kw.callWhenChildrenReady = window.fileLoading.getCallbackHandlerForKeywords(kw);
920 kw.children = function () {
921 if (kw.isChildrenLoaded)
922 return kw.keywords();
923 };
924 return kw;
925 }
926 function Message(level, date, text, link) {
927 return {
928 level: level,
929 time: util.timeFromDate(date),
930 date: util.dateFromDate(date),
931 text: text,
932 link: link
933 };
934 }
935 function Times(timedata) {
936 var start = timedata[0];
937 var end = timedata[1];
938 var elapsed = timedata[2];
939 return {
940 elapsedMillis: elapsed,
941 elapsedTime: util.formatElapsed(elapsed),
942 startTime: util.dateTimeFromDate(start),
943 endTime: util.dateTimeFromDate(end)
944 };
945 }
946 function createIterablePopulator(name) {
947 return function (populator) {
948 populateIterable(this, name, populator);
949 };
950 }
951 function populateIterable(obj, name, populator) {
952 name = name.toLowerCase() + 's';
953 obj[name] = createGetAllFunction(populator.numberOfItems, populator.creator);
954 }
955 function createGetAllFunction(numberOfElements, creator) {
956 var cached = null;
957 return function () {
958 if (cached === null) {
959 cached = [];
960 for (var i = 0; i < numberOfElements(); i++) {
961 cached.push(creator(i));
962 }
963 }
964 return cached;
965 };
966 }
967 return {
968 Suite: Suite,
969 Test: Test,
970 Keyword: Keyword,
971 Message: Message,
972 Times: Times,
973 containsTag: containsTag, // Exposed for tests
974 containsTagPattern: containsTagPattern // Exposed for tests
975 };
976}());
977window.stats = (function () {
978 function Statistics(totalElems, tagElems, suiteElems) {
979 return {total: util.map(totalElems, totalStatElem),
980 tag: util.map(tagElems, tagStatElem),
981 suite: util.map(suiteElems, suiteStatElem)};
982 }
983 function statElem(stat) {
984 stat.total = stat.pass + stat.fail;
985 var percents = calculatePercents(stat.total, stat.pass, stat.fail);
986 stat.passPercent = percents[0];
987 stat.failPercent = percents[1];
988 var widths = calculateWidths(stat.passPercent, stat.failPercent);
989 stat.passWidth = widths[0];
990 stat.failWidth = widths[1];
991 return stat;
992 }
993 function totalStatElem(data) {
994 var stat = statElem(data);
995 stat.type = stat.label == 'Critical Tests' ? 'critical' : 'all';
996 return stat;
997 }
998 function tagStatElem(data) {
999 var stat = statElem(data);
1000 stat.links = parseLinks(stat.links);
1001 return stat;
1002 }
1003 function suiteStatElem(data) {
1004 var stat = statElem(data);
1005 stat.fullName = stat.label;
1006 stat.formatParentName = function () { return util.formatParentName(stat); };
1007 // compatibility with RF 2.5 outputs
1008 if (!stat.name)
1009 stat.name = stat.label.split('.').pop();
1010 return stat;
1011 }
1012 function parseLinks(linksData) {
1013 if (!linksData)
1014 return [];
1015 return util.map(linksData.split(':::'), function (link) {
1016 var index = link.indexOf(':');
1017 return {title: link.slice(0, index), url: link.slice(index+1)};
1018 });
1019 }
1020 function calculatePercents(total, passed, failed) {
1021 if (total == 0)
1022 return [0.0, 0.0];
1023 var pass = 100.0 * passed / total;
1024 var fail = 100.0 * failed / total;
1025 if (pass > 0 && pass < 0.1)
1026 return [0.1, 99.9];
1027 if (fail > 0 && fail < 0.1)
1028 return [99.9, 0.1];
1029 return [Math.round(pass*10)/10, Math.round(fail*10)/10];
1030 }
1031 function calculateWidths(num1, num2) {
1032 if (num1 + num2 == 0)
1033 return [0.0, 0.0];
1034 // Make small percentages better visible
1035 if (num1 > 0 && num1 < 1)
1036 return [1.0, 99.0];
1037 if (num2 > 0 && num2 < 1)
1038 return [99.0, 1.0];
1039 // Handle situation where both are rounded up
1040 while (num1 + num2 > 100) {
1041 if (num1 > num2)
1042 num1 -= 0.1;
1043 if (num2 > num1)
1044 num2 -= 0.1;
1045 }
1046 return [num1, num2];
1047 }
1048 return {
1049 Statistics: Statistics
1050 };
1051}());
1052</script>
1053<script type="text/javascript">
1054window.util = function () {
1055 function map(elems, func) {
1056 var ret = [];
1057 for (var i = 0, len = elems.length; i < len; i++) {
1058 ret[i] = func(elems[i]);
1059 }
1060 return ret;
1061 }
1062 function filter(elems, predicate) {
1063 var ret = [];
1064 for (var i = 0, len = elems.length; i < len; i++) {
1065 if (predicate(elems[i]))
1066 ret.push(elems[i]);
1067 }
1068 return ret;
1069 }
1070 function all(elems) {
1071 for (var i = 0, len = elems.length; i < len; i++) {
1072 if (!elems[i])
1073 return false;
1074 }
1075 return true;
1076 }
1077 function any(elems) {
1078 for (var i = 0, len = elems.length; i < len; i++) {
1079 if (elems[i])
1080 return elems[i];
1081 }
1082 return false;
1083 }
1084 function contains(elems, e) {
1085 for (var i = 0, len = elems.length; i < len; i++) {
1086 if (elems[i] == e)
1087 return true;
1088 }
1089 return false;
1090 }
1091 function last(items) {
1092 return items[items.length-1];
1093 }
1094 function unescape(string) {
1095 return string.replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&amp;/g, '&');
1096 }
1097 function escape(string) {
1098 return string.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
1099 }
1100 function normalize(string) {
1101 return string.toLowerCase().replace(/ /g, '').replace(/_/g, '');
1102 }
1103 function regexpEscape(string) {
1104 return string.replace(/[-[\]{}()+?*.,\\^$|#]/g, "\\$&");
1105 }
1106 function Matcher(pattern) {
1107 pattern = regexpEscape(normalize(pattern));
1108 var rePattern = '^' + pattern.replace(/\\\?/g, '.').replace(/\\\*/g, '[\\s\\S]*') + '$';
1109 var regexp = new RegExp(rePattern);
1110 function matches(string) {
1111 return regexp.test(normalize(string));
1112 }
1113 return {
1114 matches: matches,
1115 matchesAny: function (strings) {
1116 for (var i = 0, len = strings.length; i < len; i++)
1117 if (matches(strings[i]))
1118 return true;
1119 return false;
1120 }
1121 };
1122 }
1123 function formatParentName(item) {
1124 var parentName = item.fullName.slice(0, item.fullName.length - item.name.length);
1125 return parentName.replace(/\./g, ' . ');
1126 }
1127 function timeFromDate(date) {
1128 if (!date)
1129 return 'N/A';
1130 return formatTime(date.getHours(), date.getMinutes(),
1131 date.getSeconds(), date.getMilliseconds());
1132 }
1133 function dateFromDate(date) {
1134 if (!date)
1135 return 'N/A';
1136 return padTo(date.getFullYear(), 4) +
1137 padTo(date.getMonth() + 1, 2) +
1138 padTo(date.getDate(), 2);
1139 }
1140 function dateTimeFromDate(date) {
1141 if (!date)
1142 return 'N/A';
1143 return dateFromDate(date) + ' ' + timeFromDate(date);
1144 }
1145 function formatTime(hours, minutes, seconds, milliseconds) {
1146 return padTo(hours, 2) + ':' +
1147 padTo(minutes, 2) + ':' +
1148 padTo(seconds, 2) + '.' +
1149 padTo(milliseconds, 3);
1150 }
1151 function formatElapsed(elapsed) {
1152 var millis = elapsed;
1153 var hours = Math.floor(millis / (60 * 60 * 1000));
1154 millis -= hours * 60 * 60 * 1000;
1155 var minutes = Math.floor(millis / (60 * 1000));
1156 millis -= minutes * 60 * 1000;
1157 var seconds = Math.floor(millis / 1000);
1158 millis -= seconds * 1000;
1159 return formatTime(hours, minutes, seconds, millis);
1160 }
1161 function padTo(number, len) {
1162 var numString = number + "";
1163 while (numString.length < len) numString = "0" + numString;
1164 return numString;
1165 }
1166 function timestamp(millis) {
1167 // used also by tools that do not set window.output.baseMillis
1168 var base = window.output ? window.output.baseMillis : 0;
1169 return new Date(base + millis);
1170 }
1171 function createGeneratedAgoString(generatedMillis) {
1172 generatedMillis = timestamp(generatedMillis);
1173 function timeString(time, shortUnit) {
1174 var unit = {y: 'year', d: 'day', h: 'hour', m: 'minute',
1175 s: 'second'}[shortUnit];
1176 var end = time == 1 ? ' ' : 's ';
1177 return time + ' ' + unit + end;
1178 }
1179 function compensateLeapYears(days, years) {
1180 // Not a perfect algorithm but ought to be enough
1181 return days - Math.floor(years / 4);
1182 }
1183 var generated = Math.round(generatedMillis / 1000);
1184 var current = Math.round(new Date().getTime() / 1000);
1185 var elapsed = current - generated;
1186 var prefix = '';
1187 if (elapsed < 0) {
1188 prefix = '- ';
1189 elapsed = Math.abs(elapsed);
1190 }
1191 var secs = elapsed % 60;
1192 var mins = Math.floor(elapsed / 60) % 60;
1193 var hours = Math.floor(elapsed / (60*60)) % 24;
1194 var days = Math.floor(elapsed / (60*60*24)) % 365;
1195 var years = Math.floor(elapsed / (60*60*24*365));
1196 if (years) {
1197 days = compensateLeapYears(days, years);
1198 return prefix + timeString(years, 'y') + timeString(days, 'd');
1199 } else if (days) {
1200 return prefix + timeString(days, 'd') + timeString(hours, 'h');
1201 } else if (hours) {
1202 return prefix + timeString(hours, 'h') + timeString(mins, 'm');
1203 } else if (mins) {
1204 return prefix + timeString(mins, 'm') + timeString(secs, 's');
1205 } else {
1206 return prefix + timeString(secs, 's');
1207 }
1208 }
1209 function parseQueryString(query) {
1210 var result = {};
1211 if (!query)
1212 return result;
1213 var params = query.split('&');
1214 var parts;
1215 function decode(item) {
1216 return decodeURIComponent(item.replace('+', ' '));
1217 }
1218 for (var i = 0, len = params.length; i < len; i++) {
1219 parts = params[i].split('=');
1220 result[decode(parts.shift())] = decode(parts.join('='));
1221 }
1222 return result;
1223 }
1224 return {
1225 map: map,
1226 filter: filter,
1227 all: all,
1228 any: any,
1229 contains: contains,
1230 last: last,
1231 escape: escape,
1232 unescape: unescape,
1233 normalize: normalize,
1234 regexpEscape: regexpEscape,
1235 Matcher: Matcher,
1236 formatParentName: formatParentName,
1237 timeFromDate: timeFromDate,
1238 dateFromDate: dateFromDate,
1239 dateTimeFromDate: dateTimeFromDate,
1240 formatElapsed: formatElapsed,
1241 timestamp: timestamp,
1242 createGeneratedAgoString: createGeneratedAgoString,
1243 parseQueryString: parseQueryString
1244 };
1245}();
1246</script>
1247<script type="text/javascript">
1248window.testdata = function () {
1249 var elementsById = {};
1250 var idCounter = 0;
1251 var _statistics = null;
1252 var LEVELS = ['TRACE', 'DEBUG', 'INFO', 'WARN', 'FAIL', 'ERROR'];
1253 var STATUSES = ['FAIL', 'PASS', 'NOT_RUN'];
1254 var KEYWORDS = ['KEYWORD', 'SETUP', 'TEARDOWN', 'FOR', 'VAR'];
1255 function addElement(elem) {
1256 if (!elem.id)
1257 elem.id = uniqueId();
1258 elementsById[elem.id] = elem;
1259 return elem;
1260 }
1261 function uniqueId() {
1262 idCounter++;
1263 return 'element-id-' + idCounter;
1264 }
1265 function times(stats) {
1266 var startMillis = stats[1];
1267 var elapsed = stats[2];
1268 if (startMillis === null)
1269 return [null, null, elapsed];
1270 return [util.timestamp(startMillis),
1271 util.timestamp(startMillis + elapsed),
1272 elapsed];
1273 }
1274 function message(element, strings) {
1275 return addElement(model.Message(LEVELS[element[1]],
1276 util.timestamp(element[0]),
1277 strings.get(element[2]),
1278 strings.get(element[3])));
1279 }
1280 function parseStatus(stats) {
1281 return STATUSES[stats[0]];
1282 }
1283 function childCreator(parent, childType) {
1284 return function (elem, strings, index) {
1285 return addElement(childType(parent, elem, strings, index));
1286 };
1287 }
1288 function createKeyword(parent, element, strings, index) {
1289 var kw = model.Keyword({
1290 parent: parent,
1291 type: KEYWORDS[element[0]],
1292 id: 'k' + (index + 1),
1293 name: strings.get(element[1]),
1294 timeout: strings.get(element[2]),
1295 args: strings.get(element[4]),
1296 doc: function () {
1297 var doc = strings.get(element[3]);
1298 this.doc = function () { return doc; };
1299 return doc;
1300 },
1301 status: parseStatus(element[5], strings),
1302 times: model.Times(times(element[5])),
1303 isChildrenLoaded: typeof(element[6]) !== 'number'
1304 });
1305 lazyPopulateKeywordsFromFile(kw, element[6], strings);
1306 kw.populateMessages(Populator(element[7], strings, message));
1307 return kw;
1308 }
1309 function lazyPopulateKeywordsFromFile(parent, keywordsOrIndex, strings) {
1310 if (parent.isChildrenLoaded) {
1311 var keywords = keywordsOrIndex;
1312 parent.populateKeywords(Populator(keywords, strings, childCreator(parent, createKeyword)));
1313 } else {
1314 var index = keywordsOrIndex;
1315 parent.childFileName = window.settings['splitLogBase'] + '-' + index + '.js';
1316 parent.populateKeywords(SplitLogPopulator(keywordsOrIndex, childCreator(parent, createKeyword)));
1317 }
1318 }
1319 function tags(taglist, strings) {
1320 return util.map(taglist, strings.get);
1321 }
1322 function createTest(parent, element, strings, index) {
1323 var statusElement = element[5];
1324 var test = model.Test({
1325 parent: parent,
1326 id: 't' + (index + 1),
1327 name: strings.get(element[0]),
1328 doc: function () {
1329 var doc = strings.get(element[3]);
1330 this.doc = function () { return doc; };
1331 return doc;
1332 },
1333 timeout: strings.get(element[1]),
1334 isCritical: element[2],
1335 status: parseStatus(statusElement),
1336 message: function () {
1337 var msg = createMessage(statusElement, strings);
1338 this.message = function () { return msg; };
1339 return msg;
1340 },
1341 times: model.Times(times(statusElement)),
1342 tags: tags(element[4], strings),
1343 isChildrenLoaded: typeof(element[6]) !== 'number'
1344 });
1345 lazyPopulateKeywordsFromFile(test, element[6], strings);
1346 return test;
1347 }
1348 function createMessage(statusElement, strings) {
1349 return statusElement.length == 4 ? strings.get(statusElement[3]) : '';
1350 }
1351 function createSuite(parent, element, strings, index) {
1352 var statusElement = element[5];
1353 var suite = model.Suite({
1354 parent: parent,
1355 id: 's' + ((index || 0) + 1),
1356 name: strings.get(element[0]),
1357 source: strings.get(element[1]),
1358 relativeSource: strings.get(element[2]),
1359 doc: function () {
1360 var doc = strings.get(element[3]);
1361 this.doc = function () { return doc; };
1362 return doc;
1363 },
1364 status: parseStatus(statusElement),
1365 message: function () {
1366 var msg = createMessage(statusElement, strings);
1367 this.message = function () { return msg; };
1368 return msg;
1369 },
1370 times: model.Times(times(statusElement)),
1371 statistics: suiteStats(util.last(element)),
1372 metadata: parseMetadata(element[4], strings)
1373 });
1374 suite.populateKeywords(Populator(element[8], strings, childCreator(suite, createKeyword)));
1375 suite.populateTests(Populator(element[7], strings, childCreator(suite, createTest)));
1376 suite.populateSuites(Populator(element[6], strings, childCreator(suite, createSuite)));
1377 return suite;
1378 }
1379 function parseMetadata(data, strings) {
1380 var metadata = [];
1381 for (var i=0; i<data.length; i+=2) {
1382 metadata.push([strings.get(data[i]), strings.get(data[i+1])]);
1383 }
1384 return metadata;
1385 }
1386 function suiteStats(stats) {
1387 return {
1388 total: stats[0],
1389 totalPassed: stats[1],
1390 totalFailed: stats[0] - stats[1],
1391 critical: stats[2],
1392 criticalPassed: stats[3],
1393 criticalFailed: stats[2] - stats[3]
1394 };
1395 }
1396 function Populator(items, strings, creator) {
1397 return {
1398 numberOfItems: function () {
1399 return items.length;
1400 },
1401 creator: function (index) {
1402 return creator(items[index], strings, index);
1403 }
1404 };
1405 }
1406 function SplitLogPopulator(structureIndex, creator) {
1407 return {
1408 numberOfItems: function () {
1409 return window['keywords'+structureIndex].length;
1410 },
1411 creator: function (index) {
1412 return creator(window['keywords'+structureIndex][index],
1413 StringStore(window['strings'+structureIndex]),
1414 index);
1415 }
1416 };
1417 }
1418 function suite() {
1419 var elem = window.output.suite;
1420 if (elementsById[elem.id])
1421 return elem;
1422 var root = addElement(createSuite(null, elem, StringStore(window.output.strings)));
1423 window.output.suite = root;
1424 return root;
1425 }
1426 function findLoaded(id) {
1427 return elementsById[id];
1428 }
1429 function ensureLoaded(id, callback) {
1430 var ids = id.split('-');
1431 var root = suite();
1432 ids.shift();
1433 loadItems(ids, root, [root.id], callback);
1434 }
1435 function loadItems(ids, current, result, callback) {
1436 if (!ids.length) {
1437 callback(result);
1438 return;
1439 }
1440 current.callWhenChildrenReady(function () {
1441 var id = ids.shift();
1442 var type = id[0];
1443 var index = parseInt(id.substring(1)) - 1;
1444 var item = selectFrom(current, type, index);
1445 result.push(item.id);
1446 loadItems(ids, item, result, callback);
1447 });
1448 }
1449 function selectFrom(element, type, index) {
1450 if (type === 'k') {
1451 return element.keywords()[index];
1452 } else if (type === 't') {
1453 return element.tests()[index];
1454 } else {
1455 return element.suites()[index];
1456 }
1457 }
1458 function errorIterator() {
1459 return {
1460 next: function () {
1461 return message(window.output.errors.shift(),
1462 StringStore(window.output.strings));
1463 },
1464 hasNext: function () {
1465 return window.output.errors.length > 0;
1466 }
1467 };
1468 }
1469 function statistics() {
1470 if (!_statistics) {
1471 var statData = window.output.stats;
1472 _statistics = stats.Statistics(statData[0], statData[1], statData[2]);
1473 }
1474 return _statistics;
1475 }
1476 function StringStore(strings) {
1477 function getText(id) {
1478 var text = strings[id];
1479 if (!text)
1480 return '';
1481 if (text[0] == '*')
1482 return text.substring(1);
1483 var extracted = extract(text);
1484 strings[id] = '*' + extracted;
1485 return extracted;
1486 }
1487 function extract(text) {
1488 var decoded = JXG.Util.Base64.decodeAsArray(text);
1489 var extracted = (new JXG.Util.Unzip(decoded)).unzip()[0][0];
1490 return JXG.Util.UTF8.decode(extracted);
1491 }
1492 function get(id) {
1493 if (id === null) return null;
1494 return getText(id);
1495 }
1496 return {get: get};
1497 }
1498 return {
1499 suite: suite,
1500 errorIterator: errorIterator,
1501 findLoaded: findLoaded,
1502 ensureLoaded: ensureLoaded,
1503 statistics: statistics,
1504 StringStore: StringStore, // exposed for tests
1505 LEVELS: LEVELS
1506 };
1507}();
1508</script>
1509<script type="text/javascript">
1510function removeJavaScriptDisabledWarning() {
1511 // Not using jQuery here for maximum speed
1512 document.getElementById('javascript-disabled').style.display = 'none';
1513}
1514function addJavaScriptDisabledWarning(error) {
1515 if (window.console)
1516 console.error('Opening failed: ' + error.name + ': ' + error.message);
1517 document.getElementById('javascript-disabled').style.display = 'block';
1518}
1519function initLayout(suiteName, type) {
1520 parseTemplates();
1521 setTitle(suiteName, type);
1522 addHeader();
1523 addReportOrLogLink(type);
1524}
1525function parseTemplates() {
1526 $('script[type="text/x-jquery-tmpl"]').map(function (idx, elem) {
1527 $.template(elem.id, elem.text);
1528 });
1529}
1530function setTitle(suiteName, type) {
1531 var givenTitle = window.settings.title;
1532 var title = givenTitle ? givenTitle : suiteName + " Test " + type;
1533 document.title = util.unescape(title);
1534}
1535function addHeader() {
1536 $.tmpl('<h1>${title}</h1>' +
1537 '<div id="generated">' +
1538 '<span>Generated<br>${generated}</span><br>' +
1539 '<span id="generated-ago">${ago} ago</span>' +
1540 '</div>' +
1541 '<div id="top-right-header">' +
1542 '<div id="report-or-log-link"><a href="#"></a></div>' +
1543 '</div>', {
1544 generated: window.output.generatedTimestamp,
1545 ago: util.createGeneratedAgoString(window.output.generatedMillis),
1546 title: document.title
1547 }).appendTo($('#header'));
1548}
1549function addReportOrLogLink(myType) {
1550 var url;
1551 var text;
1552 var container = $('#report-or-log-link');
1553 if (myType == 'Report') {
1554 url = window.settings.logURL;
1555 text = 'LOG';
1556 } else {
1557 url = window.settings.reportURL;
1558 text = 'REPORT';
1559 }
1560 if (url) {
1561 container.find('a').attr('href', url);
1562 container.find('a').text(text);
1563 } else {
1564 container.remove();
1565 }
1566}
1567function addStatistics() {
1568 var statHeaders =
1569 '<th class="stats-col-stat">Total</th>' +
1570 '<th class="stats-col-stat">Pass</th>' +
1571 '<th class="stats-col-stat">Fail</th>' +
1572 '<th class="stats-col-elapsed">Elapsed</th>' +
1573 '<th class="stats-col-graph">Pass / Fail</th>';
1574 var statTable =
1575 '<h2>Test Statistics</h2>' +
1576 '<table class="statistics" id="total-stats"><thead><tr>' +
1577 '<th class="stats-col-name">Total Statistics</th>' + statHeaders +
1578 '</tr></thead></table>' +
1579 '<table class="statistics" id="tag-stats"><thead><tr>' +
1580 '<th class="stats-col-name">Statistics by Tag</th>' + statHeaders +
1581 '</tr></thead></table>' +
1582 '<table class="statistics" id="suite-stats"><thead><tr>' +
1583 '<th class="stats-col-name">Statistics by Suite</th>' + statHeaders +
1584 '</tr></thead></table>';
1585 $(statTable).appendTo('#statistics-container');
1586 util.map(['total', 'tag', 'suite'], addStatTable);
1587 addTooltipsToElapsedTimes();
1588 enableStatisticsSorter();
1589}
1590function addTooltipsToElapsedTimes() {
1591 $('.stats-col-elapsed').attr('title',
1592 'Total execution time of these test cases. ' +
1593 'Excludes suite setups and teardowns.');
1594 $('#suite-stats').find('.stats-col-elapsed').attr('title',
1595 'Total execution time of this test suite.');
1596}
1597function enableStatisticsSorter() {
1598 $.tablesorter.addParser({
1599 id: 'statName',
1600 type: 'numeric',
1601 is: function(s) {
1602 return false; // do not auto-detect
1603 },
1604 format: function(string, table, cell, cellIndex) {
1605 // Rows have class in format 'row-<index>'.
1606 var index = $(cell).parent().attr('class').substring(4);
1607 return parseInt(index);
1608 }
1609 });
1610 $(".statistics").tablesorter({
1611 sortInitialOrder: 'desc',
1612 headers: {0: {sorter:'statName', sortInitialOrder: 'asc'},
1613 5: {sorter: false}}
1614 });
1615}
1616function addStatTable(tableName) {
1617 var stats = window.testdata.statistics()[tableName];
1618 if (tableName == 'tag' && stats.length == 0) {
1619 renderNoTagStatTable();
1620 } else {
1621 renderStatTable(tableName, stats);
1622 }
1623}
1624function renderNoTagStatTable() {
1625 $('<tbody><tr class="row-0">' +
1626 '<td class="stats-col-name">No Tags</td>' +
1627 '<td class="stats-col-stat"></td>' +
1628 '<td class="stats-col-stat"></td>' +
1629 '<td class="stats-col-stat"></td>' +
1630 '<td class="stats-col-elapsed"></td>' +
1631 '<td class="stats-col-graph">' +
1632 '<div class="empty-graph"></div>' +
1633 '</td>' +
1634 '</tr></tbody>').appendTo('#tag-stats');
1635}
1636function renderStatTable(tableName, stats) {
1637 var template = tableName + 'StatisticsRowTemplate';
1638 var tbody = $('<tbody></tbody>');
1639 for (var i = 0, len = stats.length; i < len; i++) {
1640 $.tmpl(template, stats[i], {index: i}).appendTo(tbody);
1641 }
1642 tbody.appendTo('#' + tableName + '-stats');
1643}
1644$.template('statColumnsTemplate',
1645 '<td class="stats-col-stat">${total}</td>' +
1646 '<td class="stats-col-stat">${pass}</td>' +
1647 '<td class="stats-col-stat">${fail}</td>' +
1648 '<td class="stats-col-elapsed">${elapsed}</td>' +
1649 '<td class="stats-col-graph">' +
1650 '{{if total}}' +
1651 '<div class="graph">' +
1652 '<div class="pass-bar" style="width: ${passWidth}%" title="${passPercent}%"></div>' +
1653 '<div class="fail-bar" style="width: ${failWidth}%" title="${failPercent}%"></div>' +
1654 '</div>' +
1655 '{{else}}' +
1656 '<div class="empty-graph"></div>' +
1657 '{{/if}}' +
1658 '</td>'
1659);
1660$.template('suiteStatusMessageTemplate',
1661 '${critical} critical test, ' +
1662 '${criticalPassed} passed, ' +
1663 '<span class="{{if criticalFailed}}fail{{else}}pass{{/if}}">${criticalFailed} failed</span><br>' +
1664 '${total} test total, ' +
1665 '${totalPassed} passed, ' +
1666 '<span class="{{if totalFailed}}fail{{else}}pass{{/if}}">${totalFailed} failed</span>'
1667);
1668// For complete cross-browser experience..
1669// http://www.quirksmode.org/js/events_order.html
1670function stopPropagation(event) {
1671 var event = event || window.event;
1672 event.cancelBubble = true;
1673 if (event.stopPropagation)
1674 event.stopPropagation();
1675}
1676</script>
1677<script type="text/javascript">
1678window.output = {};
1679</script>
1680<script type="text/javascript">
1681window.sPart0 = [[4,31,0,0,0,[1,35488,9689],[[0,32,0,33,34,[1,35488,7454],[[0,35,0,36,37,[1,35489,0],[],[]],[0,35,0,36,38,[1,35489,1],[],[]],[0,39,0,40,41,[1,35490,1],[],[[35491,2,42]]],[0,43,0,44,45,[1,35491,0],[],[[35491,2,42]]],[0,46,0,47,48,[1,35492,357],[],[[35492,2,49],[35849,2,50]]],[0,51,0,52,53,[1,35849,55],[],[[35904,2,54]]],[0,55,0,56,57,[1,35904,1036],[],[[36940,2,58]]],[0,59,0,60,61,[1,36941,6001],[],[[42942,2,62]]]],[]],[0,63,0,64,65,[1,42943,529],[[0,65,0,66,0,[1,42943,529],[[3,67,0,0,0,[1,42944,528],[[4,68,0,0,0,[1,42944,528],[[0,69,0,0,70,[1,42944,528],[[0,71,0,72,73,[1,42945,506],[[0,74,0,75,76,[1,42946,0],[],[[42946,2,77]]],[0,78,0,40,79,[1,42947,0],[],[[42947,2,80]]],[0,46,0,47,81,[1,42948,366],[],[[42948,2,82],[43313,2,83]]],[0,51,0,52,84,[1,43314,20],[],[[43334,2,85]]],[0,86,0,56,87,[1,43334,1],[],[[43335,2,88],[43335,2,89]]],[0,90,0,91,0,[1,43335,115],[],[]],[0,74,0,75,92,[1,43450,0],[],[[43450,2,88]]]],[[43451,2,93]]],[0,94,0,95,96,[1,43451,0],[],[]],[0,97,0,98,99,[1,43452,18],[],[[43470,2,100],[43470,2,101]]],[0,74,0,75,102,[1,43470,1],[],[[43471,2,103]]],[0,104,0,105,106,[1,43471,0],[],[[43471,2,107]]]],[]]],[]]],[]]],[]]],[[43472,2,108],[43472,2,109]]],[0,110,0,111,112,[1,43472,1],[],[]],[0,63,0,64,113,[1,43473,15],[[0,114,0,115,116,[1,43474,14],[[0,117,0,118,34,[1,43474,14],[[3,67,0,0,0,[1,43475,13],[[4,68,0,0,0,[1,43475,13],[[0,119,0,120,121,[1,43475,8],[[0,97,0,98,122,[1,43476,6],[],[[43482,2,100],[43482,2,101]]],[0,74,0,75,102,[1,43482,1],[],[[43483,2,103]]]],[[43483,2,101]]],[0,74,0,75,102,[1,43483,1],[],[[43484,2,103]]],[0,104,0,105,106,[1,43484,0],[],[[43484,2,107]]],[0,123,0,124,102,[1,43485,0],[],[[43485,2,125]]],[0,126,0,127,102,[1,43485,1],[],[[43486,2,128]]],[0,129,0,130,131,[1,43486,1],[],[[43487,2,132],[43487,2,133]]],[0,134,0,135,136,[1,43487,1],[],[[43487,2,137]]]],[]]],[]]],[]]],[]]],[[43488,2,108],[43488,2,109]]],[0,110,0,111,112,[1,43488,1],[],[]],[0,63,0,64,138,[1,43489,38],[[0,114,0,115,139,[1,43489,38],[[0,140,0,141,0,[1,43490,36],[[3,67,0,0,0,[1,43491,35],[[4,68,0,0,0,[1,43491,35],[[0,119,0,120,121,[1,43491,8],[[0,97,0,98,122,[1,43492,6],[],[[43498,2,100],[43498,2,101]]],[0,74,0,75,102,[1,43498,1],[],[[43499,2,103]]]],[[43499,2,101]]],[0,74,0,75,102,[1,43499,1],[],[[43500,2,103]]],[0,104,0,105,106,[1,43500,1],[],[[43500,2,107]]],[0,123,0,124,102,[1,43501,0],[],[[43501,2,125]]],[0,126,0,127,102,[1,43501,1],[],[[43502,2,128]]],[0,142,0,0,143,[1,43502,24],[[0,129,0,130,144,[1,43503,1],[],[[43504,2,132],[43504,2,133]]],[3,145,0,0,0,[1,43504,22],[[4,146,0,0,0,[1,43504,3],[[0,147,0,148,149,[1,43505,0],[],[[43505,2,150]]],[0,151,0,152,153,[1,43505,1],[],[[43506,2,154]]],[0,104,0,105,155,[1,43506,0],[],[[43506,2,156]]]],[]],[4,157,0,0,0,[1,43507,2],[[0,147,0,148,149,[1,43507,0],[],[[43507,2,158]]],[0,151,0,152,153,[1,43508,0],[],[[43508,2,154]]],[0,104,0,105,155,[1,43508,1],[],[[43509,2,156]]]],[]],[4,159,0,0,0,[1,43509,2],[[0,147,0,148,149,[1,43509,0],[],[[43510,2,160]]],[0,151,0,152,153,[1,43510,0],[],[[43510,2,154]]],[0,104,0,105,155,[1,43510,1],[],[[43511,2,156]]]],[]],[4,161,0,0,0,[1,43511,2],[[0,147,0,148,149,[1,43511,1],[],[[43512,2,162]]],[0,151,0,152,153,[1,43512,0],[],[[43513,2,154]]],[0,104,0,105,155,[1,43513,0],[],[[43513,2,156]]]],[]],[4,163,0,0,0,[1,43513,2],[[0,147,0,148,149,[1,43514,0],[],[[43514,2,164]]],[0,151,0,152,153,[1,43514,1],[],[[43515,2,154]]],[0,104,0,105,155,[1,43515,0],[],[[43515,2,156]]]],[]],[4,165,0,0,0,[1,43515,2],[[0,147,0,148,149,[1,43516,0],[],[[43516,2,166]]],[0,151,0,152,153,[1,43516,1],[],[[43517,2,154]]],[0,104,0,105,155,[1,43517,0],[],[[43517,2,156]]]],[]],[4,167,0,0,0,[1,43518,2],[[0,147,0,148,149,[1,43518,0],[],[[43518,2,168]]],[0,151,0,152,153,[1,43519,0],[],[[43519,2,154]]],[0,104,0,105,155,[1,43519,1],[],[[43519,2,156]]]],[]],[4,169,0,0,0,[1,43520,2],[[0,147,0,148,149,[1,43520,0],[],[[43520,2,170]]],[0,151,0,152,153,[1,43521,0],[],[[43521,2,154]]],[0,104,0,105,155,[1,43521,1],[],[[43522,2,156]]]],[]],[4,171,0,0,0,[1,43522,2],[[0,147,0,148,149,[1,43522,0],[],[[43523,2,172]]],[0,151,0,152,153,[1,43523,0],[],[[43523,2,154]]],[0,104,0,105,155,[1,43523,1],[],[[43524,2,156]]]],[]],[4,173,0,0,0,[1,43524,2],[[0,147,0,148,149,[1,43524,1],[],[[43525,2,174]]],[0,151,0,152,153,[1,43525,0],[],[[43525,2,154]]],[0,104,0,105,155,[1,43525,1],[],[[43526,2,156]]]],[]]],[]]],[]]],[]]],[]]],[]]],[]]],[[43527,2,108],[43527,2,109]]],[0,110,0,111,112,[1,43527,0],[],[]],[0,63,0,64,175,[1,43528,37],[[0,114,0,115,176,[1,43528,37],[[0,177,0,178,179,[1,43529,36],[[3,67,0,0,0,[1,43529,36],[[4,68,0,0,0,[1,43529,36],[[0,119,0,120,121,[1,43530,7],[[0,97,0,98,122,[1,43530,6],[],[[43536,2,100],[43536,2,101]]],[0,74,0,75,102,[1,43537,0],[],[[43537,2,103]]]],[[43537,2,101]]],[0,74,0,75,102,[1,43538,0],[],[[43538,2,103]]],[0,104,0,105,106,[1,43538,1],[],[[43539,2,107]]],[0,123,0,124,102,[1,43539,0],[],[[43539,2,125]]],[0,126,0,127,102,[1,43540,0],[],[[43540,2,128]]],[0,180,0,0,181,[1,43541,23],[[0,129,0,130,144,[1,43542,0],[],[[43542,2,132],[43542,2,133]]],[3,145,0,0,0,[1,43542,22],[[4,146,0,0,0,[1,43542,2],[[0,147,0,148,149,[1,43543,0],[],[[43543,2,150]]],[0,151,0,152,182,[1,43543,1],[],[[43544,2,183]]],[0,104,0,105,184,[1,43544,0],[],[[43544,2,185]]]],[]],[4,157,0,0,0,[1,43545,2],[[0,147,0,148,149,[1,43545,0],[],[[43545,2,158]]],[0,151,0,152,182,[1,43546,0],[],[[43546,2,183]]],[0,104,0,105,184,[1,43546,1],[],[[43546,2,185]]]],[]],[4,159,0,0,0,[1,43547,2],[[0,147,0,148,149,[1,43547,0],[],[[43547,2,160]]],[0,151,0,152,182,[1,43548,0],[],[[43548,2,183]]],[0,104,0,105,184,[1,43548,1],[],[[43549,2,185]]]],[]],[4,161,0,0,0,[1,43549,2],[[0,147,0,148,149,[1,43549,1],[],[[43550,2,162]]],[0,151,0,152,182,[1,43550,0],[],[[43550,2,183]]],[0,104,0,105,184,[1,43551,0],[],[[43551,2,185]]]],[]],[4,163,0,0,0,[1,43551,3],[[0,147,0,148,149,[1,43551,1],[],[[43552,2,164]]],[0,151,0,152,182,[1,43552,1],[],[[43553,2,183]]],[0,104,0,105,184,[1,43553,0],[],[[43553,2,185]]]],[]],[4,165,0,0,0,[1,43554,2],[[0,147,0,148,149,[1,43554,0],[],[[43554,2,166]]],[0,151,0,152,182,[1,43555,0],[],[[43555,2,183]]],[0,104,0,105,184,[1,43555,1],[],[[43555,2,185]]]],[]],[4,167,0,0,0,[1,43556,2],[[0,147,0,148,149,[1,43556,0],[],[[43556,2,168]]],[0,151,0,152,182,[1,43557,0],[],[[43557,2,183]]],[0,104,0,105,184,[1,43557,1],[],[[43558,2,185]]]],[]],[4,169,0,0,0,[1,43558,2],[[0,147,0,148,149,[1,43558,1],[],[[43559,2,170]]],[0,151,0,152,182,[1,43559,0],[],[[43559,2,183]]],[0,104,0,105,184,[1,43559,1],[],[[43560,2,185]]]],[]],[4,171,0,0,0,[1,43560,2],[[0,147,0,148,149,[1,43560,1],[],[[43561,2,172]]],[0,151,0,152,182,[1,43561,0],[],[[43561,2,183]]],[0,104,0,105,184,[1,43562,0],[],[[43562,2,185]]]],[]],[4,173,0,0,0,[1,43562,2],[[0,147,0,148,149,[1,43562,1],[],[[43563,2,174]]],[0,151,0,152,182,[1,43563,0],[],[[43564,2,183]]],[0,104,0,105,184,[1,43564,0],[],[[43564,2,185]]]],[]]],[]]],[]]],[]]],[]]],[]]],[]]],[[43565,2,108],[43565,2,109]]],[0,110,0,111,112,[1,43565,1],[],[]],[0,63,0,64,186,[1,43566,11],[[0,114,0,115,187,[1,43566,11],[[0,188,0,189,190,[1,43567,10],[[3,67,0,0,0,[1,43568,9],[[4,68,0,0,0,[1,43568,9],[[0,119,0,120,191,[1,43568,6],[[0,97,0,98,122,[1,43569,4],[],[[43573,2,100],[43573,2,101]]],[0,74,0,75,102,[1,43573,1],[],[[43574,2,192]]]],[[43574,2,101]]],[0,74,0,75,102,[1,43574,1],[],[[43575,2,192]]],[0,193,0,194,195,[1,43575,1],[],[[43576,2,196]]],[0,197,0,194,198,[1,43576,0],[],[[43576,2,199]]],[0,104,0,105,200,[1,43577,0],[],[[43577,2,201]]]],[]]],[]]],[]]],[]]],[[43578,2,108],[43578,2,109]]],[0,110,0,111,112,[1,43578,0],[],[]],[0,63,0,64,202,[1,43579,63],[[0,114,0,115,203,[1,43579,63],[[0,204,0,205,0,[1,43579,63],[[3,67,0,0,0,[1,43580,62],[[4,68,0,0,0,[1,43580,61],[[0,119,0,120,206,[1,43580,9],[[0,97,0,98,122,[1,43581,7],[],[[43588,2,100],[43588,2,101]]],[0,74,0,75,102,[1,43588,1],[],[[43589,2,207]]]],[[43589,2,101]]],[0,126,0,127,102,[1,43589,1],[],[[43590,2,208]]],[0,129,0,130,209,[1,43591,0],[],[[43591,2,210],[43591,2,211]]],[0,74,0,75,102,[1,43591,1],[],[[43592,2,207]]],[0,119,0,120,212,[1,43592,37],[[0,97,0,98,122,[1,43593,34],[],[[43627,2,100],[43627,2,101]]],[0,74,0,75,102,[1,43628,1],[],[[43628,2,213]]]],[[43629,2,101]]],[0,126,0,127,102,[1,43629,2],[],[[43631,2,214]]],[0,129,0,130,215,[1,43632,0],[],[[43632,2,216],[43632,2,217]]],[0,74,0,75,102,[1,43632,1],[],[[43633,2,213]]],[0,119,0,120,218,[1,43633,6],[[0,97,0,98,122,[1,43634,4],[],[[43638,2,100],[43638,2,101]]],[0,74,0,75,102,[1,43638,1],[],[[43639,2,219]]]],[[43639,2,101]]],[0,126,0,127,102,[1,43639,1],[],[[43640,2,220]]],[0,129,0,130,221,[1,43640,1],[],[[43641,2,222],[43641,2,223]]],[0,74,0,75,102,[1,43641,0],[],[[43641,2,219]]]],[]]],[]]],[]]],[]]],[[43642,2,108],[43642,2,109]]],[0,63,0,64,224,[1,43642,108],[[0,114,0,115,225,[1,43643,107],[[0,226,0,227,0,[1,43643,107],[[3,67,0,0,0,[1,43644,105],[[4,68,0,0,0,[1,43644,105],[[0,119,0,120,121,[1,43644,8],[[0,97,0,98,122,[1,43645,6],[],[[43651,2,100],[43651,2,101]]],[0,74,0,75,102,[1,43651,0],[],[[43651,2,103]]]],[[43652,2,101]]],[0,104,0,105,106,[1,43652,1],[],[[43652,2,107]]],[0,126,0,127,102,[1,43653,0],[],[[43653,2,128]]],[0,228,0,0,229,[1,43654,95],[[0,129,0,130,144,[1,43655,0],[],[[43655,2,132],[43655,2,133]]],[0,230,0,231,0,[1,43655,1],[],[[43656,2,232]]],[3,145,0,0,0,[1,43656,27],[[4,146,0,0,0,[1,43656,2],[[0,233,0,148,149,[1,43656,1],[],[[43657,2,234]]],[0,235,0,152,236,[1,43657,0],[],[[43657,2,237]]],[0,238,0,239,240,[1,43657,1],[],[]],[0,74,0,75,241,[1,43658,0],[],[[43658,2,242]]]],[]],[4,157,0,0,0,[1,43659,2],[[0,233,0,148,149,[1,43659,0],[],[[43659,2,243]]],[0,235,0,152,236,[1,43660,0],[],[[43660,2,244]]],[0,238,0,239,240,[1,43660,0],[],[]],[0,74,0,75,241,[1,43661,0],[],[[43661,2,245]]]],[]],[4,159,0,0,0,[1,43661,3],[[0,233,0,148,149,[1,43661,1],[],[[43662,2,246]]],[0,235,0,152,236,[1,43662,0],[],[[43663,2,247]]],[0,238,0,239,240,[1,43663,0],[],[]],[0,74,0,75,241,[1,43663,1],[],[[43664,2,248]]]],[]],[4,161,0,0,0,[1,43664,2],[[0,233,0,148,149,[1,43664,0],[],[[43665,2,249]]],[0,235,0,152,236,[1,43665,0],[],[[43665,2,250]]],[0,238,0,239,240,[1,43665,1],[],[]],[0,74,0,75,241,[1,43666,0],[],[[43666,2,251]]]],[]],[4,163,0,0,0,[1,43666,3],[[0,233,0,148,149,[1,43667,0],[],[[43667,2,252]]],[0,235,0,152,236,[1,43667,1],[],[[43668,2,253]]],[0,238,0,239,240,[1,43668,0],[],[]],[0,74,0,75,241,[1,43669,0],[],[[43669,2,254]]]],[]],[4,165,0,0,0,[1,43669,3],[[0,233,0,148,149,[1,43669,1],[],[[43670,2,255]]],[0,235,0,152,236,[1,43670,1],[],[[43671,2,256]]],[0,238,0,239,240,[1,43671,0],[],[]],[0,74,0,75,241,[1,43671,1],[],[[43672,2,257]]]],[]],[4,167,0,0,0,[1,43672,3],[[0,233,0,148,149,[1,43672,1],[],[[43673,2,258]]],[0,235,0,152,236,[1,43673,0],[],[[43673,2,259]]],[0,238,0,239,240,[1,43674,0],[],[]],[0,74,0,75,241,[1,43674,0],[],[[43674,2,260]]]],[]],[4,169,0,0,0,[1,43675,2],[[0,233,0,148,149,[1,43675,0],[],[[43675,2,261]]],[0,235,0,152,236,[1,43676,0],[],[[43676,2,262]]],[0,238,0,239,240,[1,43676,1],[],[]],[0,74,0,75,241,[1,43677,0],[],[[43677,2,263]]]],[]],[4,171,0,0,0,[1,43677,3],[[0,233,0,148,149,[1,43677,1],[],[[43678,2,264]]],[0,235,0,152,236,[1,43678,0],[],[[43679,2,265]]],[0,238,0,239,240,[1,43679,0],[],[]],[0,74,0,75,241,[1,43679,1],[],[[43680,2,266]]]],[]],[4,173,0,0,0,[1,43680,2],[[0,233,0,148,149,[1,43680,1],[],[[43681,2,267]]],[0,235,0,152,236,[1,43681,0],[],[[43681,2,268]]],[0,238,0,239,240,[1,43681,1],[],[]],[0,74,0,75,241,[1,43682,0],[],[[43682,2,269]]]],[]]],[]],[0,129,0,130,241,[1,43683,0],[],[[43683,2,132],[43683,2,133]]],[3,270,0,0,0,[1,43683,66],[[4,271,0,0,0,[1,43683,7],[[0,119,0,120,272,[1,43684,6],[[0,97,0,98,122,[1,43685,4],[],[[43688,2,100],[43689,2,101]]],[0,74,0,75,102,[1,43689,0],[],[[43689,2,273]]]],[[43690,2,101]]],[0,74,0,75,102,[1,43690,0],[],[[43690,2,273]]]],[]],[4,274,0,0,0,[1,43690,7],[[0,119,0,120,272,[1,43691,5],[[0,97,0,98,122,[1,43692,3],[],[[43695,2,100],[43695,2,101]]],[0,74,0,75,102,[1,43695,1],[],[[43696,2,275]]]],[[43696,2,101]]],[0,74,0,75,102,[1,43696,1],[],[[43697,2,275]]]],[]],[4,276,0,0,0,[1,43697,6],[[0,119,0,120,272,[1,43697,5],[[0,97,0,98,122,[1,43698,3],[],[[43701,2,100],[43702,2,101]]],[0,74,0,75,102,[1,43702,0],[],[[43702,2,277]]]],[[43703,2,101]]],[0,74,0,75,102,[1,43703,0],[],[[43703,2,277]]]],[]],[4,278,0,0,0,[1,43703,7],[[0,119,0,120,272,[1,43703,6],[[0,97,0,98,122,[1,43704,4],[],[[43708,2,100],[43708,2,101]]],[0,74,0,75,102,[1,43708,0],[],[[43708,2,279]]]],[[43709,2,101]]],[0,74,0,75,102,[1,43709,0],[],[[43709,2,279]]]],[]],[4,280,0,0,0,[1,43710,7],[[0,119,0,120,272,[1,43710,6],[[0,97,0,98,122,[1,43711,4],[],[[43715,2,100],[43715,2,101]]],[0,74,0,75,102,[1,43716,0],[],[[43716,2,281]]]],[[43716,2,101]]],[0,74,0,75,102,[1,43717,0],[],[[43717,2,281]]]],[]],[4,282,0,0,0,[1,43717,6],[[0,119,0,120,272,[1,43717,6],[[0,97,0,98,122,[1,43718,4],[],[[43722,2,100],[43722,2,101]]],[0,74,0,75,102,[1,43722,0],[],[[43722,2,283]]]],[[43723,2,101]]],[0,74,0,75,102,[1,43723,0],[],[[43723,2,283]]]],[]],[4,284,0,0,0,[1,43724,5],[[0,119,0,120,272,[1,43724,5],[[0,97,0,98,122,[1,43725,3],[],[[43728,2,100],[43728,2,101]]],[0,74,0,75,102,[1,43728,0],[],[[43728,2,285]]]],[[43729,2,101]]],[0,74,0,75,102,[1,43729,0],[],[[43729,2,285]]]],[]],[4,286,0,0,0,[1,43730,6],[[0,119,0,120,272,[1,43730,5],[[0,97,0,98,122,[1,43731,3],[],[[43734,2,100],[43734,2,101]]],[0,74,0,75,102,[1,43735,0],[],[[43735,2,287]]]],[[43735,2,101]]],[0,74,0,75,102,[1,43736,0],[],[[43736,2,287]]]],[]],[4,288,0,0,0,[1,43736,7],[[0,119,0,120,272,[1,43736,6],[[0,97,0,98,122,[1,43737,4],[],[[43741,2,100],[43741,2,101]]],[0,74,0,75,102,[1,43741,1],[],[[43742,2,289]]]],[[43742,2,101]]],[0,74,0,75,102,[1,43742,1],[],[[43743,2,289]]]],[]],[4,290,0,0,0,[1,43743,6],[[0,119,0,120,272,[1,43743,5],[[0,97,0,98,122,[1,43744,3],[],[[43747,2,100],[43747,2,101]]],[0,74,0,75,102,[1,43748,0],[],[[43748,2,291]]]],[[43748,2,101]]],[0,74,0,75,102,[1,43749,0],[],[[43749,2,291]]]],[]]],[]]],[]]],[]]],[]]],[]]],[]]],[[43750,2,108],[43750,2,109]]],[0,63,0,64,292,[1,43750,570],[[0,114,0,115,293,[1,43751,569],[[0,294,0,295,0,[1,43751,569],[[0,296,0,297,45,[1,43752,0],[],[]],[0,298,0,299,0,[1,43752,1],[],[]],[0,51,0,52,300,[1,43753,4],[],[[43757,2,300]]],[0,86,0,56,57,[1,43757,185],[],[[43941,2,301],[43942,2,302]]],[0,74,0,75,92,[1,43942,1],[],[[43943,2,301]]],[0,51,0,52,303,[1,43943,3],[],[[43946,2,303]]],[0,86,0,56,57,[1,43946,23],[],[[43969,2,304],[43969,2,305]]],[0,74,0,75,92,[1,43969,1],[],[[43969,2,304]]],[0,51,0,52,306,[1,43970,6],[],[[43975,2,306]]],[0,86,0,56,57,[1,43976,312],[],[[44288,2,307],[44289,2,308]]],[0,74,0,75,92,[1,44289,0],[],[[44289,2,307]]],[0,51,0,52,309,[1,44289,5],[],[[44293,2,309]]],[0,86,0,56,57,[1,44294,25],[],[[44319,2,310],[44319,2,311]]],[0,74,0,75,92,[1,44319,1],[],[[44320,2,310]]]],[]]],[]]],[[44320,2,108],[44320,2,109]]],[0,312,0,313,0,[1,44321,806],[[0,35,0,36,314,[1,44321,1],[],[]],[0,296,0,297,45,[1,44322,0],[],[]],[0,298,0,299,0,[1,44322,1],[],[]],[0,51,0,52,315,[1,44323,3],[],[[44325,2,315]]],[0,55,0,56,87,[1,44326,686],[],[[45012,2,316]]],[0,90,0,91,0,[1,45012,115],[],[]]],[]],[0,63,0,64,317,[1,45127,37],[[0,114,0,115,318,[1,45128,36],[[0,319,0,320,0,[1,45128,36],[[3,67,0,0,0,[1,45129,35],[[4,68,0,0,0,[1,45129,35],[[0,119,0,120,121,[1,45129,8],[[0,97,0,98,122,[1,45130,5],[],[[45135,2,100],[45136,2,101]]],[0,74,0,75,102,[1,45136,0],[],[[45136,2,321]]]],[[45137,2,101]]],[0,74,0,75,102,[1,45137,0],[],[[45137,2,321]]],[0,104,0,105,106,[1,45138,0],[],[[45138,2,107]]],[0,123,0,124,102,[1,45138,1],[],[[45139,2,322]]],[0,126,0,127,102,[1,45139,0],[],[[45140,2,323]]],[0,142,0,0,324,[1,45140,24],[[0,129,0,130,144,[1,45141,1],[],[[45141,2,132],[45142,2,133]]],[3,145,0,0,0,[1,45142,22],[[4,146,0,0,0,[1,45142,2],[[0,147,0,148,149,[1,45142,1],[],[[45143,2,325]]],[0,151,0,152,153,[1,45143,0],[],[[45143,2,326]]],[0,104,0,105,155,[1,45144,0],[],[[45144,2,156]]]],[]],[4,157,0,0,0,[1,45144,2],[[0,147,0,148,149,[1,45144,1],[],[[45145,2,327]]],[0,151,0,152,153,[1,45145,0],[],[[45145,2,326]]],[0,104,0,105,155,[1,45146,0],[],[[45146,2,156]]]],[]],[4,159,0,0,0,[1,45146,2],[[0,147,0,148,149,[1,45146,1],[],[[45147,2,328]]],[0,151,0,152,153,[1,45147,1],[],[[45148,2,326]]],[0,104,0,105,155,[1,45148,0],[],[[45148,2,156]]]],[]],[4,161,0,0,0,[1,45148,3],[[0,147,0,148,149,[1,45149,0],[],[[45149,2,329]]],[0,151,0,152,153,[1,45149,1],[],[[45150,2,326]]],[0,104,0,105,155,[1,45150,0],[],[[45150,2,156]]]],[]],[4,163,0,0,0,[1,45151,2],[[0,147,0,148,149,[1,45151,0],[],[[45151,2,330]]],[0,151,0,152,153,[1,45152,0],[],[[45152,2,326]]],[0,104,0,105,155,[1,45152,1],[],[[45153,2,156]]]],[]],[4,165,0,0,0,[1,45153,2],[[0,147,0,148,149,[1,45153,0],[],[[45154,2,331]]],[0,151,0,152,153,[1,45154,0],[],[[45154,2,326]]],[0,104,0,105,155,[1,45154,1],[],[[45155,2,156]]]],[]],[4,167,0,0,0,[1,45155,2],[[0,147,0,148,149,[1,45155,1],[],[[45156,2,332]]],[0,151,0,152,153,[1,45156,0],[],[[45156,2,326]]],[0,104,0,105,155,[1,45157,0],[],[[45157,2,156]]]],[]],[4,169,0,0,0,[1,45157,2],[[0,147,0,148,149,[1,45157,1],[],[[45158,2,333]]],[0,151,0,152,153,[1,45158,0],[],[[45158,2,326]]],[0,104,0,105,155,[1,45159,0],[],[[45159,2,156]]]],[]],[4,171,0,0,0,[1,45159,2],[[0,147,0,148,149,[1,45159,1],[],[[45160,2,334]]],[0,151,0,152,153,[1,45160,1],[],[[45161,2,326]]],[0,104,0,105,155,[1,45161,0],[],[[45161,2,156]]]],[]],[4,173,0,0,0,[1,45161,2],[[0,147,0,148,149,[1,45162,0],[],[[45162,2,335]]],[0,151,0,152,153,[1,45162,1],[],[[45163,2,326]]],[0,104,0,105,155,[1,45163,0],[],[[45163,2,156]]]],[]]],[]]],[]]],[]]],[]]],[]]],[]]],[[45164,2,108],[45164,2,109]]],[0,110,0,111,112,[1,45165,0],[],[]],[0,63,0,64,336,[1,45165,11],[[0,114,0,115,337,[1,45166,10],[[0,338,0,339,340,[1,45166,9],[[3,67,0,0,0,[1,45167,8],[[4,68,0,0,0,[1,45167,8],[[0,119,0,120,191,[1,45167,5],[[0,97,0,98,122,[1,45168,3],[],[[45171,2,100],[45171,2,101]]],[0,74,0,75,102,[1,45172,0],[],[[45172,2,341]]]],[[45172,2,101]]],[0,74,0,75,102,[1,45173,0],[],[[45173,2,341]]],[0,193,0,194,195,[1,45173,1],[],[[45174,2,342]]],[0,197,0,194,198,[1,45174,0],[],[[45175,2,343]]],[0,104,0,105,344,[1,45175,0],[],[[45175,2,345]]]],[]]],[]]],[]]],[]]],[[45176,2,108],[45176,2,109]]],[0,110,0,111,112,[1,45176,0],[],[]],[0,346,0,347,34,[1,45177,0],[],[[45177,2,348],[45177,2,349]]]],[]],[4,350,0,0,0,[1,45177,12502],[[0,32,0,351,34,[1,45178,8386],[[0,35,0,36,37,[1,45178,1],[],[]],[0,35,0,36,38,[1,45179,0],[],[]],[0,39,0,40,41,[1,45179,1],[],[[45180,2,352]]],[0,43,0,44,45,[1,45181,0],[],[[45181,2,352]]],[0,46,0,47,48,[1,45181,345],[],[[45182,2,49],[45526,2,353]]],[0,51,0,52,53,[1,45527,72],[],[[45599,2,354]]],[0,55,0,56,57,[1,45599,1963],[],[[47562,2,355]]],[0,59,0,60,61,[1,47562,6002],[],[[53563,2,62]]]],[]],[0,63,0,64,65,[1,53564,572],[[0,65,0,66,0,[1,53565,571],[[3,67,0,0,0,[1,53565,571],[[4,68,0,0,0,[1,53566,570],[[0,69,0,0,70,[1,53566,570],[[0,71,0,72,73,[1,53567,558],[[0,74,0,75,76,[1,53568,0],[],[[53568,2,77]]],[0,78,0,40,79,[1,53568,1],[],[[53569,2,356]]],[0,46,0,47,81,[1,53569,422],[],[[53570,2,82],[53991,2,357]]],[0,51,0,52,84,[1,53991,18],[],[[54009,2,85]]],[0,86,0,56,87,[1,54010,0],[],[[54010,2,88],[54010,2,89]]],[0,90,0,91,0,[1,54011,114],[],[]],[0,74,0,75,92,[1,54125,0],[],[[54125,2,88]]]],[[54126,2,93]]],[0,94,0,95,96,[1,54126,0],[],[]],[0,97,0,98,99,[1,54126,8],[],[[54134,2,100],[54134,2,101]]],[0,74,0,75,102,[1,54134,1],[],[[54134,2,358]]],[0,104,0,105,106,[1,54135,0],[],[[54135,2,107]]]],[]]],[]]],[]]],[]]],[[54136,2,108],[54136,2,109]]],[0,110,0,111,112,[1,54137,0],[],[]],[0,63,0,64,113,[1,54137,16],[[0,114,0,115,116,[1,54138,15],[[0,117,0,118,34,[1,54138,15],[[3,67,0,0,0,[1,54139,14],[[4,68,0,0,0,[1,54139,14],[[0,119,0,120,121,[1,54139,9],[[0,97,0,98,122,[1,54140,7],[],[[54147,2,100],[54147,2,101]]],[0,74,0,75,102,[1,54147,1],[],[[54148,2,358]]]],[[54148,2,101]]],[0,74,0,75,102,[1,54148,1],[],[[54149,2,358]]],[0,104,0,105,106,[1,54149,1],[],[[54149,2,107]]],[0,123,0,124,102,[1,54150,0],[],[[54150,2,359]]],[0,126,0,127,102,[1,54150,1],[],[[54151,2,360]]],[0,129,0,130,131,[1,54151,1],[],[[54152,2,361],[54152,2,362]]],[0,134,0,135,136,[1,54152,1],[],[[54153,2,137]]]],[]]],[]]],[]]],[]]],[[54153,2,108],[54153,2,109]]],[0,110,0,111,112,[1,54154,0],[],[]],[0,63,0,64,138,[1,54154,59],[[0,114,0,115,139,[1,54155,58],[[0,140,0,141,0,[1,54155,57],[[3,67,0,0,0,[1,54156,56],[[4,68,0,0,0,[1,54156,56],[[0,119,0,120,121,[1,54156,7],[[0,97,0,98,122,[1,54157,5],[],[[54162,2,100],[54162,2,101]]],[0,74,0,75,102,[1,54163,0],[],[[54163,2,358]]]],[[54164,2,101]]],[0,74,0,75,102,[1,54164,0],[],[[54164,2,358]]],[0,104,0,105,106,[1,54165,0],[],[[54165,2,107]]],[0,123,0,124,102,[1,54165,1],[],[[54166,2,359]]],[0,126,0,127,102,[1,54166,1],[],[[54167,2,360]]],[0,142,0,0,143,[1,54167,45],[[0,129,0,130,144,[1,54168,0],[],[[54168,2,361],[54168,2,362]]],[3,145,0,0,0,[1,54169,43],[[4,146,0,0,0,[1,54169,2],[[0,147,0,148,149,[1,54169,0],[],[[54169,2,363]]],[0,151,0,152,153,[1,54170,0],[],[[54170,2,154]]],[0,104,0,105,155,[1,54170,1],[],[[54171,2,156]]]],[]],[4,157,0,0,0,[1,54171,2],[[0,147,0,148,149,[1,54171,0],[],[[54172,2,364]]],[0,151,0,152,153,[1,54172,0],[],[[54172,2,154]]],[0,104,0,105,155,[1,54172,1],[],[[54173,2,156]]]],[]],[4,159,0,0,0,[1,54173,2],[[0,147,0,148,149,[1,54173,1],[],[[54174,2,365]]],[0,151,0,152,153,[1,54174,1],[],[[54175,2,154]]],[0,104,0,105,155,[1,54175,0],[],[[54175,2,156]]]],[]],[4,161,0,0,0,[1,54175,3],[[0,147,0,148,149,[1,54176,0],[],[[54176,2,366]]],[0,151,0,152,153,[1,54176,1],[],[[54177,2,154]]],[0,104,0,105,155,[1,54177,0],[],[[54177,2,156]]]],[]],[4,163,0,0,0,[1,54178,2],[[0,147,0,148,149,[1,54178,0],[],[[54178,2,367]]],[0,151,0,152,153,[1,54179,0],[],[[54179,2,154]]],[0,104,0,105,155,[1,54179,1],[],[[54180,2,156]]]],[]],[4,165,0,0,0,[1,54180,2],[[0,147,0,148,149,[1,54180,0],[],[[54181,2,368]]],[0,151,0,152,153,[1,54181,0],[],[[54181,2,154]]],[0,104,0,105,155,[1,54181,1],[],[[54182,2,156]]]],[]],[4,167,0,0,0,[1,54182,2],[[0,147,0,148,149,[1,54182,1],[],[[54183,2,369]]],[0,151,0,152,153,[1,54183,0],[],[[54183,2,154]]],[0,104,0,105,155,[1,54184,0],[],[[54184,2,156]]]],[]],[4,169,0,0,0,[1,54184,2],[[0,147,0,148,149,[1,54184,1],[],[[54185,2,370]]],[0,151,0,152,153,[1,54185,0],[],[[54186,2,154]]],[0,104,0,105,155,[1,54186,0],[],[[54186,2,156]]]],[]],[4,171,0,0,0,[1,54186,2],[[0,147,0,148,149,[1,54187,0],[],[[54187,2,371]]],[0,151,0,152,153,[1,54187,1],[],[[54188,2,154]]],[0,104,0,105,155,[1,54188,0],[],[[54188,2,156]]]],[]],[4,173,0,0,0,[1,54189,2],[[0,147,0,148,149,[1,54189,0],[],[[54189,2,372]]],[0,151,0,152,153,[1,54190,0],[],[[54190,2,154]]],[0,104,0,105,155,[1,54190,1],[],[[54190,2,156]]]],[]],[4,373,0,0,0,[1,54191,2],[[0,147,0,148,149,[1,54191,0],[],[[54191,2,374]]],[0,151,0,152,153,[1,54192,0],[],[[54192,2,154]]],[0,104,0,105,155,[1,54192,1],[],[[54193,2,156]]]],[]],[4,375,0,0,0,[1,54193,2],[[0,147,0,148,149,[1,54193,0],[],[[54194,2,376]]],[0,151,0,152,153,[1,54194,0],[],[[54194,2,154]]],[0,104,0,105,155,[1,54194,1],[],[[54195,2,156]]]],[]],[4,377,0,0,0,[1,54195,2],[[0,147,0,148,149,[1,54195,1],[],[[54196,2,378]]],[0,151,0,152,153,[1,54196,0],[],[[54196,2,154]]],[0,104,0,105,155,[1,54197,0],[],[[54197,2,156]]]],[]],[4,379,0,0,0,[1,54197,2],[[0,147,0,148,149,[1,54197,1],[],[[54198,2,380]]],[0,151,0,152,153,[1,54198,0],[],[[54198,2,154]]],[0,104,0,105,155,[1,54199,0],[],[[54199,2,156]]]],[]],[4,381,0,0,0,[1,54199,2],[[0,147,0,148,149,[1,54199,1],[],[[54200,2,382]]],[0,151,0,152,153,[1,54200,0],[],[[54201,2,154]]],[0,104,0,105,155,[1,54201,0],[],[[54201,2,156]]]],[]],[4,383,0,0,0,[1,54201,2],[[0,147,0,148,149,[1,54202,0],[],[[54202,2,384]]],[0,151,0,152,153,[1,54202,1],[],[[54203,2,154]]],[0,104,0,105,155,[1,54203,0],[],[[54203,2,156]]]],[]],[4,385,0,0,0,[1,54204,2],[[0,147,0,148,149,[1,54204,0],[],[[54204,2,386]]],[0,151,0,152,153,[1,54204,1],[],[[54205,2,154]]],[0,104,0,105,155,[1,54205,0],[],[[54205,2,156]]]],[]],[4,387,0,0,0,[1,54206,2],[[0,147,0,148,149,[1,54206,0],[],[[54206,2,388]]],[0,151,0,152,153,[1,54207,0],[],[[54207,2,154]]],[0,104,0,105,155,[1,54207,1],[],[[54208,2,156]]]],[]],[4,389,0,0,0,[1,54208,2],[[0,147,0,148,149,[1,54208,0],[],[[54209,2,390]]],[0,151,0,152,153,[1,54209,0],[],[[54209,2,154]]],[0,104,0,105,155,[1,54209,1],[],[[54210,2,156]]]],[]],[4,391,0,0,0,[1,54210,2],[[0,147,0,148,149,[1,54210,1],[],[[54211,2,392]]],[0,151,0,152,153,[1,54211,0],[],[[54211,2,154]]],[0,104,0,105,155,[1,54211,1],[],[[54212,2,156]]]],[]]],[]]],[]]],[]]],[]]],[]]],[]]],[[54213,2,108],[54213,2,109]]],[0,110,0,111,112,[1,54213,0],[],[]],[0,63,0,64,175,[1,54214,58],[[0,114,0,115,176,[1,54214,58],[[0,177,0,178,179,[1,54215,57],[[3,67,0,0,0,[1,54215,57],[[4,68,0,0,0,[1,54216,56],[[0,119,0,120,121,[1,54216,7],[[0,97,0,98,122,[1,54217,5],[],[[54222,2,100],[54222,2,101]]],[0,74,0,75,102,[1,54223,0],[],[[54223,2,358]]]],[[54223,2,101]]],[0,74,0,75,102,[1,54224,0],[],[[54224,2,358]]],[0,104,0,105,106,[1,54224,1],[],[[54225,2,107]]],[0,123,0,124,102,[1,54225,1],[],[[54226,2,359]]],[0,126,0,127,102,[1,54226,0],[],[[54227,2,360]]],[0,180,0,0,181,[1,54227,45],[[0,129,0,130,144,[1,54228,0],[],[[54228,2,361],[54228,2,362]]],[3,145,0,0,0,[1,54228,43],[[4,146,0,0,0,[1,54229,2],[[0,147,0,148,149,[1,54229,0],[],[[54229,2,363]]],[0,151,0,152,182,[1,54230,0],[],[[54230,2,183]]],[0,104,0,105,184,[1,54230,1],[],[[54230,2,185]]]],[]],[4,157,0,0,0,[1,54231,2],[[0,147,0,148,149,[1,54231,0],[],[[54231,2,364]]],[0,151,0,152,182,[1,54232,0],[],[[54232,2,183]]],[0,104,0,105,184,[1,54232,1],[],[[54233,2,185]]]],[]],[4,159,0,0,0,[1,54233,2],[[0,147,0,148,149,[1,54233,1],[],[[54234,2,365]]],[0,151,0,152,182,[1,54234,0],[],[[54234,2,183]]],[0,104,0,105,184,[1,54234,1],[],[[54235,2,185]]]],[]],[4,161,0,0,0,[1,54235,2],[[0,147,0,148,149,[1,54235,1],[],[[54236,2,366]]],[0,151,0,152,182,[1,54236,0],[],[[54236,2,183]]],[0,104,0,105,184,[1,54237,0],[],[[54237,2,185]]]],[]],[4,163,0,0,0,[1,54237,2],[[0,147,0,148,149,[1,54237,1],[],[[54238,2,367]]],[0,151,0,152,182,[1,54238,0],[],[[54239,2,183]]],[0,104,0,105,184,[1,54239,0],[],[[54239,2,185]]]],[]],[4,165,0,0,0,[1,54239,2],[[0,147,0,148,149,[1,54239,1],[],[[54240,2,368]]],[0,151,0,152,182,[1,54240,1],[],[[54241,2,183]]],[0,104,0,105,184,[1,54241,0],[],[[54241,2,185]]]],[]],[4,167,0,0,0,[1,54241,3],[[0,147,0,148,149,[1,54242,0],[],[[54242,2,369]]],[0,151,0,152,182,[1,54242,1],[],[[54243,2,183]]],[0,104,0,105,184,[1,54243,0],[],[[54243,2,185]]]],[]],[4,169,0,0,0,[1,54244,2],[[0,147,0,148,149,[1,54244,0],[],[[54244,2,370]]],[0,151,0,152,182,[1,54245,0],[],[[54245,2,183]]],[0,104,0,105,184,[1,54245,1],[],[[54245,2,185]]]],[]],[4,171,0,0,0,[1,54246,2],[[0,147,0,148,149,[1,54246,0],[],[[54246,2,371]]],[0,151,0,152,182,[1,54247,0],[],[[54247,2,183]]],[0,104,0,105,184,[1,54247,1],[],[[54248,2,185]]]],[]],[4,173,0,0,0,[1,54248,2],[[0,147,0,148,149,[1,54248,0],[],[[54249,2,372]]],[0,151,0,152,182,[1,54249,0],[],[[54249,2,183]]],[0,104,0,105,184,[1,54249,1],[],[[54250,2,185]]]],[]],[4,373,0,0,0,[1,54250,2],[[0,147,0,148,149,[1,54250,1],[],[[54251,2,374]]],[0,151,0,152,182,[1,54251,0],[],[[54252,2,183]]],[0,104,0,105,184,[1,54252,0],[],[[54252,2,185]]]],[]],[4,375,0,0,0,[1,54252,2],[[0,147,0,148,149,[1,54253,0],[],[[54253,2,376]]],[0,151,0,152,182,[1,54253,1],[],[[54254,2,183]]],[0,104,0,105,184,[1,54254,0],[],[[54254,2,185]]]],[]],[4,377,0,0,0,[1,54254,2],[[0,147,0,148,149,[1,54255,0],[],[[54255,2,378]]],[0,151,0,152,182,[1,54255,1],[],[[54256,2,183]]],[0,104,0,105,184,[1,54256,0],[],[[54256,2,185]]]],[]],[4,379,0,0,0,[1,54257,2],[[0,147,0,148,149,[1,54257,0],[],[[54257,2,380]]],[0,151,0,152,182,[1,54258,0],[],[[54258,2,183]]],[0,104,0,105,184,[1,54258,1],[],[[54258,2,185]]]],[]],[4,381,0,0,0,[1,54259,2],[[0,147,0,148,149,[1,54259,0],[],[[54259,2,382]]],[0,151,0,152,182,[1,54260,0],[],[[54260,2,183]]],[0,104,0,105,184,[1,54260,1],[],[[54261,2,185]]]],[]],[4,383,0,0,0,[1,54261,2],[[0,147,0,148,149,[1,54261,0],[],[[54262,2,384]]],[0,151,0,152,182,[1,54262,0],[],[[54262,2,183]]],[0,104,0,105,184,[1,54262,1],[],[[54263,2,185]]]],[]],[4,385,0,0,0,[1,54263,2],[[0,147,0,148,149,[1,54263,1],[],[[54264,2,386]]],[0,151,0,152,182,[1,54264,0],[],[[54264,2,183]]],[0,104,0,105,184,[1,54264,1],[],[[54265,2,185]]]],[]],[4,387,0,0,0,[1,54265,2],[[0,147,0,148,149,[1,54265,1],[],[[54266,2,388]]],[0,151,0,152,182,[1,54266,0],[],[[54266,2,183]]],[0,104,0,105,184,[1,54267,0],[],[[54267,2,185]]]],[]],[4,389,0,0,0,[1,54267,2],[[0,147,0,148,149,[1,54267,1],[],[[54268,2,390]]],[0,151,0,152,182,[1,54268,0],[],[[54268,2,183]]],[0,104,0,105,184,[1,54269,0],[],[[54269,2,185]]]],[]],[4,391,0,0,0,[1,54269,2],[[0,147,0,148,149,[1,54269,1],[],[[54270,2,392]]],[0,151,0,152,182,[1,54270,1],[],[[54271,2,183]]],[0,104,0,105,184,[1,54271,0],[],[[54271,2,185]]]],[]]],[]]],[]]],[]]],[]]],[]]],[]]],[[54272,2,108],[54272,2,109]]],[0,110,0,111,112,[1,54272,1],[],[]],[0,63,0,64,186,[1,54273,11],[[0,114,0,115,187,[1,54273,11],[[0,188,0,189,190,[1,54274,10],[[3,67,0,0,0,[1,54275,9],[[4,68,0,0,0,[1,54276,8],[[0,119,0,120,191,[1,54276,5],[[0,97,0,98,122,[1,54277,3],[],[[54280,2,100],[54280,2,101]]],[0,74,0,75,102,[1,54280,1],[],[[54281,2,393]]]],[[54281,2,101]]],[0,74,0,75,102,[1,54281,1],[],[[54282,2,393]]],[0,193,0,194,195,[1,54282,0],[],[[54283,2,394]]],[0,197,0,194,198,[1,54283,0],[],[[54283,2,199]]],[0,104,0,105,200,[1,54284,0],[],[[54284,2,201]]]],[]]],[]]],[]]],[]]],[[54285,2,108],[54285,2,109]]],[0,110,0,111,112,[1,54285,0],[],[]],[0,63,0,64,202,[1,54285,58],[[0,114,0,115,203,[1,54286,57],[[0,204,0,205,0,[1,54286,57],[[3,67,0,0,0,[1,54287,56],[[4,68,0,0,0,[1,54287,56],[[0,119,0,120,206,[1,54287,8],[[0,97,0,98,122,[1,54288,5],[],[[54293,2,100],[54294,2,101]]],[0,74,0,75,102,[1,54294,0],[],[[54294,2,395]]]],[[54295,2,101]]],[0,126,0,127,102,[1,54295,1],[],[[54296,2,396]]],[0,129,0,130,209,[1,54296,1],[],[[54296,2,397],[54297,2,398]]],[0,74,0,75,102,[1,54297,0],[],[[54297,2,395]]],[0,119,0,120,212,[1,54298,31],[[0,97,0,98,122,[1,54299,28],[],[[54326,2,100],[54327,2,101]]],[0,74,0,75,102,[1,54327,1],[],[[54328,2,399]]]],[[54329,2,101]]],[0,126,0,127,102,[1,54329,3],[],[[54333,2,400]]],[0,129,0,130,215,[1,54333,1],[],[[54333,2,401],[54334,2,402]]],[0,74,0,75,102,[1,54334,1],[],[[54334,2,399]]],[0,119,0,120,218,[1,54335,6],[[0,97,0,98,122,[1,54336,4],[],[[54340,2,100],[54340,2,101]]],[0,74,0,75,102,[1,54340,0],[],[[54340,2,219]]]],[[54341,2,101]]],[0,126,0,127,102,[1,54341,0],[],[[54342,2,220]]],[0,129,0,130,221,[1,54342,0],[],[[54342,2,222],[54342,2,223]]],[0,74,0,75,102,[1,54343,0],[],[[54343,2,219]]]],[]]],[]]],[]]],[]]],[[54344,2,108],[54344,2,109]]],[0,63,0,64,224,[1,54344,190],[[0,114,0,115,225,[1,54344,190],[[0,226,0,227,0,[1,54345,189],[[3,67,0,0,0,[1,54345,189],[[4,68,0,0,0,[1,54346,187],[[0,119,0,120,121,[1,54346,7],[[0,97,0,98,122,[1,54347,5],[],[[54352,2,100],[54352,2,101]]],[0,74,0,75,102,[1,54352,1],[],[[54353,2,358]]]],[[54353,2,101]]],[0,104,0,105,106,[1,54353,1],[],[[54354,2,107]]],[0,126,0,127,102,[1,54354,1],[],[[54355,2,360]]],[0,228,0,0,229,[1,54355,178],[[0,129,0,130,144,[1,54356,1],[],[[54356,2,361],[54357,2,362]]],[0,230,0,231,0,[1,54357,0],[],[[54357,2,232]]],[3,145,0,0,0,[1,54357,54],[[4,146,0,0,0,[1,54357,3],[[0,233,0,148,149,[1,54358,0],[],[[54358,2,403]]],[0,235,0,152,236,[1,54358,1],[],[[54359,2,237]]],[0,238,0,239,240,[1,54359,0],[],[]],[0,74,0,75,241,[1,54360,0],[],[[54360,2,242]]]],[]],[4,157,0,0,0,[1,54360,3],[[0,233,0,148,149,[1,54360,1],[],[[54361,2,404]]],[0,235,0,152,236,[1,54361,0],[],[[54361,2,405]]],[0,238,0,239,240,[1,54362,0],[],[]],[0,74,0,75,241,[1,54362,1],[],[[54362,2,406]]]],[]],[4,159,0,0,0,[1,54363,2],[[0,233,0,148,149,[1,54363,0],[],[[54363,2,407]]],[0,235,0,152,236,[1,54364,0],[],[[54364,2,408]]],[0,238,0,239,240,[1,54364,1],[],[]],[0,74,0,75,241,[1,54365,0],[],[[54365,2,409]]]],[]],[4,161,0,0,0,[1,54365,3],[[0,233,0,148,149,[1,54366,0],[],[[54366,2,410]]],[0,235,0,152,236,[1,54366,1],[],[[54367,2,411]]],[0,238,0,239,240,[1,54367,0],[],[]],[0,74,0,75,241,[1,54367,1],[],[[54368,2,412]]]],[]],[4,163,0,0,0,[1,54368,3],[[0,233,0,148,149,[1,54368,1],[],[[54369,2,413]]],[0,235,0,152,236,[1,54369,0],[],[[54369,2,414]]],[0,238,0,239,240,[1,54370,0],[],[]],[0,74,0,75,241,[1,54370,0],[],[[54370,2,415]]]],[]],[4,165,0,0,0,[1,54371,2],[[0,233,0,148,149,[1,54371,0],[],[[54371,2,416]]],[0,235,0,152,236,[1,54372,0],[],[[54372,2,417]]],[0,238,0,239,240,[1,54372,0],[],[]],[0,74,0,75,241,[1,54373,0],[],[[54373,2,418]]]],[]],[4,167,0,0,0,[1,54373,3],[[0,233,0,148,149,[1,54373,1],[],[[54374,2,419]]],[0,235,0,152,236,[1,54374,0],[],[[54375,2,420]]],[0,238,0,239,240,[1,54375,0],[],[]],[0,74,0,75,241,[1,54375,1],[],[[54376,2,421]]]],[]],[4,169,0,0,0,[1,54376,3],[[0,233,0,148,149,[1,54376,1],[],[[54377,2,422]]],[0,235,0,152,236,[1,54377,1],[],[[54378,2,244]]],[0,238,0,239,240,[1,54378,0],[],[]],[0,74,0,75,241,[1,54379,0],[],[[54379,2,423]]]],[]],[4,171,0,0,0,[1,54379,3],[[0,233,0,148,149,[1,54379,1],[],[[54380,2,424]]],[0,235,0,152,236,[1,54380,0],[],[[54380,2,425]]],[0,238,0,239,240,[1,54381,0],[],[]],[0,74,0,75,241,[1,54381,1],[],[[54381,2,426]]]],[]],[4,173,0,0,0,[1,54382,2],[[0,233,0,148,149,[1,54382,0],[],[[54382,2,427]]],[0,235,0,152,236,[1,54383,0],[],[[54383,2,428]]],[0,238,0,239,240,[1,54383,1],[],[]],[0,74,0,75,241,[1,54384,0],[],[[54384,2,429]]]],[]],[4,373,0,0,0,[1,54384,3],[[0,233,0,148,149,[1,54385,0],[],[[54385,2,430]]],[0,235,0,152,236,[1,54385,1],[],[[54386,2,247]]],[0,238,0,239,240,[1,54386,0],[],[]],[0,74,0,75,241,[1,54386,1],[],[[54387,2,431]]]],[]],[4,375,0,0,0,[1,54387,3],[[0,233,0,148,149,[1,54387,1],[],[[54388,2,432]]],[0,235,0,152,236,[1,54388,0],[],[[54388,2,250]]],[0,238,0,239,240,[1,54389,0],[],[]],[0,74,0,75,241,[1,54389,1],[],[[54389,2,433]]]],[]],[4,377,0,0,0,[1,54390,2],[[0,233,0,148,149,[1,54390,0],[],[[54390,2,434]]],[0,235,0,152,236,[1,54391,0],[],[[54391,2,253]]],[0,238,0,239,240,[1,54391,1],[],[]],[0,74,0,75,241,[1,54392,0],[],[[54392,2,435]]]],[]],[4,379,0,0,0,[1,54392,3],[[0,233,0,148,149,[1,54393,0],[],[[54393,2,436]]],[0,235,0,152,236,[1,54393,1],[],[[54394,2,437]]],[0,238,0,239,240,[1,54394,0],[],[]],[0,74,0,75,241,[1,54394,1],[],[[54395,2,438]]]],[]],[4,381,0,0,0,[1,54395,3],[[0,233,0,148,149,[1,54395,1],[],[[54396,2,439]]],[0,235,0,152,236,[1,54396,0],[],[[54396,2,256]]],[0,238,0,239,240,[1,54397,0],[],[]],[0,74,0,75,241,[1,54397,1],[],[[54397,2,440]]]],[]],[4,383,0,0,0,[1,54398,2],[[0,233,0,148,149,[1,54398,0],[],[[54398,2,441]]],[0,235,0,152,236,[1,54399,0],[],[[54399,2,442]]],[0,238,0,239,240,[1,54399,1],[],[]],[0,74,0,75,241,[1,54400,0],[],[[54400,2,443]]]],[]],[4,385,0,0,0,[1,54400,3],[[0,233,0,148,149,[1,54400,1],[],[[54401,2,444]]],[0,235,0,152,236,[1,54401,1],[],[[54402,2,259]]],[0,238,0,239,240,[1,54402,0],[],[]],[0,74,0,75,241,[1,54402,1],[],[[54403,2,445]]]],[]],[4,387,0,0,0,[1,54403,3],[[0,233,0,148,149,[1,54403,1],[],[[54404,2,446]]],[0,235,0,152,236,[1,54404,0],[],[[54404,2,262]]],[0,238,0,239,240,[1,54405,0],[],[]],[0,74,0,75,241,[1,54405,1],[],[[54406,2,447]]]],[]],[4,389,0,0,0,[1,54406,2],[[0,233,0,148,149,[1,54406,0],[],[[54407,2,448]]],[0,235,0,152,236,[1,54407,0],[],[[54407,2,265]]],[0,238,0,239,240,[1,54407,1],[],[]],[0,74,0,75,241,[1,54408,0],[],[[54408,2,449]]]],[]],[4,391,0,0,0,[1,54408,3],[[0,233,0,148,149,[1,54409,0],[],[[54409,2,450]]],[0,235,0,152,236,[1,54409,1],[],[[54410,2,268]]],[0,238,0,239,240,[1,54410,0],[],[]],[0,74,0,75,241,[1,54411,0],[],[[54411,2,451]]]],[]]],[]],[0,129,0,130,241,[1,54411,1],[],[[54412,2,361],[54412,2,362]]],[3,270,0,0,0,[1,54412,121],[[4,271,0,0,0,[1,54412,6],[[0,119,0,120,272,[1,54412,5],[[0,97,0,98,122,[1,54413,3],[],[[54416,2,100],[54416,2,101]]],[0,74,0,75,102,[1,54417,0],[],[[54417,2,452]]]],[[54417,2,101]]],[0,74,0,75,102,[1,54418,0],[],[[54418,2,452]]]],[]],[4,453,0,0,0,[1,54418,6],[[0,119,0,120,272,[1,54418,5],[[0,97,0,98,122,[1,54419,3],[],[[54422,2,100],[54422,2,101]]],[0,74,0,75,102,[1,54422,1],[],[[54423,2,454]]]],[[54423,2,101]]],[0,74,0,75,102,[1,54423,1],[],[[54424,2,454]]]],[]],[4,455,0,0,0,[1,54424,5],[[0,119,0,120,272,[1,54424,5],[[0,97,0,98,122,[1,54425,3],[],[[54427,2,100],[54428,2,101]]],[0,74,0,75,102,[1,54428,0],[],[[54428,2,456]]]],[[54429,2,101]]],[0,74,0,75,102,[1,54429,0],[],[[54429,2,456]]]],[]],[4,457,0,0,0,[1,54429,6],[[0,119,0,120,272,[1,54430,5],[[0,97,0,98,122,[1,54431,3],[],[[54434,2,100],[54434,2,101]]],[0,74,0,75,102,[1,54434,0],[],[[54434,2,458]]]],[[54435,2,101]]],[0,74,0,75,102,[1,54435,0],[],[[54435,2,458]]]],[]],[4,459,0,0,0,[1,54436,6],[[0,119,0,120,272,[1,54436,5],[[0,97,0,98,122,[1,54437,3],[],[[54440,2,100],[54440,2,101]]],[0,74,0,75,102,[1,54440,0],[],[[54440,2,460]]]],[[54441,2,101]]],[0,74,0,75,102,[1,54441,0],[],[[54441,2,460]]]],[]],[4,461,0,0,0,[1,54442,6],[[0,119,0,120,272,[1,54442,5],[[0,97,0,98,122,[1,54443,3],[],[[54446,2,100],[54446,2,101]]],[0,74,0,75,102,[1,54447,0],[],[[54447,2,462]]]],[[54447,2,101]]],[0,74,0,75,102,[1,54448,0],[],[[54448,2,462]]]],[]],[4,463,0,0,0,[1,54448,6],[[0,119,0,120,272,[1,54448,5],[[0,97,0,98,122,[1,54449,3],[],[[54452,2,100],[54452,2,101]]],[0,74,0,75,102,[1,54453,0],[],[[54453,2,464]]]],[[54453,2,101]]],[0,74,0,75,102,[1,54454,0],[],[[54454,2,464]]]],[]],[4,274,0,0,0,[1,54454,7],[[0,119,0,120,272,[1,54454,6],[[0,97,0,98,122,[1,54455,4],[],[[54459,2,100],[54459,2,101]]],[0,74,0,75,102,[1,54459,1],[],[[54460,2,465]]]],[[54460,2,101]]],[0,74,0,75,102,[1,54460,1],[],[[54461,2,465]]]],[]],[4,466,0,0,0,[1,54461,6],[[0,119,0,120,272,[1,54461,5],[[0,97,0,98,122,[1,54462,3],[],[[54465,2,100],[54465,2,101]]],[0,74,0,75,102,[1,54465,1],[],[[54465,2,467]]]],[[54466,2,101]]],[0,74,0,75,102,[1,54466,1],[],[[54466,2,467]]]],[]],[4,468,0,0,0,[1,54467,6],[[0,119,0,120,272,[1,54467,5],[[0,97,0,98,122,[1,54468,3],[],[[54471,2,100],[54471,2,101]]],[0,74,0,75,102,[1,54471,0],[],[[54471,2,469]]]],[[54472,2,101]]],[0,74,0,75,102,[1,54472,0],[],[[54472,2,469]]]],[]],[4,276,0,0,0,[1,54473,5],[[0,119,0,120,272,[1,54473,5],[[0,97,0,98,122,[1,54474,3],[],[[54476,2,100],[54477,2,101]]],[0,74,0,75,102,[1,54477,0],[],[[54477,2,470]]]],[[54478,2,101]]],[0,74,0,75,102,[1,54478,0],[],[[54478,2,470]]]],[]],[4,278,0,0,0,[1,54479,6],[[0,119,0,120,272,[1,54479,5],[[0,97,0,98,122,[1,54480,3],[],[[54483,2,100],[54483,2,101]]],[0,74,0,75,102,[1,54483,1],[],[[54484,2,471]]]],[[54484,2,101]]],[0,74,0,75,102,[1,54484,1],[],[[54485,2,471]]]],[]],[4,280,0,0,0,[1,54485,6],[[0,119,0,120,272,[1,54485,5],[[0,97,0,98,122,[1,54486,3],[],[[54489,2,100],[54489,2,101]]],[0,74,0,75,102,[1,54489,1],[],[[54490,2,472]]]],[[54490,2,101]]],[0,74,0,75,102,[1,54490,1],[],[[54491,2,472]]]],[]],[4,473,0,0,0,[1,54491,6],[[0,119,0,120,272,[1,54491,5],[[0,97,0,98,122,[1,54492,3],[],[[54495,2,100],[54495,2,101]]],[0,74,0,75,102,[1,54495,1],[],[[54496,2,474]]]],[[54496,2,101]]],[0,74,0,75,102,[1,54496,1],[],[[54497,2,474]]]],[]],[4,282,0,0,0,[1,54497,6],[[0,119,0,120,272,[1,54497,5],[[0,97,0,98,122,[1,54498,3],[],[[54501,2,100],[54501,2,101]]],[0,74,0,75,102,[1,54501,1],[],[[54502,2,475]]]],[[54502,2,101]]],[0,74,0,75,102,[1,54502,1],[],[[54503,2,475]]]],[]],[4,476,0,0,0,[1,54503,6],[[0,119,0,120,272,[1,54503,5],[[0,97,0,98,122,[1,54504,3],[],[[54507,2,100],[54507,2,101]]],[0,74,0,75,102,[1,54507,1],[],[[54508,2,477]]]],[[54508,2,101]]],[0,74,0,75,102,[1,54508,1],[],[[54509,2,477]]]],[]],[4,284,0,0,0,[1,54509,6],[[0,119,0,120,272,[1,54509,5],[[0,97,0,98,122,[1,54510,3],[],[[54513,2,100],[54513,2,101]]],[0,74,0,75,102,[1,54513,1],[],[[54513,2,478]]]],[[54514,2,101]]],[0,74,0,75,102,[1,54514,1],[],[[54514,2,478]]]],[]],[4,286,0,0,0,[1,54515,6],[[0,119,0,120,272,[1,54515,5],[[0,97,0,98,122,[1,54516,3],[],[[54519,2,100],[54519,2,101]]],[0,74,0,75,102,[1,54519,1],[],[[54520,2,479]]]],[[54520,2,101]]],[0,74,0,75,102,[1,54520,1],[],[[54521,2,479]]]],[]],[4,288,0,0,0,[1,54521,6],[[0,119,0,120,272,[1,54521,5],[[0,97,0,98,122,[1,54522,3],[],[[54525,2,100],[54525,2,101]]],[0,74,0,75,102,[1,54526,0],[],[[54526,2,480]]]],[[54526,2,101]]],[0,74,0,75,102,[1,54527,0],[],[[54527,2,480]]]],[]],[4,290,0,0,0,[1,54527,6],[[0,119,0,120,272,[1,54527,5],[[0,97,0,98,122,[1,54528,3],[],[[54531,2,100],[54531,2,101]]],[0,74,0,75,102,[1,54532,0],[],[[54532,2,481]]]],[[54532,2,101]]],[0,74,0,75,102,[1,54533,0],[],[[54533,2,481]]]],[]]],[]]],[]]],[]]],[]]],[]]],[]]],[[54534,2,108],[54534,2,109]]],[0,63,0,64,292,[1,54534,1280],[[0,114,0,115,293,[1,54535,1279],[[0,294,0,295,0,[1,54535,1279],[[0,296,0,297,45,[1,54536,0],[],[]],[0,298,0,299,0,[1,54536,1],[],[]],[0,51,0,52,300,[1,54537,4],[],[[54541,2,300]]],[0,86,0,56,57,[1,54542,469],[],[[55011,2,482],[55012,2,483]]],[0,74,0,75,92,[1,55012,1],[],[[55012,2,482]]],[0,51,0,52,303,[1,55013,4],[],[[55017,2,303]]],[0,86,0,56,57,[1,55017,48],[],[[55065,2,484],[55065,2,485]]],[0,74,0,75,92,[1,55065,1],[],[[55065,2,484]]],[0,51,0,52,306,[1,55066,5],[],[[55071,2,306]]],[0,86,0,56,57,[1,55072,689],[],[[55761,2,486],[55762,2,308]]],[0,74,0,75,92,[1,55762,0],[],[[55762,2,486]]],[0,51,0,52,309,[1,55763,2],[],[[55765,2,309]]],[0,86,0,56,57,[1,55766,47],[],[[55813,2,487],[55813,2,311]]],[0,74,0,75,92,[1,55813,1],[],[[55814,2,487]]]],[]]],[]]],[[55815,2,108],[55815,2,109]]],[0,312,0,313,0,[1,55815,1791],[[0,35,0,36,314,[1,55816,0],[],[]],[0,296,0,297,45,[1,55816,0],[],[]],[0,298,0,299,0,[1,55817,0],[],[]],[0,51,0,52,315,[1,55817,2],[],[[55819,2,315]]],[0,55,0,56,87,[1,55820,1671],[],[[57491,2,488]]],[0,90,0,91,0,[1,57492,114],[],[]]],[]],[0,63,0,64,317,[1,57606,60],[[0,114,0,115,318,[1,57607,59],[[0,319,0,320,0,[1,57607,59],[[3,67,0,0,0,[1,57608,58],[[4,68,0,0,0,[1,57608,58],[[0,119,0,120,121,[1,57609,8],[[0,97,0,98,122,[1,57609,7],[],[[57616,2,100],[57616,2,101]]],[0,74,0,75,102,[1,57616,1],[],[[57617,2,489]]]],[[57617,2,101]]],[0,74,0,75,102,[1,57617,1],[],[[57618,2,489]]],[0,104,0,105,106,[1,57618,1],[],[[57618,2,107]]],[0,123,0,124,102,[1,57619,0],[],[[57619,2,490]]],[0,126,0,127,102,[1,57619,1],[],[[57620,2,491]]],[0,142,0,0,324,[1,57620,46],[[0,129,0,130,144,[1,57621,1],[],[[57622,2,361],[57622,2,362]]],[3,145,0,0,0,[1,57622,44],[[4,146,0,0,0,[1,57622,2],[[0,147,0,148,149,[1,57622,1],[],[[57623,2,492]]],[0,151,0,152,153,[1,57623,1],[],[[57624,2,326]]],[0,104,0,105,155,[1,57624,0],[],[[57624,2,156]]]],[]],[4,157,0,0,0,[1,57624,3],[[0,147,0,148,149,[1,57625,0],[],[[57625,2,493]]],[0,151,0,152,153,[1,57625,1],[],[[57626,2,326]]],[0,104,0,105,155,[1,57626,0],[],[[57626,2,156]]]],[]],[4,159,0,0,0,[1,57627,2],[[0,147,0,148,149,[1,57627,0],[],[[57627,2,494]]],[0,151,0,152,153,[1,57628,0],[],[[57628,2,326]]],[0,104,0,105,155,[1,57628,1],[],[[57629,2,156]]]],[]],[4,161,0,0,0,[1,57629,2],[[0,147,0,148,149,[1,57629,0],[],[[57630,2,495]]],[0,151,0,152,153,[1,57630,0],[],[[57630,2,326]]],[0,104,0,105,155,[1,57630,1],[],[[57631,2,156]]]],[]],[4,163,0,0,0,[1,57631,2],[[0,147,0,148,149,[1,57631,1],[],[[57632,2,496]]],[0,151,0,152,153,[1,57632,1],[],[[57633,2,326]]],[0,104,0,105,155,[1,57633,0],[],[[57633,2,156]]]],[]],[4,165,0,0,0,[1,57633,3],[[0,147,0,148,149,[1,57634,0],[],[[57634,2,497]]],[0,151,0,152,153,[1,57634,1],[],[[57635,2,326]]],[0,104,0,105,155,[1,57635,0],[],[[57635,2,156]]]],[]],[4,167,0,0,0,[1,57636,2],[[0,147,0,148,149,[1,57636,0],[],[[57636,2,498]]],[0,151,0,152,153,[1,57637,0],[],[[57637,2,326]]],[0,104,0,105,155,[1,57637,1],[],[[57637,2,156]]]],[]],[4,169,0,0,0,[1,57638,2],[[0,147,0,148,149,[1,57638,0],[],[[57638,2,499]]],[0,151,0,152,153,[1,57639,0],[],[[57639,2,326]]],[0,104,0,105,155,[1,57639,1],[],[[57640,2,156]]]],[]],[4,171,0,0,0,[1,57640,2],[[0,147,0,148,149,[1,57640,0],[],[[57641,2,500]]],[0,151,0,152,153,[1,57641,0],[],[[57641,2,326]]],[0,104,0,105,155,[1,57641,1],[],[[57642,2,156]]]],[]],[4,173,0,0,0,[1,57642,2],[[0,147,0,148,149,[1,57642,1],[],[[57643,2,501]]],[0,151,0,152,153,[1,57643,0],[],[[57643,2,326]]],[0,104,0,105,155,[1,57644,0],[],[[57644,2,156]]]],[]],[4,373,0,0,0,[1,57644,2],[[0,147,0,148,149,[1,57644,1],[],[[57645,2,502]]],[0,151,0,152,153,[1,57645,0],[],[[57645,2,326]]],[0,104,0,105,155,[1,57646,0],[],[[57646,2,156]]]],[]],[4,375,0,0,0,[1,57646,2],[[0,147,0,148,149,[1,57647,0],[],[[57647,2,503]]],[0,151,0,152,153,[1,57647,1],[],[[57648,2,326]]],[0,104,0,105,155,[1,57648,0],[],[[57648,2,156]]]],[]],[4,377,0,0,0,[1,57648,3],[[0,147,0,148,149,[1,57649,0],[],[[57649,2,504]]],[0,151,0,152,153,[1,57649,1],[],[[57650,2,326]]],[0,104,0,105,155,[1,57650,0],[],[[57650,2,156]]]],[]],[4,379,0,0,0,[1,57651,2],[[0,147,0,148,149,[1,57651,0],[],[[57651,2,505]]],[0,151,0,152,153,[1,57652,0],[],[[57652,2,326]]],[0,104,0,105,155,[1,57652,1],[],[[57652,2,156]]]],[]],[4,381,0,0,0,[1,57653,2],[[0,147,0,148,149,[1,57653,0],[],[[57653,2,506]]],[0,151,0,152,153,[1,57654,0],[],[[57654,2,326]]],[0,104,0,105,155,[1,57654,1],[],[[57655,2,156]]]],[]],[4,383,0,0,0,[1,57655,2],[[0,147,0,148,149,[1,57655,1],[],[[57656,2,507]]],[0,151,0,152,153,[1,57656,0],[],[[57656,2,326]]],[0,104,0,105,155,[1,57656,1],[],[[57657,2,156]]]],[]],[4,385,0,0,0,[1,57657,2],[[0,147,0,148,149,[1,57657,1],[],[[57658,2,508]]],[0,151,0,152,153,[1,57658,0],[],[[57658,2,326]]],[0,104,0,105,155,[1,57659,0],[],[[57659,2,156]]]],[]],[4,387,0,0,0,[1,57659,2],[[0,147,0,148,149,[1,57659,1],[],[[57660,2,509]]],[0,151,0,152,153,[1,57660,0],[],[[57661,2,326]]],[0,104,0,105,155,[1,57661,0],[],[[57661,2,156]]]],[]],[4,389,0,0,0,[1,57661,3],[[0,147,0,148,149,[1,57662,0],[],[[57662,2,510]]],[0,151,0,152,153,[1,57662,1],[],[[57663,2,326]]],[0,104,0,105,155,[1,57663,0],[],[[57663,2,156]]]],[]],[4,391,0,0,0,[1,57664,2],[[0,147,0,148,149,[1,57664,0],[],[[57664,2,511]]],[0,151,0,152,153,[1,57665,0],[],[[57665,2,326]]],[0,104,0,105,155,[1,57665,1],[],[[57665,2,156]]]],[]]],[]]],[]]],[]]],[]]],[]]],[]]],[[57666,2,108],[57667,2,109]]],[0,110,0,111,112,[1,57667,0],[],[]],[0,63,0,64,336,[1,57667,11],[[0,114,0,115,337,[1,57668,10],[[0,338,0,339,340,[1,57668,10],[[3,67,0,0,0,[1,57669,8],[[4,68,0,0,0,[1,57669,8],[[0,119,0,120,191,[1,57669,5],[[0,97,0,98,122,[1,57670,3],[],[[57673,2,100],[57674,2,101]]],[0,74,0,75,102,[1,57674,0],[],[[57674,2,512]]]],[[57675,2,101]]],[0,74,0,75,102,[1,57675,0],[],[[57675,2,512]]],[0,193,0,194,195,[1,57675,1],[],[[57676,2,342]]],[0,197,0,194,198,[1,57676,1],[],[[57677,2,343]]],[0,104,0,105,344,[1,57677,0],[],[[57677,2,345]]]],[]]],[]]],[]]],[]]],[[57678,2,108],[57678,2,109]]],[0,110,0,111,112,[1,57678,1],[],[]],[0,346,0,347,34,[1,57679,0],[],[[57679,2,348],[57679,2,513]]]],[]]];
1682</script>
1683<script type="text/javascript">
1684window.output["suite"] = [1,2,3,4,[],[1,0,60951],[],[[5,0,1,6,[7],[1,35479,22203],[[0,8,0,9,10,[1,35481,1],[],[[35482,2,11]]],[0,12,0,13,14,[1,35484,22196],[[0,15,0,16,17,[1,35485,0],[],[[35485,2,18]]],[0,19,0,20,21,[1,35486,0],[],[[35486,2,22],[35486,2,23]]],[0,24,0,20,25,[1,35486,1],[],[[35486,2,22],[35487,2,26]]],[0,27,0,20,28,[1,35487,0],[],[[35487,2,22],[35487,2,29]]],[3,30,0,0,0,[1,35487,22192],window.sPart0,[]]],[[57680,2,514]]],[0,74,0,75,515,[1,57680,1],[],[[57680,2,516]]],[0,8,0,9,517,[1,57681,0],[],[[57681,2,11]]]]]],[[1,518,0,519,520,[1,197,35282],[[0,521,0,522,0,[1,200,2],[[0,523,0,231,524,[1,201,0],[],[[201,2,525]]],[0,43,0,44,526,[1,202,0],[],[[202,2,525]]]],[]],[0,527,0,528,529,[1,202,11960],[],[[210,2,530],[12163,2,531]]],[0,134,0,135,532,[1,12164,1],[],[[12165,2,107]]],[3,67,0,0,0,[1,12165,4683],[[4,68,0,0,0,[1,12165,4683],[[0,527,0,528,533,[1,12165,4680],[],[[12174,2,534],[16846,2,531]]],[0,134,0,135,532,[1,16847,1],[],[[16847,2,107]]]],[]]],[]],[0,535,0,536,0,[1,16848,17],[[0,537,0,538,539,[1,16849,0],[],[[16849,2,540]]],[3,67,0,0,0,[1,16850,14],[[4,68,0,0,0,[1,16850,14],[[0,541,0,542,543,[1,16850,14],[],[[16863,2,544]]]],[]]],[]]],[]],[0,114,0,115,545,[1,16865,18613],[[0,546,0,547,0,[0,16866,10],[[3,67,0,0,0,[0,16866,10],[[4,68,0,0,0,[0,16867,9],[[0,119,0,120,121,[0,16867,9],[[0,97,0,98,122,[0,16868,7],[],[[16873,2,548],[16874,2,100],[16875,4,549]]]],[]]],[]]],[]]],[]],[0,546,0,547,0,[0,18878,6],[[3,67,0,0,0,[0,18879,4],[[4,68,0,0,0,[0,18879,4],[[0,119,0,120,121,[0,18880,3],[[0,97,0,98,122,[0,18880,3],[],[[18882,2,550],[18882,2,100],[18883,4,549]]]],[]]],[]]],[]]],[]],[0,546,0,547,0,[0,20886,5],[[3,67,0,0,0,[0,20887,4],[[4,68,0,0,0,[0,20887,4],[[0,119,0,120,121,[0,20887,4],[[0,97,0,98,122,[0,20888,3],[],[[20889,2,551],[20890,2,100],[20890,4,549]]]],[]]],[]]],[]]],[]],[0,546,0,547,0,[0,22893,5],[[3,67,0,0,0,[0,22894,4],[[4,68,0,0,0,[0,22894,4],[[0,119,0,120,121,[0,22895,3],[[0,97,0,98,122,[0,22895,3],[],[[22896,2,552],[22897,2,100],[22898,4,549]]]],[]]],[]]],[]]],[]],[0,546,0,547,0,[0,24900,137],[[3,67,0,0,0,[0,24901,136],[[4,68,0,0,0,[0,24901,136],[[0,119,0,120,121,[1,24902,133],[[0,97,0,98,122,[1,24902,131],[],[[24903,2,553],[25033,2,100],[25033,2,554]]],[0,74,0,75,102,[1,25034,0],[],[[25034,2,555]]]],[[25035,2,554]]],[0,104,0,105,106,[0,25035,2],[],[[25035,2,107],[25037,4,556]]]],[]]],[]]],[]],[0,546,0,547,0,[0,27040,15],[[3,67,0,0,0,[0,27040,15],[[4,68,0,0,0,[0,27041,13],[[0,119,0,120,121,[1,27041,12],[[0,97,0,98,122,[1,27042,10],[],[[27052,2,100],[27052,2,557]]],[0,74,0,75,102,[1,27053,0],[],[[27053,2,0]]]],[[27053,2,557]]],[0,104,0,105,106,[0,27054,0],[],[[27054,2,107],[27054,4,558]]]],[]]],[]]],[]],[0,546,0,547,0,[0,29057,13],[[3,67,0,0,0,[0,29058,12],[[4,68,0,0,0,[0,29058,12],[[0,119,0,120,121,[1,29058,11],[[0,97,0,98,122,[1,29059,9],[],[[29068,2,100],[29068,2,557]]],[0,74,0,75,102,[1,29068,1],[],[[29068,2,0]]]],[[29069,2,557]]],[0,104,0,105,106,[0,29069,1],[],[[29070,2,107],[29070,4,558]]]],[]]],[]]],[]],[0,546,0,547,0,[0,31073,130],[[3,67,0,0,0,[0,31073,130],[[4,68,0,0,0,[0,31074,129],[[0,119,0,120,121,[1,31074,128],[[0,97,0,98,122,[1,31075,126],[],[[31201,2,100],[31201,2,559]]],[0,74,0,75,102,[1,31201,1],[],[[31202,2,560]]]],[[31202,2,559]]],[0,104,0,105,106,[0,31202,1],[],[[31203,2,107],[31203,4,561]]]],[]]],[]]],[]],[0,546,0,547,0,[0,33206,248],[[3,67,0,0,0,[0,33206,248],[[4,68,0,0,0,[0,33207,246],[[0,119,0,120,121,[1,33207,245],[[0,97,0,98,122,[1,33208,243],[],[[33451,2,100],[33451,2,559]]],[0,74,0,75,102,[1,33452,0],[],[[33452,2,560]]]],[[33452,2,559]]],[0,104,0,105,106,[0,33453,0],[],[[33453,2,107],[33453,4,561]]]],[]]],[]]],[]],[0,546,0,547,0,[1,35456,22],[[3,67,0,0,0,[1,35457,21],[[4,68,0,0,0,[1,35457,21],[[0,119,0,120,121,[1,35457,20],[[0,97,0,98,122,[1,35458,18],[],[[35476,2,100],[35476,2,101]]],[0,74,0,75,102,[1,35477,0],[],[[35477,2,562]]]],[[35477,2,101]]],[0,104,0,105,106,[1,35478,0],[],[[35478,2,107]]]],[]]],[]]],[]]],[]]],[]],[2,563,0,564,0,[1,57683,3268],[[0,527,0,528,565,[1,57683,280],[],[[57693,2,566],[57964,2,531]]],[0,527,0,528,567,[1,57964,15],[],[[57974,2,568],[57979,2,531]]],[0,134,0,135,532,[1,57980,1],[],[[57980,2,107]]],[0,527,0,528,569,[1,57981,12],[],[[57989,2,570],[57993,2,531]]],[0,134,0,135,532,[1,57994,1],[],[[57995,2,107]]],[0,571,0,572,0,[1,57995,1930],[[0,573,0,72,574,[1,57996,1929],[[0,74,0,75,76,[1,57997,1],[],[[57998,2,575]]],[0,78,0,40,79,[1,57998,1],[],[[57999,2,576]]],[0,46,0,47,81,[1,58000,348],[],[[58000,2,49],[58347,2,577]]],[0,51,0,52,84,[1,58348,5],[],[[58353,2,578]]],[0,86,0,56,87,[1,58353,1456],[],[[59809,2,579],[59809,2,580]]],[0,90,0,91,0,[1,59810,114],[],[]],[0,74,0,75,92,[1,59924,1],[],[[59925,2,579]]]],[]]],[]],[3,67,0,0,0,[1,59925,1026],[[4,68,0,0,0,[1,59926,1025],[[0,581,0,582,70,[1,59926,1024],[[0,573,0,72,583,[1,59927,519],[[0,74,0,75,76,[1,59928,0],[],[[59928,2,584]]],[0,78,0,40,79,[1,59929,1],[],[[59930,2,585]]],[0,46,0,47,81,[1,59930,378],[],[[59930,2,82],[60307,2,586]]],[0,51,0,52,84,[1,60308,20],[],[[60328,2,587]]],[0,86,0,56,87,[1,60329,2],[],[[60331,2,588],[60331,2,589]]],[0,90,0,91,0,[1,60331,114],[],[]],[0,74,0,75,92,[1,60445,1],[],[[60446,2,588]]]],[]],[0,590,0,40,591,[1,60446,1],[],[]],[0,46,0,47,592,[1,60447,351],[],[[60447,2,82],[60798,2,593]]],[0,594,0,595,596,[1,60798,88],[],[[60874,2,597],[60886,2,598]]],[0,90,0,91,0,[1,60886,64],[],[]]],[]]],[]]],[]]],[]]],[1,1,1,1]];
1685</script>
1686<script type="text/javascript">
1687window.output["strings"] = [];
1688</script>
1689<script type="text/javascript">
1690window.output["strings"] = window.output["strings"].concat(["*","*ScalePOC","*/tmp/ONLabTest/TestON/RobotTests/ScalePOC.robot","*ScalePOC.robot","*<p>ONOS Sanity Test Suite\x3c/p>","*Find Max Switches By Scaling","eNqNUktr40AMvvdXiJ5SKEm6xyUESunCHkpDY9rzxJZjUXlkRrKz6a9fTV4tpIFePIb5pO81s27+h2IF1iC04R/Evl1hAqlBN2Rlgwp1khbuptBHI4aEoWworuHXFCiCGnaa4XfTMRS+pBZm2WSAD5fvCiHlzRU6RZJ+3cDL47KA+8Vf/T2bdPOrWc/+YZq/YqJ6CxUOVCKU4nxA6j8pYWmziUO+wakF6zUDwxCIw4rxEjQJ417P0/2yeHyBUYV16Nl2N9lNGRR33i3EKrDErCOaXzOmm7O9Jp2wrLceSinrSB94kGtfctyTK4yKg//QEVxPjrPXX9Y+rxTTgJAjPor2cmigqg/M23MkU3zXW2hEzQ8XDbWnr6esc62fDs7nTyS1QDDwWRfNOCCDRGgpUnQzo7dEZhi93AQLebgZw7LJNDuy26OKTN9JMh3Dw777MkRYZT9KvAVqO8YWo2GVyazJjDuuoLBB5k99y+J5AU8H+sKjutTp6Zl8YJLLBSl6A1F+XMbEH+V/jw4Wgw==","*done","*OperatingSystem.Append To File","*<p>Appends the given contend to the specified file.\x3c/p>","*${SWITCHES_RESULT_FILE}, Max Switches Linear Topo\\n","*Appended to file '<a href=\"file:///home/fedora/workspace/tools/switches.csv\">/home/fedora/workspace/tools/switches.csv\x3c/a>'","*${max} = Find Max Switches","*<p>Will find out max switches starting from 10 till reaching ${stop} and in steps defined by ${step}\x3c/p>","*${start}, ${end}, ${increments}","*${max-switches} = BuiltIn.Set Variable","*<p>Returns the given values which can then be assigned to a variables.\x3c/p>","*${0}","*${max-switches} = 0","*${start} = BuiltIn.Convert To Integer","*<p>Converts the given item to an integer number.\x3c/p>","*${start}","*Argument types are:\n&lt;type 'unicode'&gt;","*${start} = 10","*${stop} = BuiltIn.Convert To Integer","*${stop}","*${stop} = 20","*${step} = BuiltIn.Convert To Integer","*${step}","*${step} = 10","*${switches} IN RANGE [ ${start} | ${stop+1} | ${step} ]","*${switches} = 10","*Start Mininet Linear","*<p>Start mininet linear topology with 10 nodes\x3c/p>","*${switches}","*BuiltIn.Log To Console","*<p>Logs the given message to the console.\x3c/p>","*\\n","*Starting mininet linear ${switches}","*${mininet_conn_id} = SSHLibrary.Open Connection","*<p>Opens a new SSH connection to the given `host` and `port`.\x3c/p>","*${MININET_IP}, prompt=${LINUX_PROMPT}, timeout=${switches*3}","*${mininet_conn_id} = 1","*BuiltIn.Set Suite Variable","*<p>Makes a variable available everywhere within the scope of the current suite.\x3c/p>","*${mininet_conn_id}","*SSHLibrary.Login With Public Key","*<p>Logs into the SSH server using key-based authentication.\x3c/p>","*${MININET_USER}, ${USER_HOME}/.ssh/id_rsa, any","*Logging into '10.0.0.121:22' as 'fedora'.","*Read output: Last login: Wed Jul 1 17:01:22 2015 from 10.0.0.121\n[fedora@ip-10-0-0-121 ~]$","*SSHLibrary.Write","*<p>Writes the given `text` on the remote machine and appends a newline.\x3c/p>","*sudo mn --controller=remote,ip=${CONTROLLER_IP} --topo linear,${switches} --switch ovsk,protocols=OpenFlow13","*sudo mn --controller=remote,ip=10.0.0.152 --topo linea \nr,10 --switch ovsk,protocols=OpenFlow13","*SSHLibrary.Read Until","*<p>Consumes and returns the server output until `expected` is encountered.\x3c/p>","*mininet&gt;","eNqNkctqwzAQRff5irsqqSnG70e6Kl4VuusXBMf1iDgy6Krk9zsKakm9aXeHGd0DupMkCQY3Hb2xM+zkr6s77xIdvpxOYTSu1rt1WSZ3P5WVnoed5JACUkIqSA1pIC2kg/SQPMN9glfjR5k0xBwswBKswBpswBbswB7chBZjz5rYS/6ku0fspVAoApQKZYBKoQpQK9QBGoUmQKvQBugUugC9Qh8gz4IxU2QR3Syjm1V0s45uNtHNNrrZRTf76OZNqfLbB4bVfpj50/2U9a+u3v3R+U3r43anj7/L/KvLNE1/Z4e318PuYqzRSz/M/vkLhuWIqQ==","*BuiltIn.Sleep","*<p>Pauses the test executed for the given time.\x3c/p>","*6","*Slept 6 seconds","*${status}, ${result} = BuiltIn.Run Keyword And Ignore Error","*<p>Runs the given keyword with the given arguments and ignores possible error.\x3c/p>","*Verify Controllers are Not Dead","*<p>Verifies each controller is not dead by making sure karaf log does not contain \"OutOfMemoryError\" and rest call still returns 200\x3c/p>","*${ip} IN [ @{controller_list} ]","*${ip} = 10.0.0.152","*Verify Controller Is Not Dead","*${ip}","*${response} = Run Command On Remote System","*<p>Reduces the common work of running a command on a remote system to a single higher level robot keyword,\x3c/p>","*${controller}, grep java.lang.OutOfMemoryError /opt/onos/log/karaf.log","*BuiltIn.Log","*<p>Logs the given message with the given level.\x3c/p>","*Attempting to execute ${cmd} on ${remote_system}","*Attempting to execute grep java.lang.OutOfMemoryError /opt/onos/log/karaf.log on 10.0.0.152","*${conn_id} = SSHLibrary.Open Connection","*${remote_system}, prompt=${prompt}, timeout=${prompt_timeout}","*${conn_id} = 2","*${user}, ${USER_HOME}/.ssh/id_rsa, any","*Logging into '10.0.0.152:22' as 'fedora'.","*Read output: Last login: Wed Jul 1 17:01:59 2015 from 10.0.0.121\n[fedora@ip-10-0-0-152 ~]$","*${cmd}","*grep java.lang.OutOfMemoryError /opt/onos/log/karaf.lo \ng","*${output} = SSHLibrary.Read Until","*${LINUX_PROMPT}","*[fedora@ip-10-0-0-152 ~]$","*${output} = [fedora@ip-10-0-0-152 ~]$","*SSHLibrary.Close Connection","*<p>Closes the current connection.\x3c/p>","*${output}","*${response} = [fedora@ip-10-0-0-152 ~]$","*BuiltIn.Should Not Contain","*<p>Fails if `item1` contains `item2` one or more times.\x3c/p>","*${response}, OutOfMemoryError","*${resp} = RequestsLibrary.Get","*<p>* * * Depricated - See Get Request now * * *\x3c/p>","*${controller}, /onos/v1/devices","*Deprication Warning Use Get Request in the future","*${resp} = &lt;Response [200]&gt;","*${resp.content}","eNrN0k1LxDAQBuC/ssy5libp901EsQddsAseRJaYzdpATUoau0jpfzfRkwdzySXtpfO2U+ZhssKJL4LxGdqXFcQJWlDnNvt7UUjAfE3cvuyfu8PNva3pQsVI30YbGv3JE9DKPcPDdX+4fbIffJy1LR8FE5omu06y1IbDxWb7icvd0l+EYYPNZpfhlKTo6l2YvCoy1pQu51rQ0f1DSW5rNtB5FnPnZnQTUSmVoUYoaYdfYdLKKKZcw/7uiMhvh5R8/OlAWepuhFGbl6QuYduSf8EoOjAKBedecB4dOA8EN9gLLqIDF6EbrrxgHB0Yh4JrL5hEByahRxp5wXV04Dp0w40X3EQHbkI3nHnBZXTgMhRMvOAqOnAVeqQLC37dvgG1CLp7","*BuiltIn.Should Be Equal As Strings","*<p>Fails if objects are unequal after converting them to strings.\x3c/p>","*${resp.status_code}, 200","*Argument types are:\n&lt;type 'int'&gt;\n&lt;type 'unicode'&gt;","*${status} = PASS","*${result} = None","*BuiltIn.Exit For Loop If","*<p>Stops executing the enclosing for loop if the `condition` is true.\x3c/p>","*'${status}' == 'FAIL'","*Wait Until Keyword Succeeds, ${switches*2}, 2s, Ensure Switch Count, ${switches}","*BuiltIn.Wait Until Keyword Succeeds","*<p>Waits until the specified keyword succeeds or the given timeout expires.\x3c/p>","*${switches*2}, 2s, Ensure Switch Count, ${switches}","*Ensure Switch Count","*<p>Verfies the device count (passed in as arg) on each controller is accurate.\x3c/p>","*${resp} = ONOS Get","*<p>Common keyword to issue GET requests to the controller. Arguments are the session (controller ip) and api path\x3c/p>","*${ip}, devices","*${session}, /onos/v1/${noun}","*BuiltIn.Should Not Be Empty","*<p>Verifies that the given item is not empty.\x3c/p>","*Length is 2423","*${jsondata} = RequestsLibrary.To Json","*<p>Convert a string to a JSON object\x3c/p>","*${jsondata} = {u'devices': [{u'available': True, u'chassisId': u'a', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46386', u'protocol': u'OF_13'}, u'mfr': u'Nicira,...","*${length} = BuiltIn.Get Length","*<p>Returns and logs the length of the given item.\x3c/p>","*${jsondata['devices']}","*Length is 10","*${length} = 10","*BuiltIn.Should Be Equal As Integers","*<p>Fails if objects are unequal after converting them to integers.\x3c/p>","*${length}, ${switch_count}","*Argument types are:\n&lt;type 'int'&gt;\n&lt;type 'int'&gt;","*Wait Until Keyword Succeeds, ${switches*2}, 2s, Ensure Switches are Available","*${switches*2}, 2s, Ensure Switches are Available","*Ensure Switches are Available","*<p>Verifies that the switch's availability state is true on all switches through all controllers\x3c/p>","*Check Each Switch Status","*${jsondata}, True","*${jdata['devices']}","*${INDEX} IN RANGE [ 0 | ${length} ]","*${INDEX} = 0","*${data} = Collections.Get From List","*<p>Returns the value specified with an `index` from `list`.\x3c/p>","*${jdata['devices']}, ${INDEX}","*${data} = {u'available': True, u'chassisId': u'a', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46386', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${status} = Collections.Get From Dictionary","*<p>Returns a value from the given `dictionary` based on the given `key`.\x3c/p>","*${data}, available","*${status} = True","*${status}, ${bool}","*Argument types are:\n&lt;type 'bool'&gt;\n&lt;type 'unicode'&gt;","*${INDEX} = 1","*${data} = {u'available': True, u'chassisId': u'1', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46384', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${INDEX} = 2","*${data} = {u'available': True, u'chassisId': u'4', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46392', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${INDEX} = 3","*${data} = {u'available': True, u'chassisId': u'5', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46387', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${INDEX} = 4","*${data} = {u'available': True, u'chassisId': u'2', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46388', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${INDEX} = 5","*${data} = {u'available': True, u'chassisId': u'3', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46391', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${INDEX} = 6","*${data} = {u'available': True, u'chassisId': u'8', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46389', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${INDEX} = 7","*${data} = {u'available': True, u'chassisId': u'9', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46390', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${INDEX} = 8","*${data} = {u'available': True, u'chassisId': u'6', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46393', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${INDEX} = 9","*${data} = {u'available': True, u'chassisId': u'7', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46385', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*Wait Until Keyword Succeeds, ${switches*2}, 2s, Ensure Switch Role, MASTER","*${switches*2}, 2s, Ensure Switch Role, MASTER","*Ensure Switch Role","*<p>Verifies that the controller's role for each switch is MASTER (default in standalone mode)\x3c/p>","*MASTER","*Ensure Role","*${jsondata}, ${role}","*${data}, role","*${status} = MASTER","*${status}, ${role}","*Argument types are:\n&lt;type 'unicode'&gt;\n&lt;type 'unicode'&gt;","*Wait Until Keyword Succeeds, ${switches*2}, 2s, Ensure Topology, ${switches}, ${cluster}","*${switches*2}, 2s, Ensure Topology, ${switches}, ${cluster}","*Ensure Topology","*<p>Verifies the devices count through /topoplogy api. Currently, cluster count is inconsistent (Possible bug, will look into it), so the check on that is ignored, but logged\x3c/p>","*${switches}, ${cluster}","*${ip}, topology","*{\"time\":778317929317684,\"devices\":10,\"links\":18,\"clusters\":1}","*${devices} = HttpLibrary.HTTP.Get Json Value","*<p>Get the target node of the JSON document `json_string` specified by `json_pointer`.\x3c/p>","*${resp.content}, /devices","*${devices} = 10","*${clusters} = HttpLibrary.HTTP.Get Json Value","*${resp.content}, /clusters","*${clusters} = 1","*${devices}, ${device_count}","*Argument types are:\n&lt;type 'str'&gt;\n&lt;type 'int'&gt;","*Wait Until Keyword Succeeds, ${switches*2}, 2s, Experiment Links, Hosts, and Flows","*${switches*2}, 2s, Experiment Links, Hosts, and Flows","*Experiment Links, Hosts, and Flows","*<p>Currently this only returns the information the controller has on links, hosts, and flows. Checks can easily be implemented\x3c/p>","*${ip}, links","eNq11D0PgjAQBuD/crODUPpBN4MMrIa4GAeCmBCNENqYGMJ/t2yyGF7jdWvvrnmSa2+ke/u4ObKnkdxQkx2p7wZPlgRt6NI827oJm+5qt8slaQpx5z8q4u8Vaq7wr36O7otDnpUh3/nKzwe7rCyOecgAGQnMkBwMATMSDoaBGSkHQ8MMw8FQMENzMGKYITgYKcyofmKsuXTJEBxPNIY/7Jo2/pshYUbCwUhghuBgKJghORgGZmgORgozDAdDwwzFwcCnaMTBiGDGqrlxnt5Am5MY","eNpTqc4qzs9LSSxJrFWwVaguVc/JzMsuVrdSiAayi4uSgSwgIyW1LDM5FcguVc9PszJABabqOkDxgvyiErACY/VaED+luIQIvWaoeo0geksqCyAaXDyDXJ1DwGqKSxJLIIKOziGeYa4glTidqKenBwBH1D70","*${jsondata['links']}","*Length is 18","*${length} = 18","*${ip}, flows","eNrtm99r2zAQx/8XP2dwJ93pR94GLWxPKyx9GCUML1U2szQOjrtRSv73XdKXFZriDsc7mfhJjhJL+vC9O51yfiyWq/r3tpjePBbVbTEtTEDyHh35gBxMMSnKzeaj9OCk+N7U94c2TIpNU9VN1T4UUwK5JkVb3aX6vj10Vtur1NyV67SW+7a5T5PiNv2qFmn/46JeTuH5Vcow27Zsk/S+v7i4vJD7VbVMTyOVi5+p3R7a3x7a9NRaldv2c0prmRhZ9h7Qh2hY5tGksr07jCxLWm9l+EVb1eunNbYPm/0gn65nV9czGWVTN/LFd3Y3309xmZomyRRv5juZUFqlRVs3++csZKmpqcq/n3E5+/B19uXqUp6S2h+zw4cGmHbz3W7yzzRZCUmnk2R07NmCO+vyTTQtow0vC9NzQJeRMP+/iVN4UZjkMEI4C/ONwgQDL+FksBgJhsGJY/Gax3A6a4kDhdPbeW8ovVI7ZyS2NmQmTK81AFnpcUgZCVPpzugNJM/C7EBT5mgMnl6X1A9J74xah2nQoh1Gl33RZKN2Y2QsecS8cDpUG3+IIAafj52zUesxu5LUJEylNMVrMiIMFM25J5oU1OY/5BhwgAO4vlAy6AznQtKD9yEjkqzWYXYlqcjEA2p1mMaRWH9eNJn05uXSOKxzAJxmLPHneG7elSbrIMlRLUnPzsZsSEZDWvNycOgt5mXhXm9ejp7RxKxwRmOVxh9RZ0Q2A4VzOxav+Ur+I/7Uwundph1PADqW/yBidGdh9pQDdaWpRJdOb/4DFA2cddlT/sPiL8MAO/Yw8gOjyJatTG8YYfZFk7zajZEhkEZeOD2q3RixA2TMx871nnF0JqlImAq85jGagdAPsDGKYy/MZOPBuIGO2eNYTo1ecZghRjIZCZP0mnhHkmdhdsh/bLDOuTPNvraZIs04UNWWG0/9wdEyo0gB7Om9phvP/7zHygkDhMhZCVPziwEMwC5mZudqq4Y701Ri5qz2ONMagjBQ/Zsfe5mrhHMEF1xmOI1er2mI4wBvrfSGUm05IVuwDvISJutNKbvS5DPJZyTnuz/erb1p","*${jsondata} = {u'flows': [{u'life': 0, u'isPermanent': True, u'packets': 0, u'treatment': {u'deferred': [], u'instructions': [{u'type': u'OUTPUT', u'port': -3}]}, u'groupId': 0, u'priority': 40000, u'bytes': 0, u's...","*${jsondata['flows']}","*Length is 50","*${length} = 50","*${ip}, hosts","*{\"hosts\":[]}","*${jsondata} = {u'hosts': []}","*${jsondata['hosts']}","*Length is 0","*${length} = 0","*Wait Until Keyword Succeeds, ${switches*2}, 2s, Check Each Switch Individually","*${switches*2}, 2s, Check Each Switch Individually","*Check Each Switch Individually","*<p>Currently just observe each information the device has. Checks can easily be implemented\x3c/p>","*Check Each Switch","*${jsondata}","*@{dpid_list} = BuiltIn.Create List","*<p>Returns a list containing given items.\x3c/p>","*@{dpid_list} = [ ]","*${devicedata} = Collections.Get From List","*${devicedata} = {u'available': True, u'chassisId': u'a', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46386', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${id} = Collections.Get From Dictionary","*${devicedata}, id","*${id} = of:000000000000000a","*Collections.Append To List","*<p>Adds `values` to the end of `list`.\x3c/p>","*${dpid_list}, ${id}","*${dpid_list}","*[u'of:000000000000000a']","*${devicedata} = {u'available': True, u'chassisId': u'1', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46384', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${id} = of:0000000000000001","*[u'of:000000000000000a', u'of:0000000000000001']","*${devicedata} = {u'available': True, u'chassisId': u'4', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46392', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${id} = of:0000000000000004","*[u'of:000000000000000a', u'of:0000000000000001', u'of:0000000000000004']","*${devicedata} = {u'available': True, u'chassisId': u'5', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46387', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${id} = of:0000000000000005","eNqLLlXPT7MyQAWJ6joK2MQNcYib4BA3VY8FAB+2FSA=","*${devicedata} = {u'available': True, u'chassisId': u'2', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46388', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${id} = of:0000000000000002","eNqLLlXPT7MyQAWJ6joK2MQNcYib4BA3xSFupB4LAFx6GkA=","*${devicedata} = {u'available': True, u'chassisId': u'3', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46391', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${id} = of:0000000000000003","eNqLLlXPT7MyQAWJ6joK2MQNcYib4BA3xSFuhEPcWD0WABRQH2E=","*${devicedata} = {u'available': True, u'chassisId': u'8', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46389', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${id} = of:0000000000000008","eNqLLlXPT7MyQAWJ6joK2MQNcYib4BA3xSFuhEPcGIe4hXosAEdNJIc=","*${devicedata} = {u'available': True, u'chassisId': u'9', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46390', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${id} = of:0000000000000009","eNqLLlXPT7MyQAWJ6joK2MQNcYib4BA3xSFuhEPcGIe4BQ5xS/VYAPXdKa4=","*${devicedata} = {u'available': True, u'chassisId': u'6', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46393', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${id} = of:0000000000000006","eNqLLlXPT7MyQAWJ6joK2MQNcYib4BA3xSFuhEPcGIe4BQ5xSxziZuqxACAqLtI=","*${devicedata} = {u'available': True, u'chassisId': u'7', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46385', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${id} = of:0000000000000007","eNqLLlXPT7MyQAWJ6joK2MQNcYib4BA3xSFuhEPcGIe4BQ5xSxziZjjEzdVjAcXLM/c=","*${i} IN [ @{dpid_list} ]","*${i} = of:000000000000000a","*${ip}, devices/${i}","*{\"id\":\"of:000000000000000a\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"a\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46386\"}}","*${i} = of:0000000000000001","*{\"id\":\"of:0000000000000001\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"1\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46384\"}}","*${i} = of:0000000000000004","*{\"id\":\"of:0000000000000004\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"4\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46392\"}}","*${i} = of:0000000000000005","*{\"id\":\"of:0000000000000005\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"5\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46387\"}}","*${i} = of:0000000000000002","*{\"id\":\"of:0000000000000002\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"2\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46388\"}}","*${i} = of:0000000000000003","*{\"id\":\"of:0000000000000003\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"3\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46391\"}}","*${i} = of:0000000000000008","*{\"id\":\"of:0000000000000008\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"8\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46389\"}}","*${i} = of:0000000000000009","*{\"id\":\"of:0000000000000009\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"9\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46390\"}}","*${i} = of:0000000000000006","*{\"id\":\"of:0000000000000006\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"6\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46393\"}}","*${i} = of:0000000000000007","*{\"id\":\"of:0000000000000007\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"7\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46385\"}}","*Wait Until Keyword Succeeds, ${switches*2}, 2s, Check Mininet at Lower Level","*${switches*2}, 2s, Check Mininet at Lower Level","*Check Mininet at Lower Level","*<p>PoC for executing mininet commands at the lower level\x3c/p>","*SSHLibrary.Switch Connection","*<p>Switches the active connection by index or alias.\x3c/p>","*SSHLibrary.Read","*<p>Consumes and returns everything available on the server output.\x3c/p>","*dpctl dump-flows -O OpenFlow13","eNrNmc1v2jAYh+/9K3KaWsQqf7z+6pTTNE5oTF2lHZG/MkWlgJJMK//9gnaoMFmblDhebhYofvyzH+zXzGazrMbZx5Geq9Xi2/eH9WK5+pFVfr85ZNerBb6lN9n1c+ly9Exu7q4yu9s9lr5tYdQ+Eqj0TMI8c78q3ZS7bc5vKRH1PGu02bTfm2fb9V7bR9/UOTk2zKHxdY5526j91q2Lze73uvJP2b4qd1XZHHI4vnnuNuvmsD/2JKW1mbbHt9f559XXh/vVcvnl/o4zRtkZEWGMCyP7EaEXIvRPHjYv9/37B6o1Ejron46biAIyKBHhqR8xkb88utpfCkEvmpZXAWZHO0hqOxRTngaDlt2DhpdBUwLx7HAWi35EUewwGJyKm8hQOwqi3CkRlZPbcQ5x4bS8bQdNbof1QILkaVI7OEOCB9PAp7RDKirjJjLQDs55YU+JgE5tRwfEhdPyth2Q2g4NROMgeZ7WDguOBasTprSjcErETWSoHc4wEyTCJrdjZIg+drDkdhjRJnW6FlBSOwRVFPoRRbHDClzwuIkMtENAYYJKCNTUdnRA0NgnK57aDkMMK04HzdLWHUI7Rfv9dsexw7ef/Fd7h7CAg0oIJt87OiA4jmyHSG6HKkxwFcHS7h2S4CKohNiUd1aOaQNxExloh6RSyH5E8ewYG6KPHTK1HRYDdv3W4lR2KM5wSjtsgYO9S0BaO7R1YsRE3mfHOQSPbYdKboeUIriKEGntUEgb1I8oih0eqCBxExlohyKY8hETeZcdHRBcRbYDo8R6gDeCBQcJSVL+HcgNVVL2I4qhB0OCgI6byDA9uGEIBcdfMXXh0QVx4bS8CvBUbsutbz78bD79AfHqc+E=","eNqtysEKgyAcgPF7T/E/7FDiJLWVDLx2GjjYYMew9BBFRioUY+8+9w77bj/4Tm8XwxrDByQghMBTOP+pTLX3x7Nrb+oFm13nA3LVUsILyPfRyHJnxTWDwblptEm0TImKC3sRFQYTNx1Gt8iacNZ4DEH3c/owLN2qh8kGL9kP/RGsl7RO8HYxhJAvnsY18A==","*dump","eNqV1E1LwzAYwPG7n6Kn9aKS5MlrhydBPDlQ8AvM4ApdU9bADsPvbjob9yQ5hbJDyp/+CNmTzeC3r272zYF24fdg/YF0lDwuD22m/usJGOebb79t7jb/LQstS1oWW5W3EFpIWoityVseWp60fG0FzVsRWpG0IraQtzK0MmllbEXeqtCqpFWxLfamQ6uTVse22JsJrUlas7ay2Bsly2GQ9DRIzNH2dp8fH+fe7w+Xdjo57/ZumNuuaXeTHV8Gd6bQ/jRzONrBdZSpvw/dz9dzpt2bG+26YNdFFHStwHKBYYHdhHUBmFO0loOcA8wB5qDkeC3Hc45jjmOOl5yq5UTOCcwJzImC06SWkzknMScxJ0uu+s+ock5hTmFOlZys5XTOacxpzOmSM7WcyTmDOYM5U3CGVU82KUabJLNNiuE26MZ7t0fn7bMb/ckNgz1d2n5akHjlCBaQfTBuLzopIV7gsN4Tx37sR+uXxS+Ug993","eNpdysEKQEAQgOG7p5iD3Gx2ZzaxuXsQQinKOMm7G2XTbH//7cuv7eT95Bs6KFYO/XYwzLaVy5HnqrWVebOwL0OHjqiYOED2WyfWKeuirVOLYlFZjLZJLYklZemz3qbWi/XK+mhRW2PMAzJYQjQ=","*links","eNpd0DsOgzAURNE+q6BCpECy3/NXLIGCVaAYKaGJ968ouLC45ehMdYud91rM+K7LPL7q8r22HaZtHbb1+SgCF7jCFe7gDu7hHh7gAR7hEZ7gCZ7hGW4NA5n7oxURFJTuCr/+2t3BFe7hDh7gHh7hAZ7gEZ7hCd6CCBL2w+c4j3Ovf/oBSImv4A==","eNpTqc4vLSkoLalVsFXIMNRNLckwUMspsdZVSy+xLgbzDRU0/L0V/L01uTKM0OSN0OSN0eSN0eRN0ORN0ORN0eRN0eTN0OTN0OTN0eTN0eQt0OT19PQAQkZI/w==","*ports","eNpF0DsKAkEQhOHcU0xkJkx3z9vzLLqgazBzfxSsrc4K/i+qKeH1GTFMuW3rKUOwdGi4TEVURj3jf9mwHzMwIzMyc5bAElkiS84yWCbLZNlZAStkhaw4q2CVrJJVZw2skTWy5qyDdbJO1p1JPF+Nfmvkr+/92I9tXR/r/gVRGmoL","eNpFyjsKgDAQRdHeVUxhazDzSTHgcgQLIUKSSty7AcdJ9R7cM9+51avVBzYoEc6sa99lr0fUaA8VYSpoET3iH79HSp2RMXJGzmgwNsbO2BkPJsbEmTiTwZKxFEJ4AZUyOjE=","*Stop Mininet","*<p>Stop mininet topology\x3c/p>","*Stopping Mininet","*exit","eNpljzsOwjAYg/ecwgNTpFZN390YuAEjYkBp4I8oSVVHYuPslIEBao+29claaxxTnGcfbjCwMaQlTpNbqGwBpX/iAZMPd6p8q79mAT59suKoaMASrMAabMAW7MAeHECzQRSQyEQlBlJCKkgNaSAtpIP0kAHyXR1icMrGxzy55Eb4gD4fuhXn1hsj1enqxrhc9n7OTJF9bEqD13n3Bj01RL8=","*Wait Until Keyword Succeeds, ${switches*2}, 2s, Ensure No Switches are Available","*${switches*2}, 2s, Ensure No Switches are Available","*Ensure No Switches are Available","*<p>Verifies that the switch's availability state is false on all switches through all controllers\x3c/p>","eNrN0k1rxCAQBuC/ssw5G6Lm+7p0aS6bwxZ6KKVY1zRCqiFKlhLy36vtqYd68WI8zSsT5mHc4MZXwbiG9mUDcYMW1NBmfz8KCZivmdvL63P3dHq0NV2pmOj7ZMOBTponsChXwKW/PNj7z2FxhWBiocmhkyy14Xi3WT9zeVivd2HYaDPtMpySFB0/hMmrImNN6XK+CDq5fyjJbc1GqrXQnRvRDUSlVIYaoaSdfYN5UUYx5Rr68xsivx1S8umnA2WpOwijNi9JXcK+J/96UWxeFOrNvd48Nm8e6G2w11vE5i1C91t5vTg2Lw711l4vic1LQt8z8nrr2Lx16H4br7eJzduE7jfzesvYvGWol3i9VWzeKvQ9F9b7un8DGdu3UQ==","*Length is 2413","*${jsondata} = {u'devices': [{u'available': False, u'chassisId': u'a', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46386', u'protocol': u'OF_13'}, u'mfr': u'Nicira...","*${jsondata}, False","*${data} = {u'available': False, u'chassisId': u'a', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46386', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${status} = False","*${data} = {u'available': False, u'chassisId': u'1', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46384', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'4', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46392', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'5', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46387', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'2', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46388', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'3', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46391', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'8', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46389', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'9', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46390', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'6', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46393', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'7', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46385', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*Wait Until Keyword Succeeds, ${switches*2}, 2s, Ensure No Switches in Topology, ${cluster}","*${switches*2}, 2s, Ensure No Switches in Topology, ${cluster}","*Ensure No Switches in Topology","*<p>Verifies the topology sees no devices\x3c/p>","*${cluster}","*{\"time\":778322492077022,\"devices\":0,\"links\":0,\"clusters\":0}","*${devices} = 0","*${clusters} = 0","*${devices}, 0","*Argument types are:\n&lt;type 'str'&gt;\n&lt;type 'unicode'&gt;","*${max-switches} = BuiltIn.Convert To String","*<p>Converts the given item to a Unicode string.\x3c/p>","*Argument types are:\n&lt;type 'int'&gt;","*${max-switches} = 10","*${switches} = 20","*<p>Start mininet linear topology with 20 nodes\x3c/p>","*${mininet_conn_id} = 3","*Read output: Last login: Wed Jul 1 17:02:41 2015 from 10.0.0.121\n[fedora@ip-10-0-0-121 ~]$","*sudo mn --controller=remote,ip=10.0.0.152 --topo linea \nr,20 --switch ovsk,protocols=OpenFlow13","eNqtk81qwlAQhfc+xayKlSKZ/MeuiqtCd30C0dQbtAnk3OLr98wkFuvahXC4d/i+OeS6Wq1kO7a72PVH6dt4GcbTYsXDt8PBjvZDH8fhfG7H29MwIGKzCCohlZBJyCUUEkoJlYRaQiNBE/54rxxQTihHlDPKIeWUckw5lyZyS8ali/vQEg4VpIJMkAsKQSmoBLWgERAOwkE4CAfhIByEg3AQDsJxBz93/YnkZdAX3j/LMqQMqYWMIbOQM+QWCobCQslQWqgYKgs1Q22hYWgsaGLExKPDna6GV+erCdQNagp1h5pE3aKmUfeoidRNaip1l5pM3ZaaLTUb0rkJsrkJ8rkJirkJyrkJqrkJ6rkJmrkJvEDjSa9VMO3v+Gl/F0z7u2La3yXT/q6Z9nfRtL+rpv1d5vtbFf8426H/6o4/49/Deui7+oy7Md695P39HYevD+9R7269Xv93bD/eN4vvru/4L3s6xtdfIU3e0w==","*${conn_id} = 4","*Read output: Last login: Wed Jul 1 17:03:04 2015 from 10.0.0.121\n[fedora@ip-10-0-0-152 ~]$","eNrN109LwzAUAPCvMnKuJenftTcRxR104AYeREaapi5Qk9HGDRn77ibz5MF3eZfXXprXpuTHS17aM+v10Sg9s/btzEzPWuaGlv89JEuY/z7ocHPzutrePYa2PEozym4MQT996YRNLl6zp9vN9v4lPPA5TKH5bJSZZLJYWZWG4P4UYuuDtovj5mS82ofYHGNZmqfi5sP4oi65aqoY15ORY3yHszq01V7Os5lXcYxxRNJa56U3zobBn9lhct4pFzusH3Yi/+1hrR6vPQRP4yky0RZVwXN2uST/gnty4B4LbkCwJgfWWHAJgjty4A4JFjBYkQMrbIYLEDyQAw/YDFcQWAhy4OuQEOK8qcEUExRjwWCZFhk9cIZdxQIUc3pijs3xEpzUBTlxga1b8MdWSQ5cYuc0WKg5vVWMXsRgnb52JraIc6w4A1NMT4wFCxAs6FUtgS5b4M7El+TES+ychjemhhy4wWaYg+CKHLjCguFfppocuMZO6Zjh98sPYTZyBA==","*Length is 4838","*${jsondata} = {u'devices': [{u'available': True, u'chassisId': u'a', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46403', u'protocol': u'OF_13'}, u'mfr': u'Nicira,...","*Length is 20","*${length} = 20","*${data} = {u'available': True, u'chassisId': u'a', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46403', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${data} = {u'available': True, u'chassisId': u'd', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46409', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${data} = {u'available': True, u'chassisId': u'e', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46405', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${data} = {u'available': True, u'chassisId': u'b', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46415', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${data} = {u'available': True, u'chassisId': u'c', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46404', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${data} = {u'available': True, u'chassisId': u'f', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46416', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${data} = {u'available': True, u'chassisId': u'11', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46397', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': True, u'chassisId': u'1', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46399', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${data} = {u'available': True, u'chassisId': u'12', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46401', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': True, u'chassisId': u'10', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46398', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${INDEX} = 10","*${data} = {u'available': True, u'chassisId': u'4', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46413', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${INDEX} = 11","*${data} = {u'available': True, u'chassisId': u'5', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46406', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${INDEX} = 12","*${data} = {u'available': True, u'chassisId': u'2', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46407', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${INDEX} = 13","*${data} = {u'available': True, u'chassisId': u'13', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46402', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${INDEX} = 14","*${data} = {u'available': True, u'chassisId': u'3', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46412', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${INDEX} = 15","*${data} = {u'available': True, u'chassisId': u'14', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46411', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${INDEX} = 16","*${data} = {u'available': True, u'chassisId': u'8', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46408', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${INDEX} = 17","*${data} = {u'available': True, u'chassisId': u'9', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46410', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${INDEX} = 18","*${data} = {u'available': True, u'chassisId': u'6', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46414', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${INDEX} = 19","*${data} = {u'available': True, u'chassisId': u'7', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46400', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*{\"time\":778328373894303,\"devices\":20,\"links\":38,\"clusters\":1}","*${devices} = 20","eNq9mDtrw0AQhP/L1inubvWw1QXHhdtg0oQU0ukEJiE21hEIwv89Em4ScoiMyUidHic+NLN7sxrk7fD+2kv1PEh/9lINcjqeo1Sicidt+Dj4MJ4cu8r8PDK5jPf7+G2Fm1+RTyvi52m6+7B73G724/N9rON04X6z3z1txydAjBbGCDdhzL/U6m+MeXDrCBimQTFMzcBwsCiW4Y0AY3QMjBzGKBgYHYphDaNSMrhSlGFRuGANpWA9jNEwvFHAFi0ZX6OFv4ZnYMAWNUoQ5Vp+UMFSumgJe2PFECXAorQMjBzGyBjesLA3HMMbK9gba4YoHSwKIwSmuqguH4ktnL4so31dkyXkjYYhSg2LQrFoCWMUDAy4bxhK32hgDM+oFIUrhdHMbxiXGJE4lTeUMS45eGvT5eeU1NamjEis8Jzils8bqTnFMdLXX1ozhEH5v7GGvcGIxKmNXv9hQHi5fAH4O25R","eNpTqc4qzs9LSSxJrFWwVaguVc/JzMsuVrdSiAayi4uSgSwgIyW1LDM5FcguVc9PszJABSbqOkDxgvyiErACY/VaED+luIQIvaaoeo0geksqCyAaXDyDXJ1DwGqKSxJLIIKOziGeYa4glTidqKenBwBG5D7y","*Length is 38","*${length} = 38","eNrtnV1rG0cUhv/LXqtwzpyPmfFdwabNTWqoc1GCCbK8bkVty6zWLSbov3dWAZOCNx3CaHzGVW68tmLt6uE9n3Nm/Lm7ud38ve1OPn7u1tfdSecCsveo7ANKcN2iWz48vEuv4KL7fdg87q9h0T0M682wHp+6E1l04/qu3zyO+xfW2/N+uFve9/fp+3F47Bfddf/XetVPv9htbk7g3/+W6RbbcTn26dUfT0/PTtP3t+ub/stdlqs/+3G7v756GvsvV7fL7fhr39+nh2IS7wFDRJ9eGId+Od7t75w+zv023X41rjf3Xz7f+PQw3eSXDxfnHy7SXR42Q/qPP9DucnrEm34Y+vSIHy936YH62341bobpfVbpY/bDevn1e5xd/Pzp4rfzs/Qu/fjHxf6HDoR3l7vd4rtJ8sTDCE20STOqeCFQSzT5mSY5tsqTBCm8LE8vAbUhQ399aXJ4UZqsGCE0J014dWmCgxelGVTSEx5emteFpCliVZqaxOljHWnm0XTPNFGdVZ5zXjOFIcF03RxQtmvrHqJIQ7bOVvPNbJLVpNk0zcgxwOF12RciqWQ2BkVmD3V02Rdzma/O8xsxKCB41xxQZzYGRQDP2pCtO6teM5tkNWk24Tlneh4KAtHXoXmVRROfaQZ8GaejYLblERDJ0+Ht/KqMMh15s9lRLslqymyaJoiCb0iXwWwrLrnzGFvzmN5oZpQiEHEIlVqbq2KtTVS7IYjT0/HhTX1VKDlCMes0c0lWk2YGTTVLk4RiaEiXajUEicNUBjXnMsVude6mr4eX5k2p7MjsQqV37LTS4kUeTXqm6Zis8pzvxClCUGoOqN2V30gg5BuydbPTR9kkq0mzCc85Q9NpJD38RAJiIZJoNQZJFOFKMSiTZsbihUO7LtP5FJ6kIWmadZnZJKtJswlDn1m8AA1B4tHQSyWbAoSRKxWWWKi3icGs4yRiCVyh5VHI1DGYjenIQhSOyizUJKb0iiK3o0wfjYb0fJLVlJlh50YTpJS7B3FSZ/AIXal2BxLZzd1jRD38kGEmzP+WJrHNEKRMwNFpQyTJahWUTbKakbdLM1VBMahAcy6TzS6gO4riD5+1IxQq0A1E87lOnBOtNJedSTOnQH/1XHN+WAYogobWgNqtg9ilupK5HVs3Wwflk6wmzSY850xVmZ7RuQoTCVyIpDiznSOHhJUW0LmYyxS0GoPEEXvEI9BivTjmlML7hmzdrtfMJVlNmhk0rS6vCQoiVOpsShZNfabJQef2WtldDuJUp2OFg4+k1LY1o8tBiaQHX6FEL0fSrsvMJVnNyJvQ5YzLdMrJ+ptzmXZzI0oXUOHsjlJtYvFm1ylzSRaQ5v+Aphel2JAure6nFFD0hJZ0meMyxeyGSkEv6GJzQO3u6aep4XH4+nzfpCqycc3s+Gs2yQI94mI07Y6/ogCTJZo5C7+IZmdlyIXkPhsydKtNd0UXmLE5aTq7k9kpQrpKhSUVO5Arqt1eXPKqVOHwvVK2HtVsLy659KgNkRSzvbhcktWMvAldzvXipilDOLrMcnXQ1NysMBfHpdrEZk9+zSZZID0qRlPM1kHMgbgxmnaPyyYJnl1DZm72aPzpj7OQO5p5obUgSRl7qLAWFErtsrJ6gJSQUPCV1oJCsdQoqNny3DGki+aAmj2Ri2TqbmJDtm62qMwmWU2aTXjOOZqB0VdodsRC04Vgdi7beXCVtrJk0swZIwa06zJDjBXy9nLSBLtGnkmymjQzaJqdiaNAqno09HLJZhJnrLSjRUsdIqV2t19EDlDhTza8GZTzW60ChCiNCdNwDQQgFU6EfDso5wN6Lsmjx8wJ6I4hVNoX5L+ieX72/vTd+58+JarfWVey3aP3HIIGbREqRbse1LHECqecvTGVzo56CAEpHC2/aGzKZWpLo1Zi/eXuH7Slj+g=","*${jsondata} = {u'flows': [{u'life': 0, u'isPermanent': True, u'packets': 0, u'treatment': {u'deferred': [], u'instructions': [{u'type': u'OUTPUT', u'port': -3}]}, u'groupId': 0, u'priority': 5, u'bytes': 0, u'state...","*Length is 100","*${length} = 100","*${devicedata} = {u'available': True, u'chassisId': u'a', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46403', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${devicedata} = {u'available': True, u'chassisId': u'd', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46409', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${id} = of:000000000000000d","*[u'of:000000000000000a', u'of:000000000000000d']","*${devicedata} = {u'available': True, u'chassisId': u'e', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46405', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${id} = of:000000000000000e","*[u'of:000000000000000a', u'of:000000000000000d', u'of:000000000000000e']","*${devicedata} = {u'available': True, u'chassisId': u'b', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46415', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${id} = of:000000000000000b","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPUo8FAC+RFbE=","*${devicedata} = {u'available': True, u'chassisId': u'c', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46404', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${id} = of:000000000000000c","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGerB4LAHqAGwI=","*${devicedata} = {u'available': True, u'chassisId': u'f', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46416', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","*${id} = of:000000000000000f","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGejEM8TT0WAEUfIFY=","*${devicedata} = {u'available': True, u'chassisId': u'11', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46397', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${id} = of:0000000000000011","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGejEM8Dbu4oaF6LACPAyV2","*${devicedata} = {u'available': True, u'chassisId': u'1', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46399', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGejEM8Dbu4oSEO9YbqsQBT8iqV","*${devicedata} = {u'available': True, u'chassisId': u'12', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46401', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${id} = of:0000000000000012","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGejEM8Dbu4oSEO9TjEDY3UYwGT0C+2","*${devicedata} = {u'available': True, u'chassisId': u'10', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46398', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${id} = of:0000000000000010","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGejEM8Dbu4oSEO9TjEDY1wiBuoxwIATs801Q==","*${devicedata} = {u'available': True, u'chassisId': u'4', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46413', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGejEM8Dbu4oSEO9TjEDY1wiBvgMMdEPRYAhL459w==","*${devicedata} = {u'available': True, u'chassisId': u'5', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46406', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGejEM8Dbu4oSEO9TjEDY1wiBvgMMcEh7ipeiwANe8/Gg==","*${devicedata} = {u'available': True, u'chassisId': u'2', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46407', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGejEM8Dbu4oSEO9TjEDY1wiBvgMMcEh7gpDnEj9VgAYl9EOg==","*${devicedata} = {u'available': True, u'chassisId': u'13', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46402', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${id} = of:0000000000000013","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGejEM8Dbu4oSEO9TjEDY1wiBvgMMcEh7gpDnFc5hurxwIACeVJXA==","*${devicedata} = {u'available': True, u'chassisId': u'3', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46412', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGejEM8Dbu4oSEO9TjEDY1wiBvgMMcEh7gpDnFc5hvjUG+sHgsALJdOfQ==","*${devicedata} = {u'available': True, u'chassisId': u'14', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46411', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${id} = of:0000000000000014","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGejEM8Dbu4oSEO9TjEDY1wiBvgMMcEh7gpDnFc5hvjUI9D3NBEPRYAymhToA==","*${devicedata} = {u'available': True, u'chassisId': u'8', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46408', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGejEM8Dbu4oSEO9TjEDY1wiBvgMMcEh7gpDnFc5hvjUI9D3BCXvRbqsQDjmFjG","*${devicedata} = {u'available': True, u'chassisId': u'9', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46410', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGejEM8Dbu4oSEO9TjEDY1wiBvgMMcEh7gpDnFc5hvjUI9D3BCXvRY4xC3VYwF4al3t","*${devicedata} = {u'available': True, u'chassisId': u'6', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46414', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGejEM8Dbu4oSEO9TjEDY1wiBvgMMcEh7gpDnFc5hvjUI9D3BCXvRY4xC1xiJupxwIAiNtjEQ==","*${devicedata} = {u'available': True, u'chassisId': u'7', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46400', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'role...","eNqLLlXPT7MyQAWJ6joK2MRTcIin4hBPwiGejEM8Dbu4oSEO9TjEDY1wiBvgMMcEh7gpDnFc5hvjUI9D3BCXvRY4xC1xiJvhEDdXjwUAFL5oNg==","*{\"id\":\"of:000000000000000a\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"a\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46403\"}}","*${i} = of:000000000000000d","*{\"id\":\"of:000000000000000d\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"d\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46409\"}}","*${i} = of:000000000000000e","*{\"id\":\"of:000000000000000e\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"e\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46405\"}}","*${i} = of:000000000000000b","*{\"id\":\"of:000000000000000b\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"b\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46415\"}}","*${i} = of:000000000000000c","*{\"id\":\"of:000000000000000c\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"c\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46404\"}}","*${i} = of:000000000000000f","*{\"id\":\"of:000000000000000f\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"f\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46416\"}}","*${i} = of:0000000000000011","*{\"id\":\"of:0000000000000011\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"11\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46397\"}}","*{\"id\":\"of:0000000000000001\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"1\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46399\"}}","*${i} = of:0000000000000012","*{\"id\":\"of:0000000000000012\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"12\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46401\"}}","*${i} = of:0000000000000010","*{\"id\":\"of:0000000000000010\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"10\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46398\"}}","*{\"id\":\"of:0000000000000004\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"4\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46413\"}}","*{\"id\":\"of:0000000000000005\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"5\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46406\"}}","*{\"id\":\"of:0000000000000002\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"2\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46407\"}}","*${i} = of:0000000000000013","*{\"id\":\"of:0000000000000013\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"13\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46402\"}}","*{\"id\":\"of:0000000000000003\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"3\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46412\"}}","*${i} = of:0000000000000014","*{\"id\":\"of:0000000000000014\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"14\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46411\"}}","*{\"id\":\"of:0000000000000008\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"8\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46408\"}}","*{\"id\":\"of:0000000000000009\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"9\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46410\"}}","*{\"id\":\"of:0000000000000006\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"6\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46414\"}}","*{\"id\":\"of:0000000000000007\",\"type\":\"SWITCH\",\"available\":true,\"role\":\"MASTER\",\"mfr\":\"Nicira, Inc.\",\"hw\":\"Open vSwitch\",\"sw\":\"2.3.1-git4750c96\",\"serial\":\"None\",\"chassisId\":\"7\",\"annotations\":{\"protocol\":\"OF_13\",\"channelId\":\"10.0.0.121:46400\"}}","eNrF28tuIkcUBuD9PEWvohmLWHU5py4TsYrilRWiyUhZorpGaDyAgCjjtw8kC0wPRFWtOhS7lhH9129/dFVX++HhYdjz4cdGr3eLp99+/7x8el78MezS9uV1eL944o/yw/D+2yrO2Tfx4eO7IWw2X1bpeMTZ8WVAmoQGZkP8a+cOq816rh6N4vvZcHD+5fi+2bBebl34kg77uTwd+NdD2s8FHA/2aR2X+WXz93KXvg7b3WqzWx1e53D65Fl8WR5et6czGRPC4MLp0/fznxe/fv60eH7+5dNHhSjxu0QCUWlvRonY9UTsnIjdzIOz1bb8/CCdY9rRNmJBVDWik0xliYoa+S+P2217hsD/D/Bw0iF667Bok7wctL3xt8jfjNpwRscjBq7LIpHw8ByiJa6k1kcWNjasZJqPxiFKfMjuPkICcTlotNcHrc6DBqPIeChkWo0S6XvyMFaOrl5o2jZSqUMplUNZIjodV0Ioah3QW4cD4fjloDnrqyNAxLJENDpytJq2kVod0aNv2Mg0HY1DlOjA7jq8Pjb1dtCWmb5zKy2thFEkcUceQfOsRufnfedWGrJ3Zb8lOh+tQ5T4UL19eOExl82t8M13JUM6Hi5aWZaIhkc6/oS2kVodAbht2Mg0HY1DlOjQ3XXY7C9vRzC48VUN50FLAWQ6jOBZlCUi0RHReaBtpFKHkUabho1M0nEtBPV9K9NbR+DAY9lERp8HjUrT6bAKednUhkZHyFyWnX9qI7U6XIi6YSPTdFwJIYh12O46jNGjmxFWdF2XW+Y8K0tEoiOB1IK2kUodVnCpGjYySce1EJJYB2edeUDyGkerYHFjtWXOo1ZgqHgoL60xZYkoeCDTAhxtI3U8lEfGUsNGpvBoHqKIR+8dc8jC+9EqWOme63LlXUy6LBENj6ScpW2klkcAFRs2Mo1H4xBFPER3Ho7xy6mEtdj16hGEAFWWiIQHR88MbSOVPII8VtiwkUk8Woco4tF7xxwZBz1aB996jOY+aw8VrHJYloiGR8hK0zZSy8NF4Rs2Mo1H4xBFPKA7D2PiaFOw9eMTlTwi8wzKEpHwECCDom2kkkcU3LiGjUzi0TpEEQ/sziNHMdoTtLbnfV0VdVbjJyTvysMbgWXnv899XRUtJtuwkWk8roSg3hPkvbfMQRnjxg//Yderh2QuurJEFDzg32c0aRup5CEFV6xhI5N4tA5RxEN355EjG830Zd+1h9RZ2rJENDy8zp62kVoeFn1u2Mg0Ho1DFPHovWkOWnP1dqavHxnHrpMredRhyhKR8LAioKNtpJIHMMdTw0Ym8WgdooiH7c4jYZCXowbZlQconXVZIhoejnlL20gtD510bNjINB6NQxT9p2D3XXODToz3PW7s9ojzqLkSdDxiQFWWiISH48gNbSO1PLKIoWEj03hcCQF0PL6u1qt1Ovzw5+GnfwCLfOn8","eNqtyrEKgzAUQNHdr3hDBw1pMCaVUMjqVLDQQkeJmiEoRswLKKX/3vQfercD9/T2EdeIH9BACIHA4fynsra5P55dc2tfsNl1PiBvG85EAfnuRl3uVXHNYPB+cjaJlyklhbIXJSmMcTPo/KJrpmoeKKDp5/RRWLrVDJPFoMUP/YE26EomBLuMjLEvn3U19A==","eNqVl81qGzEURvd9ill5Nm3Rp39N6KpQsmqggb6AO8QDkxljD2QR+u6RnFGiq7sSwQuZAwfxeY6dw7zd3a/XrTthiK9v43YSA8T39IfuPP37oeHc4Wm7674cPlgZWUlYmdlQsyqyirBqZz1qVkdWE1ZnVtWsiawhrMmsqVkbWUtYm1l2NxdZR1iXWXY3H1lPWL+zQdZsiGwgbMisrlmINIaga4iMW4bftqvGy+sFz/A0H+h+2AeUQjA8LQg6IVTG2T2RRgRdETrj/KppR9AhYTLOr5qmBN0SNuP8qmlN0Dmx7ynBr5oGBV0UPuP8qmlT0FERMs6uKtOqkq4qRcaLqz78fXx8mbbj6bU/X9ZtPa7ztR+6/uE8Lr/m9QWq/99d4+jzOkC6d+/X6+0DgOH3uoz7Qd4Ou0Gi1SBrgywN8tOwHxTR6VadqnWq1KlSp7jOtep0rdOlTpc6zXRKtOpMrTOlzpQ6w3WqVWdrnS11ttRZrmv+MLpa50qdK3WO60Krztc6X+p8qfNMp2WrLtS6UOpCqQtcZ5qfbMEebUGebVEa309U6ZuVvCY0JyBKMKVprgtYXkD6AhIY8MKY5sKAJQakMSCRAa+Maa4MWGZAOgMSGvDS2ObSgKUGpDUgsQGvjW2uDVhuQHoDEhzw4tj2rz+WHJDmgEQHvDq2uTpg2QHpDkh4wMvjmssDlh6Q9oDEB7w+rrk+ktVHkvpIwX5auKI3f8bndRt/rst2Wed5vLz20zlJPn7bySg5RsfnG4O1Kv9T4PaOPE/LtIxbOrwBKHe7EQ==","eNpdyjkKgDAQQNHeU0whdgYnC27YexDFCEIEx0q8uyMYZMLndy+/wkn7STcMUGzUj+Eg8Njx5Uy+6rBSbwj7Og0W67pYqIfst5qtFlZH26bWsDXCms82mFrL1gprozWpdWydsC5aJ61S6gE5z0JF","eNpl0jtqw1AURdE+o3BlnMKg856+eAguNAoRGRI30fwJsQuZ5fKyT7W4a87LtjbH7+1yPn5tl9/HncNpvh7m6+fHWuiFXumV3tJbekfv6D29pw/0gT7SR/pEn+hpBGpcvBFqGBGjYmSMjhEySkbKaBkxo2bkjJ4RNIpG0mhaNC2YPr+s8JVl75X+2Ne9t/RK7+gtvad39IHe00f6QJ/oI/35ZIW3fB1EocbFm2FcqBgZo2OEjJKRMlpGzKgZOaNnBI2ikbRIGkx/bvfbfdn+2x8UHmu4","eNpN0Ttuw1AMRNHeq1CVLoDue/pnPUZiIHEKaf9IAJMz7AjMrXhOhu/fYxxO3u/XFwdxtaMNt7PF2DS2HF9XP/p/1iPryrqy7myKbFI2KZuczZHNymZls7MlskXZomxxtka2KluVrc62yDZlm7LN2R7ZrmxXtjtjzK+Ofuuo8nVGKoAigFNKmhzYA4NQREgSbIJRKCokC3bBMBQZkgbbYByKDsmDfTAQRYgkwkYYiaJEMmEnDEWRIqmwFcaiaLXUatZq0rr9PJ6P5/16+7w+/gAxu9yg","eNqN0LFOwzAUheHdT3EGpkitcp02TTYG3qAjYkCJ4UQEO8q1xNZn5zAgARP2Zv/+dOWmaXCtZduW/ArDVHLdy7qm3cPUIjQ/r7sR65LfPBz/t36/ji38Y6kTkwc3eIR38BP8DO/hF/gAH+GmznRvCkyFKTE1pshUmTJTF/+OpwMWrx5oYAQ78ASewR68gAM4gtIpndIpndIpndIpndIpnd/6Q8kpTOV9W1NNM5YMs2M/aMakv5o9PL6kuezP98t2sPbwtS0abk93nx7GW4A=","eNrN171qwzAQAOBXCZpdo/Nv7DW0NEsypNChlKLIci1wpWCbhBLy7pXSqUNvueXsSSdk7uOks30VnTlbbWbRvl2F7UQrfN/Kv5cSiVi+TyZMHl63L5vnMFZnZUd1HEOwV+NsEjH5OBC7/e4xzH/1UxxYbSeVrLZOpyE4XEJsfzJudT5c7KKHEJtjLEvzFB4+7VLUpdRNFeNmsmqMz/DOhLEe1DzbeRtTjAkp5/yiFutdyP0qTpNfvPZxwf7pA/LfFc6Z8b4CZBpvyKAtqkLm4nZL/vV23Lwd1dugXsPNa6jeEvUeuXmPRC/gXs3Nq6n1LVBvz83bU+tbYV4Abt57RgRw3tRogfmBqV60QUPGzptRTzCgYMkOLKkVXqM7uuAGLqgtC//EKrl5S+qGRlu0ZHeCyQcY7dD3xbwOcE4FZ2iB2YGpXkC9wK5hAbljoa8kueYGXlM3NP5Garh5G2p9JeqtuHkrqhf/Saq5eWvqfo71fb/9ADaKa7A=","*Length is 4818","*${jsondata} = {u'devices': [{u'available': False, u'chassisId': u'a', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46403', u'protocol': u'OF_13'}, u'mfr': u'Nicira...","*${data} = {u'available': False, u'chassisId': u'a', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46403', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'd', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46409', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'e', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46405', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'b', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46415', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'c', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46404', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'f', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46416', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'11', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46397', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'ro...","*${data} = {u'available': False, u'chassisId': u'1', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46399', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'12', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46401', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'ro...","*${data} = {u'available': False, u'chassisId': u'10', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46398', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'ro...","*${data} = {u'available': False, u'chassisId': u'4', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46413', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'5', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46406', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'2', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46407', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'13', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46402', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'ro...","*${data} = {u'available': False, u'chassisId': u'3', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46412', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'14', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46411', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'ro...","*${data} = {u'available': False, u'chassisId': u'8', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46408', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'9', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46410', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'6', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46414', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*${data} = {u'available': False, u'chassisId': u'7', u'sw': u'2.3.1-git4750c96', u'hw': u'Open vSwitch', u'annotations': {u'channelId': u'10.0.0.121:46400', u'protocol': u'OF_13'}, u'mfr': u'Nicira, Inc.', u'rol...","*{\"time\":778334956950892,\"devices\":0,\"links\":0,\"clusters\":0}","*${max-switches} = 20","*${max} = 20","*${max}","*20","*${SWITCHES_RESULT_FILE}, ${max}\\n","*ONOS Suite Setup","*<p>Transfers the ONOS dist over to the test vm and start the controller. We will leverage the bash script, \"onos-install\" to do this.\x3c/p>","*${CONTROLLER_IP}, ${CONTROLLER_USER}","*Create Controller IP List","*<p>Creates a list of controller ips for a cluster. When creating a cluster, be sure to set each variable to %{OC} env vars in the variables section\x3c/p>","*@{controller_list} = BuiltIn.Create List","*${CONTROLLER_IP}","*@{controller_list} = [ 10.0.0.152 ]","*@{controller_list}","*${rc} = OperatingSystem.Run And Return Rc","*<p>Runs the given command in the system and returns the return code.\x3c/p>","*onos-package","*Running command 'onos-package 2&gt;&amp;1'","*${rc} = 0","*${rc}, 0","*onos-install -f ${ip}","*Running command 'onos-install -f 10.0.0.152 2&gt;&amp;1'","*Create HTTP Sessions","*<p>Creates an http session with all controllers in the cluster. Session names are set to respective ips.\x3c/p>","*${HEADERS} = Collections.Create Dictionary","*<p>Creates and returns a dictionary based on given items.\x3c/p>","*Content-Type, application/json","*${HEADERS} = {u'Content-Type': u'application/json'}","*RequestsLibrary.Create Session","*<p>Create Session: create a HTTP session to a server\x3c/p>","*${ip}, <a href=\"http://${ip}:${RESTCONFPORT}\">http://${ip}:${RESTCONFPORT}\x3c/a>, headers=${HEADERS}","*Argument types are:\n&lt;type 'bool'&gt;","*60s, 2s, Verify All Controller are up","*Verify All Controller are up","*<p>Verifies each controller is up by issuing a rest call and getting a 200\x3c/p>","*Starting new HTTP connection (1): 10.0.0.152","*ConnectionError: ('Connection aborted.', error(111, 'Connection refused'))","*Starting new HTTP connection (2): 10.0.0.152","*Starting new HTTP connection (3): 10.0.0.152","*Starting new HTTP connection (4): 10.0.0.152","*Starting new HTTP connection (5): 10.0.0.152","*${resp} = &lt;Response [404]&gt;","eNrtVLFugzAQ3fMVJw9s1E2USimELFWqtkODaH7AwDUggU3tCy1/XwyNI6aqWwduunf33tPTSbZXUVhQXXknCheeBShyB2okAQVR4+PHuWwj9qAkoST/2DXIIBtRxAi/iFubMCuENkjR89vB32zu7v0l486OSqrQor3WSsP6dg2viuBRnWVu99wRBjqfZElV3l1Trmz7dDzGsE+SQxJYs1GzcqTGdrFWaYU1iCxDY0p5Aq6kMrxd8hzbsh/eQILCKBmMIj0EgL6m2X4WY38NooFfxuWlMbWohovG6hM15pB2sO0PqfE9Yi9I1AWcD0aOOSBrwHa/ELZc7MIF/LFmwSyYBf9bMDzxyTfH3df8DW3wEFU=","*404 != 200","*${resp} = &lt;Response [401]&gt;","*401 != 200","*${resp} = &lt;Response [503]&gt;","*{\"code\":503,\"message\":\"Service org.onosproject.net.device.DeviceService not found\"}","*503 != 200","*{\"devices\":[]}","*ONOS Suite Teardown","*<p>Stop ONOS on Controller VMs and grabs karaf logs on each controller (put them in /tmp)\x3c/p>","*onos-kill","*Running command 'onos-kill 2&gt;&amp;1'","*cp ${SWITCHES_RESULT_FILE} ${JENKINS_WORKSPACE}","*Running command 'cp /home/fedora/workspace/tools/switches.csv /home/fedora/workspace/ONOS-Stable/ 2&gt;&amp;1'","*rm ${SWITCHES_RESULT_FILE}","*Running command 'rm /home/fedora/workspace/tools/switches.csv 2&gt;&amp;1'","*Clean Mininet System","*<p>Cleans the mininet environment (sudo mn -c)\x3c/p>","*Run Command On Remote System","*${mininet_system}, sudo mn -c, ${CONTROLLER_USER}, ${LINUX_PROMPT}, 600s","*Attempting to execute sudo mn -c on 10.0.0.121","*${conn_id} = 5","*Read output: Last login: Wed Jul 1 17:02:51 2015 from 10.0.0.121\n[fedora@ip-10-0-0-121 ~]$","*sudo mn -c","eNrFUsFq3DAQvfsrhlC6rYNWcW7ZEiiUnnooNKUEzBIca7xWV9YIz9i7h5Jvr2ScjX3qsegympn35klv8jyHH9jRaP0B8FwjM9TkpSfnsGdNTehJqCaXYlNJFSppWYfYz9rTGTk7Wucq5xY4eIPBGwoSCCLmqaYewYm6xDSyooC+cXQy021BNpjwfBJkgc7jGWuwI8Pt+4N8Am1w1H5w7iJC3f1fHSEJSSpUA1c8GJqbr7J8+dW/B3+EpqcOtHQh67vUn0I9xok+n2NHB57jfEuDvIYxv+YjZ+CxKEAG79Hxujj7esQ+1uBiYhYYqjP8ATz0GEARbEwob9Td/noTs4wGNqxN0N7t9GaifOP8/uthwZR+auRa4suV2A6j1PsCnGVRz/0/qiupyUJn/ZGjXyAtQuSXqBsaIoXSPmY2TA3ALZ1W2j+U6mlb7irnh26331+n9rLcGXuwku4fNyvsNPdbNCuNZakcQme99ShxNUwc3FP6tbjfS0vnlt2EfmgHkQQ3dPIzx6sBS9DPKXf/Nb4nOiCr2pa51Z2fN+BFz3edTxO+OKz8EOJKd8Gh4DYrGzTUV59tUMWNSqe4LeBl/+4vjaRONQ==","*${output} = *** Removing excess controllers/ofprotocols/ofdatapaths/pings/noxes\nkillall controller ofprotocol ofdatapath ping nox_core lt-nox_core ovs-openflowd ovs-controller udpbwtest mnexec ivs 2&gt; /dev/null\n...","*Get Karaf Logs","*<p>Compresses all the karaf log files on each controler and puts them on your pybot execution machine (in /tmp)\x3c/p>","*${controller}, tar -zcvf /tmp/${SUITE NAME}.${controller}.tar.gz ${ONOS_HOME}/log","*Attempting to execute tar -zcvf /tmp/ScalePOC.10.0.0.152.tar.gz /opt/onos/log on 10.0.0.152","*${conn_id} = 6","*Read output: Last login: Wed Jul 1 17:03:15 2015 from 10.0.0.121\n[fedora@ip-10-0-0-152 ~]$","*tar -zcvf /tmp/ScalePOC.10.0.0.152.tar.gz /opt/onos/lo \ng","*tar: Removing leading `/' from member names\n/opt/onos/log\n[fedora@ip-10-0-0-152 ~]$","*${output} = tar: Removing leading `/' from member names\n/opt/onos/log\n[fedora@ip-10-0-0-152 ~]$","*SSHLibrary.Open Connection","*${controller}, prompt=${LINUX_PROMPT}, timeout=${prompt_timeout}","*${CONTROLLER_USER}, ${USER_HOME}/.ssh/id_rsa, any","*Read output: Last login: Wed Jul 1 17:03:21 2015 from 10.0.0.121\n[fedora@ip-10-0-0-152 ~]$","*SSHLibrary.Get File","*<p>Downloads file(s) from the remote machine to the local machine.\x3c/p>","*/tmp/${SUITE NAME}.${controller}.tar.gz, /tmp/","*[chan 1] Opened sftp connection (server version 3)","*'/tmp/ScalePOC.10.0.0.152.tar.gz' -&gt; '/tmp/ScalePOC.10.0.0.152.tar.gz'"]);
1691</script>
1692<script type="text/javascript">
1693window.output["generatedTimestamp"] = "20150701 17:03:07 GMT 00:00";
1694</script>
1695<script type="text/javascript">
1696window.output["errors"] = [];
1697</script>
1698<script type="text/javascript">
1699window.output["stats"] = [[{"elapsed":"00:00:22","fail":0,"label":"Critical Tests","pass":1},{"elapsed":"00:00:22","fail":0,"label":"All Tests","pass":1}],[{"elapsed":"00:00:22","fail":0,"label":"done","pass":1}],[{"elapsed":"00:01:01","fail":0,"id":"s1","label":"ScalePOC","name":"ScalePOC","pass":1}]];
1700</script>
1701<script type="text/javascript">
1702window.output["generatedMillis"] = 60908;
1703</script>
1704<script type="text/javascript">
1705window.output["baseMillis"] = 1435770126092;
1706</script>
1707<script type="text/javascript">
1708window.settings = {"defaultLevel":"INFO","minLevel":"INFO","reportURL":"report.html","splitLogBase":"log","title":""};
1709</script>
1710<title></title>
1711</head>
1712<body>
1713<div id="javascript-disabled">
1714 <h1>Opening Robot Framework log failed</h1>
1715 <ul>
1716 <li>Verify that you have <b>JavaScript enabled</b> in your browser.</li>
1717 <li>Make sure you are using a <b>modern enough browser</b>. Firefox 3.5, IE 8, or equivalent is required, newer browsers are recommended.</li>
1718 <li>Check are there messages in your browser's <b>JavaScript error log</b>. Please report the problem if you suspect you have encountered a bug.</li>
1719 </ul>
1720</div>
1721<script type="text/javascript">removeJavaScriptDisabledWarning();</script>
1722
1723<div id="header"></div>
1724<div id="statistics-container"></div>
1725
1726<script type="text/javascript">
1727$(document).ready(function() {
1728 try {
1729 var topsuite = window.testdata.suite();
1730 } catch (error) {
1731 addJavaScriptDisabledWarning(error);
1732 return;
1733 }
1734 initLayout(topsuite.name, 'Log');
1735 addStatistics();
1736 addErrors();
1737 addTestExecutionLog(topsuite);
1738 addLogLevelSelector(window.settings['minLevel'], window.settings['defaultLevel']);
1739 if (window.location.hash) {
1740 makeElementVisible(window.location.hash.substring(1));
1741 } else {
1742 expandSuite(topsuite);
1743 }
1744});
1745
1746function addLogLevelSelector(minLevel, defaultLevel) {
1747 var controller = LogLevelController(minLevel, defaultLevel);
1748 if (controller.showLogLevelSelector()) {
1749 var selector = $.tmpl('logLevelSelectorTemplate', controller);
1750 selector.find('select').val(controller.defaultLogLevel());
1751 selector.appendTo($('#top-right-header'));
1752 $('#report-or-log-link').find('a').css({'border-bottom-left-radius': '0'});
1753 setMessageVisibility(controller.defaultLogLevel());
1754 }
1755}
1756
1757function addErrors() {
1758 var errors = window.testdata.errorIterator();
1759 if (errors.hasNext()) {
1760 $.tmpl('errorHeaderTemplate').appendTo($('body'));
1761 drawErrorsRecursively(errors, $('#errors'));
1762 }
1763}
1764
1765function drawErrorsRecursively(errors, target) {
1766 var elements = popFromIterator(errors, 10);
1767 $.tmpl('errorTemplate', elements).appendTo(target);
1768 if (errors.hasNext())
1769 setTimeout(function () { drawErrorsRecursively(errors, target); }, 0);
1770 else {
1771 // Errors may have moved scroll position. Resetting location re-scrolls.
1772 if (window.location.hash)
1773 window.location.replace(window.location.hash);
1774 highlightLinkTarget();
1775 }
1776}
1777
1778function highlightLinkTarget() {
1779 if (window.location.hash) {
1780 var target = $(window.location.hash);
1781 highlight(target);
1782 }
1783}
1784
1785function highlight(element, color) {
1786 if (color === undefined)
1787 color = 242;
1788 if (color < 255) {
1789 element.css({'background-color': 'rgb('+color+','+color+','+color+')'});
1790 setTimeout(function () { highlight(element, color+1); }, 300);
1791 } else {
1792 element.css({'background-color': ''});
1793 }
1794}
1795
1796function popFromIterator(iterator, upTo) {
1797 var result = [];
1798 while (iterator.hasNext() > 0 && result.length < upTo)
1799 result.push(iterator.next());
1800 return result;
1801}
1802
1803function makeElementVisible(id) {
1804 window.testdata.ensureLoaded(id, function (ids) {
1805 util.map(ids, expandElementWithId);
1806 if (ids.length) {
1807 expandCriticalFailed(window.testdata.findLoaded(util.last(ids)));
1808 window.location.hash = id;
1809 highlightLinkTarget();
1810 }
1811 });
1812}
1813
1814function addTestExecutionLog(main) {
1815 $('body').append($('<h2>Test Execution Log</h2>'),
1816 $.tmpl('suiteTemplate', main));
1817}
1818</script>
1819
1820<script type="text/x-jquery-tmpl" id="totalStatisticsRowTemplate">
1821 <tr class="row-${$item.index}">
1822 <td class="stats-col-name">
1823 <div class="stat-name">
1824 <span>{{html label}}</span>
1825 </div>
1826 </td>
1827 {{tmpl($data) 'statColumnsTemplate'}}
1828 </tr>
1829</script>
1830
1831<script type="text/x-jquery-tmpl" id="tagStatisticsRowTemplate">
1832 <tr class="row-${$item.index}">
1833 <td class="stats-col-name" title="{{html doc}}">
1834 <div class="stat-name">
1835 <span>{{html label}}</span>
1836 {{if info}}(${info}){{/if}}
1837 </div>
1838 <div class="tag-links">
1839 {{each links}}
1840 <span>[<a href="{{html $value.url}}" title="{{html $value.url}}">{{html $value.title}}</a>]</span>
1841 {{/each}}
1842 </div>
1843 </td>
1844 {{tmpl($data) 'statColumnsTemplate'}}
1845 </tr>
1846</script>
1847
1848<script type="text/x-jquery-tmpl" id="suiteStatisticsRowTemplate">
1849 <tr onclick="makeElementVisible('${id}')" class="row-${$item.index}">
1850 <td class="stats-col-name" title="{{html label}}">
1851 <div class="stat-name">
1852 <a href="#${id}"><span class="parent-name">{{html formatParentName}}</span>{{html name}}</a>
1853 </div>
1854 </td>
1855 {{tmpl($data) 'statColumnsTemplate'}}
1856 </tr>
1857</script>
1858
1859<script type="text/x-jquery-tmpl" id="errorHeaderTemplate">
1860 <h2>Test Execution Errors</h2>
1861 <table id="errors"></table>
1862</script>
1863
1864<script type="text/x-jquery-tmpl" id="errorTemplate">
1865 <tr id="${id}" class="message-row">
1866 <td class="error-time">
1867 {{if link}}
1868 <a onclick="makeElementVisible('${link}')" href="#${link}" title="Link to details">${date} ${time}</a>
1869 {{else}}
1870 ${date} ${time}
1871 {{/if}}
1872 </td>
1873 <td class="${level.toLowerCase()} level">${level}</td>
1874 <td class="message">{{html text}}</td>
1875 <td class="select-message" onclick="javascript:selectMessage('${id}')" title="Select message text">
1876 <div></div>
1877 </td>
1878 </tr>
1879</script>
1880
1881<script type="text/x-jquery-tmpl" id="suiteTemplate">
1882 <div id="${id}" class="suite">
1883 <div class="element-header closed" onclick="toggleSuite('${id}')">
1884 <div class="element-header-left" title="{{html fullName}}">
1885 <span class="elapsed" title="Elapsed time">${times.elapsedTime}</span>
1886 <span class="${status.toLowerCase()}">TEST SUITE: </span>
1887 <span class="name">{{html name}}</span>
1888 </div>
1889 <div class="element-header-right" onclick="stopPropagation(event)" title="">
1890 <a class="expand" title="Expand all" href="javascript:expandAll('${id}')"></a>
1891 <a class="collapse" title="Collapse all" href="javascript:collapseAll('${id}')"></a>
1892 <a class="link" title="Link to this suite" href="#${id}" onclick="makeElementVisible('${id}')"></a>
1893 </div>
1894 <div class="element-header-toggle" title="Toggle visibility"></div>
1895 </div>
1896 <div class="children">
1897 <table class="metadata">
1898 <tr>
1899 <th>Full Name:</th>
1900 <td>{{html fullName}}</td>
1901 </tr>
1902 {{if doc()}}
1903 <tr>
1904 <th>Documentation:</th>
1905 <td class="doc">{{html doc()}}</td>
1906 </tr>
1907 {{/if}}
1908 {{each metadata}}
1909 <tr>
1910 <th>{{html $value[0]}}:</th>
1911 <td class="doc">{{html $value[1]}}</td>
1912 </tr>
1913 {{/each}}
1914 {{if source}}
1915 <tr>
1916 <th>Source:</th>
1917 {{if relativeSource}}
1918 <td><a href="${relativeSource}">{{html source}}</a></td>
1919 {{else}}
1920 <td>{{html source}}</td>
1921 {{/if}}
1922 </tr>
1923 {{/if}}
1924 <tr>
1925 <th>Start / End / Elapsed:</th>
1926 <td>${times.startTime} / ${times.endTime} / ${times.elapsedTime}</td>
1927 </tr>
1928 <tr>
1929 <th>Status:</th>
1930 <td>{{tmpl($data) 'suiteStatusMessageTemplate'}}</td>
1931 </tr>
1932 {{if message()}}
1933 <tr>
1934 <th>Message:</th>
1935 <td class="message">{{html message()}}</td>
1936 </tr>
1937 {{/if}}
1938 </table>
1939 </div>
1940 </div>
1941</script>
1942
1943<script type="text/x-jquery-tmpl" id="testTemplate">
1944 <div id="${id}" class="test">
1945 <div class="element-header closed" onclick="toggleTest('${id}')">
1946 <div class="element-header-left" title="{{html fullName}}">
1947 <span class="elapsed" title="Elapsed time">${times.elapsedTime}</span>
1948 <span class="${status.toLowerCase()}">TEST CASE: </span>
1949 <span class="name">{{html name}}</span>
1950 {{if !isCritical}}(non-critical){{/if}}
1951 </div>
1952 <div class="element-header-right" onclick="stopPropagation(event)" title="">
1953 <a class="expand" title="Expand all" href="javascript:expandAll('${id}')"></a>
1954 <a class="collapse" title="Collapse all" href="javascript:collapseAll('${id}')"></a>
1955 <a class="link" title="Link to this test" href="#${id}" onclick="makeElementVisible('${id}')"></a>
1956 </div>
1957 <div class="element-header-toggle" title="Toggle visibility"></div>
1958 </div>
1959 <div class="children">
1960 <table class="metadata">
1961 <tr>
1962 <th>Full Name:</th>
1963 <td>{{html fullName}}</td>
1964 </tr>
1965 {{if doc()}}
1966 <tr>
1967 <th>Documentation:</th>
1968 <td class="doc">{{html doc()}}</td>
1969 </tr>
1970 {{/if}}
1971 {{if tags.length}}
1972 <tr>
1973 <th>Tags:</th>
1974 <td>{{html tags.join(', ')}}</td>
1975 </tr>
1976 {{/if}}
1977 {{if timeout}}
1978 <tr>
1979 <th>Timeout:</th>
1980 <td>{{html timeout}}</td>
1981 </tr>
1982 {{/if}}
1983 <tr>
1984 <th>Start / End / Elapsed:</th>
1985 <td>${times.startTime} / ${times.endTime} / ${times.elapsedTime}</td>
1986 </tr>
1987 <tr>
1988 <th>Status:</th>
1989 <td><span class="${status.toLowerCase()}">${status}</span> ({{if isCritical}}critical{{else}}non-critical{{/if}})</td>
1990 </tr>
1991 {{if message()}}
1992 <tr>
1993 <th>Message:</th>
1994 <td class="message">{{html message()}}</td>
1995 </tr>
1996 {{/if}}
1997 </table>
1998 </div>
1999 </div>
2000</script>
2001
2002<script type="text/x-jquery-tmpl" id="keywordTemplate">
2003 <div id="${id}" class="keyword">
2004 <div class="element-header closed" onclick="toggleKeyword('${id}')">
2005 <div class="element-header-left" title="{{html name}}">
2006 <span class="elapsed" title="Elapsed time">${times.elapsedTime}</span>
2007 <span class="${status.toLowerCase()}">${type}: </span>
2008 <span class="name">{{html name}}</span>
2009 <span class="arg">{{html arguments}}</span>
2010 </div>
2011 <div class="element-header-right" onclick="stopPropagation(event)">
2012 <a class="expand" title="Expand all" href="javascript:expandAll('${id}')"></a>
2013 <a class="collapse" title="Collapse all" href="javascript:collapseAll('${id}')"></a>
2014 <a class="link" title="Link to this keyword" href="#${id}" onclick="makeElementVisible('${id}')"></a>
2015 </div>
2016 <div class="element-header-toggle" title="Toggle visibility"></div>
2017 </div>
2018 <div class="children">
2019 <table class="metadata keyword-metadata">
2020 {{if doc()}}
2021 <tr>
2022 <th>Documentation:</th>
2023 <td class="doc">{{html doc()}}</td>
2024 </tr>
2025 {{/if}}
2026 {{if timeout}}
2027 <tr>
2028 <th>Timeout:</th>
2029 <td>{{html timeout}}</td>
2030 </tr>
2031 {{/if}}
2032 <tr>
2033 <th>Start / End / Elapsed:</th>
2034 <td>${times.startTime} / ${times.endTime} / ${times.elapsedTime}</td>
2035 </tr>
2036 </table>
2037 </div>
2038 </div>
2039</script>
2040
2041<script type="text/x-jquery-tmpl" id="messageTemplate">
2042 <table id="${id}" class="messages ${level.toLowerCase()}-message">
2043 <tr class="message-row">
2044 <td class="time">${time}</td>
2045 <td class="${level.toLowerCase()} level">${level}</td>
2046 <td class="message">{{html text}}</td>
2047 <td class="select-message" onclick="javascript:selectMessage('${id}')" title="Select message text">
2048 <div></div>
2049 </td>
2050 </tr>
2051 </table>
2052</script>
2053
2054<script type="text/x-jquery-tmpl" id="logLevelSelectorTemplate">
2055 <div id="log-level-selector">
2056 Log level:
2057 <select onchange="logLevelSelected(this.options[selectedIndex].value)">
2058 <option value="2">INFO</option>
2059 <option value="1">DEBUG</option>
2060 {{if showTrace()}}<option value="0">TRACE</option>{{/if}}
2061 </select>
2062 </div>
2063</script>
2064
2065</body>
2066</html>