aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2023-12-06 22:06:54 +0700
committerShulhan <ms@kilabit.info>2023-12-06 23:42:08 +0700
commit4283ebdbf813633e7bedd11f404f8a0489030836 (patch)
tree928aae3542bea4417997f7b7c195ed7a11cd9dcb
parent6153a1894c7cfa50843caf4f6f9fe4a2b0a6a7a7 (diff)
downloadawwan-4283ebdbf813633e7bedd11f404f8a0489030836.tar.xz
_wui: use the output for displaying notification
Previously, we use a quick "pop-up" to display notification for each information or error from WUI. Sometimes this is annoying, it overlap the buttons, make it hard to Save and Encrypt at the same time. In this changes we move the nofication message to be displayed in the output, same with output of execution.
-rw-r--r--_wui/awwan.ts63
-rw-r--r--_wui/main.js118
-rw-r--r--internal/memfs_wui.go8
3 files changed, 70 insertions, 119 deletions
diff --git a/_wui/awwan.ts b/_wui/awwan.ts
index 7132476..95b7f97 100644
--- a/_wui/awwan.ts
+++ b/_wui/awwan.ts
@@ -2,7 +2,6 @@
// SPDX-License-Identifier: GPL-3.0-or-later
import { WuiEditor, WuiEditorOptions } from "./wui/editor/editor.js";
-import { WuiNotif } from "./wui/notif/notif.js";
import { WuiResponseInterface } from "./wui/response.js";
import { WuiVfs, WuiVfsOptions, WuiVfsNodeInterface } from "./wui/vfs/vfs.js";
@@ -149,7 +148,6 @@ export class Awwan {
line_range: "",
};
private editor!: WuiEditor;
- private notif!: WuiNotif;
private vfs!: WuiVfs;
private orgContent: string = "";
private _posx: number = 0;
@@ -294,8 +292,6 @@ export class Awwan {
this.comEditor = el;
}
- this.notif = new WuiNotif();
-
const vfsOpts: WuiVfsOptions = {
id: ID_VFS,
open: (path: string, isDir: boolean): Promise<WuiResponseInterface> => {
@@ -369,7 +365,7 @@ export class Awwan {
const httpRes = await fetch("/awwan/api/fs?path=" + path);
const res = await httpRes.json();
if (res.code != 200) {
- this.notif.error(`Failed to open ${path}: ${res.message}`);
+ this.notifError(`Failed to open ${path}: ${res.message}`);
return res;
}
@@ -384,7 +380,7 @@ export class Awwan {
const resAllow = this.isEditAllowed(node);
if (resAllow.code != 200) {
- this.notif.error(resAllow.message);
+ this.notifError(resAllow.message);
return resAllow;
}
@@ -415,7 +411,7 @@ export class Awwan {
async openNode(node: WuiVfsNodeInterface): Promise<WuiResponseInterface> {
let res = this.isEditAllowed(node);
if (res.code != 200) {
- this.notif.error(res.message);
+ this.notifError(res.message);
return res;
}
@@ -448,7 +444,7 @@ export class Awwan {
async onClickEncrypt() {
if (this.request.script == "") {
- this.notif.error("No file selected");
+ this.notifError("No file selected");
return;
}
const ok = this.confirmWhenDirty();
@@ -473,13 +469,13 @@ export class Awwan {
const jsonRes = await httpRes.json();
if (jsonRes.code != 200) {
- this.notif.error(`Failed to encrypt file ${path}: ${jsonRes.message}`);
+ this.notifError(`Failed to encrypt file ${path}: ${jsonRes.message}`);
return false;
}
const encRes = jsonRes.data as encryptResponse;
- this.notif.info(`File ${path} has been encrypted to ${encRes.path_vault}.`);
+ this.notifInfo(`File ${path} has been encrypted to ${encRes.path_vault}.`);
if (this.currentNode) {
this.open(this.currentNode.path, this.currentNode.is_dir);
@@ -489,7 +485,7 @@ export class Awwan {
async onClickDecrypt() {
if (this.request.script == "") {
- this.notif.error("No file selected");
+ this.notifError("No file selected");
return false;
}
@@ -510,7 +506,7 @@ export class Awwan {
const jsonRes = await httpRes.json();
if (jsonRes.code != 200) {
- this.notif.error(
+ this.notifError(
`Failed to decrypt file ${pathVault}: ${jsonRes.message}`,
);
return false;
@@ -518,7 +514,7 @@ export class Awwan {
const encRes = jsonRes.data as encryptResponse;
- this.notif.info(`File ${pathVault} has been decrypted to ${encRes.path}.`);
+ this.notifInfo(`File ${pathVault} has been decrypted to ${encRes.path}.`);
if (this.currentNode) {
this.open(this.currentNode.path, this.currentNode.is_dir);
@@ -558,11 +554,11 @@ export class Awwan {
});
const res = await httpRes.json();
if (res.code != 200) {
- this.notif.error(`Failed to save file ${path}: ${res.message}`);
+ this.notifError(`Failed to save file ${path}: ${res.message}`);
return null;
}
- this.notif.info(`File ${path} has been saved.`);
+ this.notifInfo(`File ${path} has been saved.`);
const node = res.data as WuiVfsNodeInterface;
this.editor.open(node);
@@ -574,12 +570,12 @@ export class Awwan {
// execLocal request to execute the selected script on local system.
execLocal() {
if (this.request.script == "") {
- this.notif.error(`Execute on local: no file selected`);
+ this.notifError(`Execute on local: no file selected`);
return;
}
const lineRange = this.comInputLineRange.value.trim();
if (lineRange === "") {
- this.notif.error(`Empty line range`);
+ this.notifError(`Empty line range`);
return;
}
this.httpApiExecute("local", lineRange);
@@ -588,12 +584,12 @@ export class Awwan {
// execPlay request to execute the selected script on remote system.
execPlay() {
if (this.request.script == "") {
- this.notif.error(`Execute on remote: no file selected`);
+ this.notifError(`Execute on remote: no file selected`);
return;
}
const lineRange = this.comInputLineRange.value.trim();
if (lineRange === "") {
- this.notif.error(`Empty line range`);
+ this.notifError(`Empty line range`);
return;
}
this.httpApiExecute("remote", lineRange);
@@ -619,14 +615,14 @@ export class Awwan {
const res = await httpRes.json();
if (res.code != 200) {
- this.notif.error(`Execute failed: ${res.message}`);
+ this.notifError(`Execute failed: ${res.message}`);
this.postExecute();
return;
}
const execRes = res.data as ExecResponseInterface;
- this.notif.info(
+ this.notifInfo(
`Execute submitted ${execRes.script} on ${execRes.mode} with ID=${execRes.id}`,
);
@@ -682,13 +678,13 @@ export class Awwan {
private async newNode(isDir: boolean) {
if (!this.currentNode) {
- this.notif.error("No active directory loaded or selected.");
+ this.notifError("No active directory loaded or selected.");
return;
}
const name = this.comVfsInput.value;
if (name === "") {
- this.notif.error("Empty file name");
+ this.notifError("Empty file name");
return;
}
const req: WuiVfsNodeInterface = {
@@ -714,7 +710,7 @@ export class Awwan {
const res = await httpRes.json();
if (res.code != 200) {
- this.notif.error(`newNode: ${res.message}`);
+ this.notifError(`newNode: ${res.message}`);
return;
}
@@ -727,15 +723,14 @@ export class Awwan {
}
private async onClickRemove() {
- console.log("onClickRemove: ", this.currentNode);
if (!this.currentNode) {
- this.notif.error("No file selected.");
+ this.notifError("No file selected.");
return;
}
const name = this.comVfsInput.value;
if (name === "") {
- this.notif.error("Empty file name");
+ this.notifError("Empty file name");
return;
}
const req: fsRequest = {
@@ -755,11 +750,11 @@ export class Awwan {
const res = await httpRes.json();
if (res.code != 200) {
- this.notif.error(`remove: ${res.message}`);
+ this.notifError(`remove: ${res.message}`);
return;
}
- this.notif.info(`${res.message}`);
+ this.notifInfo(`${res.message}`);
this.vfs.openDir(this.currentNode.path);
}
@@ -848,4 +843,14 @@ export class Awwan {
height += 100;
this.comOutputWrapper.style.height = `calc(100% - ${height}px)`;
}
+
+ private notifInfo(msg: string) {
+ this.comOutput.innerText += "[NOTIF] INFO: " + msg + "\n";
+ this.comOutput.scrollTo(0, this.comOutput.scrollHeight);
+ }
+
+ private notifError(msg: string) {
+ this.comOutput.innerText += "[NOTIF] ERROR: " + msg + "\n";
+ this.comOutput.scrollTo(0, this.comOutput.scrollHeight);
+ }
}
diff --git a/_wui/main.js b/_wui/main.js
index e292ade..fd0ec4b 100644
--- a/_wui/main.js
+++ b/_wui/main.js
@@ -200,66 +200,6 @@ var awwan = (() => {
}
};
- // _wui/wui/notif/notif.js
- var WUI_NOTIF_ID = "wui_notif";
- var WUI_NOTIF_CLASS_INFO = "wui_notif_info";
- var WUI_NOTIF_CLASS_ERROR = "wui_notif_error";
- var WuiNotif = class {
- constructor() {
- this.timeout = 5e3;
- this.el = document.createElement("div");
- this.el.id = WUI_NOTIF_ID;
- document.body.appendChild(this.el);
- this.initStyle();
- }
- // info show the msg as information.
- info(msg) {
- const item = document.createElement("div");
- item.innerHTML = msg;
- item.classList.add(WUI_NOTIF_CLASS_INFO);
- this.el.appendChild(item);
- setTimeout(() => {
- this.el.removeChild(item);
- }, this.timeout);
- }
- // error show the msg as an error.
- error(msg) {
- const item = document.createElement("div");
- item.innerHTML = msg;
- item.classList.add(WUI_NOTIF_CLASS_ERROR);
- this.el.appendChild(item);
- setTimeout(() => {
- this.el.removeChild(item);
- }, this.timeout);
- }
- initStyle() {
- const style = document.createElement("style");
- style.type = "text/css";
- style.innerText = `
- #${WUI_NOTIF_ID} {
- left: 10%;
- position: fixed;
- top: 1em;
- width: 80%;
- z-index: 10000;
- }
- .${WUI_NOTIF_CLASS_INFO} {
- border: 1px solid silver;
- background-color: honeydew;
- margin-bottom: 1em;
- padding: 1em;
- }
- .${WUI_NOTIF_CLASS_ERROR} {
- border: 1px solid salmon;
- background-color: lightsalmon;
- margin-bottom: 1em;
- padding: 1em;
- }
- `;
- document.head.appendChild(style);
- }
- };
-
// _wui/wui/vfs/vfs.js
var CLASS_VFS_PATH = "wui_vfs_path";
var CLASS_VFS_LIST = "wui_vfs_list";
@@ -661,7 +601,6 @@ var awwan = (() => {
if (el) {
this.comEditor = el;
}
- this.notif = new WuiNotif();
const vfsOpts = {
id: ID_VFS,
open: (path, isDir) => {
@@ -723,7 +662,7 @@ var awwan = (() => {
const httpRes = await fetch("/awwan/api/fs?path=" + path);
const res = await httpRes.json();
if (res.code != 200) {
- this.notif.error(`Failed to open ${path}: ${res.message}`);
+ this.notifError(`Failed to open ${path}: ${res.message}`);
return res;
}
const node = res.data;
@@ -735,7 +674,7 @@ var awwan = (() => {
}
const resAllow = this.isEditAllowed(node);
if (resAllow.code != 200) {
- this.notif.error(resAllow.message);
+ this.notifError(resAllow.message);
return resAllow;
}
this.comFilePath.innerText = path;
@@ -761,7 +700,7 @@ var awwan = (() => {
async openNode(node) {
let res = this.isEditAllowed(node);
if (res.code != 200) {
- this.notif.error(res.message);
+ this.notifError(res.message);
return res;
}
if (!node.is_dir) {
@@ -787,7 +726,7 @@ var awwan = (() => {
}
async onClickEncrypt() {
if (this.request.script == "") {
- this.notif.error("No file selected");
+ this.notifError("No file selected");
return;
}
const ok = this.confirmWhenDirty();
@@ -809,11 +748,11 @@ var awwan = (() => {
});
const jsonRes = await httpRes.json();
if (jsonRes.code != 200) {
- this.notif.error(`Failed to encrypt file ${path}: ${jsonRes.message}`);
+ this.notifError(`Failed to encrypt file ${path}: ${jsonRes.message}`);
return false;
}
const encRes = jsonRes.data;
- this.notif.info(`File ${path} has been encrypted to ${encRes.path_vault}.`);
+ this.notifInfo(`File ${path} has been encrypted to ${encRes.path_vault}.`);
if (this.currentNode) {
this.open(this.currentNode.path, this.currentNode.is_dir);
}
@@ -821,7 +760,7 @@ var awwan = (() => {
}
async onClickDecrypt() {
if (this.request.script == "") {
- this.notif.error("No file selected");
+ this.notifError("No file selected");
return false;
}
const pathVault = this.request.script;
@@ -839,13 +778,13 @@ var awwan = (() => {
});
const jsonRes = await httpRes.json();
if (jsonRes.code != 200) {
- this.notif.error(
+ this.notifError(
`Failed to decrypt file ${pathVault}: ${jsonRes.message}`
);
return false;
}
const encRes = jsonRes.data;
- this.notif.info(`File ${pathVault} has been decrypted to ${encRes.path}.`);
+ this.notifInfo(`File ${pathVault} has been decrypted to ${encRes.path}.`);
if (this.currentNode) {
this.open(this.currentNode.path, this.currentNode.is_dir);
}
@@ -881,10 +820,10 @@ var awwan = (() => {
});
const res = await httpRes.json();
if (res.code != 200) {
- this.notif.error(`Failed to save file ${path}: ${res.message}`);
+ this.notifError(`Failed to save file ${path}: ${res.message}`);
return null;
}
- this.notif.info(`File ${path} has been saved.`);
+ this.notifInfo(`File ${path} has been saved.`);
const node = res.data;
this.editor.open(node);
this.orgContent = this.editor.getContent();
@@ -893,12 +832,12 @@ var awwan = (() => {
// execLocal request to execute the selected script on local system.
execLocal() {
if (this.request.script == "") {
- this.notif.error(`Execute on local: no file selected`);
+ this.notifError(`Execute on local: no file selected`);
return;
}
const lineRange = this.comInputLineRange.value.trim();
if (lineRange === "") {
- this.notif.error(`Empty line range`);
+ this.notifError(`Empty line range`);
return;
}
this.httpApiExecute("local", lineRange);
@@ -906,12 +845,12 @@ var awwan = (() => {
// execPlay request to execute the selected script on remote system.
execPlay() {
if (this.request.script == "") {
- this.notif.error(`Execute on remote: no file selected`);
+ this.notifError(`Execute on remote: no file selected`);
return;
}
const lineRange = this.comInputLineRange.value.trim();
if (lineRange === "") {
- this.notif.error(`Empty line range`);
+ this.notifError(`Empty line range`);
return;
}
this.httpApiExecute("remote", lineRange);
@@ -932,12 +871,12 @@ var awwan = (() => {
});
const res = await httpRes.json();
if (res.code != 200) {
- this.notif.error(`Execute failed: ${res.message}`);
+ this.notifError(`Execute failed: ${res.message}`);
this.postExecute();
return;
}
const execRes = res.data;
- this.notif.info(
+ this.notifInfo(
`Execute submitted ${execRes.script} on ${execRes.mode} with ID=${execRes.id}`
);
const execTail = new EventSource(
@@ -985,12 +924,12 @@ var awwan = (() => {
}
async newNode(isDir) {
if (!this.currentNode) {
- this.notif.error("No active directory loaded or selected.");
+ this.notifError("No active directory loaded or selected.");
return;
}
const name = this.comVfsInput.value;
if (name === "") {
- this.notif.error("Empty file name");
+ this.notifError("Empty file name");
return;
}
const req = {
@@ -1014,7 +953,7 @@ var awwan = (() => {
});
const res = await httpRes.json();
if (res.code != 200) {
- this.notif.error(`newNode: ${res.message}`);
+ this.notifError(`newNode: ${res.message}`);
return;
}
const node = res.data;
@@ -1025,14 +964,13 @@ var awwan = (() => {
this.vfs.set(this.currentNode);
}
async onClickRemove() {
- console.log("onClickRemove: ", this.currentNode);
if (!this.currentNode) {
- this.notif.error("No file selected.");
+ this.notifError("No file selected.");
return;
}
const name = this.comVfsInput.value;
if (name === "") {
- this.notif.error("Empty file name");
+ this.notifError("Empty file name");
return;
}
const req = {
@@ -1050,10 +988,10 @@ var awwan = (() => {
});
const res = await httpRes.json();
if (res.code != 200) {
- this.notif.error(`remove: ${res.message}`);
+ this.notifError(`remove: ${res.message}`);
return;
}
- this.notif.info(`${res.message}`);
+ this.notifInfo(`${res.message}`);
this.vfs.openDir(this.currentNode.path);
}
// onVfsInputFilter filter the VFS list based on input val.
@@ -1132,6 +1070,14 @@ var awwan = (() => {
height += 100;
this.comOutputWrapper.style.height = `calc(100% - ${height}px)`;
}
+ notifInfo(msg) {
+ this.comOutput.innerText += "[NOTIF] INFO: " + msg + "\n";
+ this.comOutput.scrollTo(0, this.comOutput.scrollHeight);
+ }
+ notifError(msg) {
+ this.comOutput.innerText += "[NOTIF] ERROR: " + msg + "\n";
+ this.comOutput.scrollTo(0, this.comOutput.scrollHeight);
+ }
};
// _wui/main.ts
diff --git a/internal/memfs_wui.go b/internal/memfs_wui.go
index 7514d61..614d419 100644
--- a/internal/memfs_wui.go
+++ b/internal/memfs_wui.go
@@ -16,7 +16,7 @@ func generate__wui() *memfs.Node {
GenFuncName: "generate__wui",
}
node.SetMode(2147484141)
- node.SetModTimeUnix(1701507951, 451308153)
+ node.SetModTimeUnix(1701624030, 223932867)
node.SetName("/")
node.SetSize(0)
node.AddChild(_MemfsWui_getNode(MemfsWui, "/awwan.js", generate__wui_awwan_js))
@@ -220,12 +220,12 @@ func generate__wui_main_js() *memfs.Node {
Path: "/main.js",
ContentType: "text/javascript; charset=utf-8",
GenFuncName: "generate__wui_main_js",
- Content: []byte("\x22\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74\x22\x3B\x0A\x76\x61\x72\x20\x61\x77\x77\x61\x6E\x20\x3D\x20\x28\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x2F\x2F\x20\x5F\x77\x75\x69\x2F\x77\x75\x69\x2F\x65\x64\x69\x74\x6F\x72\x2F\x65\x64\x69\x74\x6F\x72\x2E\x6A\x73\x0A\x20\x20\x76\x61\x72\x20\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x20\x3D\x20\x22\x77\x75\x69\x5F\x65\x64\x69\x74\x6F\x72\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x5F\x4C\x49\x4E\x45\x5F\x4E\x55\x4D\x42\x45\x52\x20\x3D\x20\x22\x77\x75\x69\x5F\x65\x64\x69\x74\x6F\x72\x5F\x6C\x69\x6E\x65\x5F\x6E\x75\x6D\x62\x65\x72\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x5F\x43\x4F\x4E\x54\x45\x4E\x54\x20\x3D\x20\x22\x77\x75\x69\x5F\x65\x64\x69\x74\x6F\x72\x5F\x63\x6F\x6E\x74\x65\x6E\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x57\x75\x69\x45\x64\x69\x74\x6F\x72\x20\x3D\x20\x63\x6C\x61\x73\x73\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x6F\x70\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x20\x3D\x20\x6F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x6F\x74\x61\x6C\x4C\x69\x6E\x65\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x73\x4B\x65\x79\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x64\x20\x3D\x20\x6F\x70\x74\x73\x2E\x69\x64\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x73\x45\x64\x69\x74\x61\x62\x6C\x65\x20\x3D\x20\x6F\x70\x74\x73\x2E\x69\x73\x45\x64\x69\x74\x61\x62\x6C\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x6F\x70\x74\x73\x2E\x69\x64\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x65\x72\x72\x6F\x72\x28\x22\x57\x75\x69\x45\x64\x69\x74\x6F\x72\x3A\x20\x65\x6C\x65\x6D\x65\x6E\x74\x20\x49\x44\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x3A\x22\x2C\x20\x6F\x70\x74\x73\x2E\x69\x64\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x6E\x69\x74\x53\x74\x79\x6C\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x6E\x69\x74\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x6E\x69\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x20\x72\x65\x74\x75\x72\x6E\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x6F\x66\x20\x66\x69\x6C\x65\x2E\x0A\x20\x20\x20\x20\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x6C\x69\x6E\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x68\x69\x6C\x64\x4E\x6F\x64\x65\x73\x2E\x66\x6F\x72\x45\x61\x63\x68\x28\x28\x6E\x6F\x64\x65\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x77\x69\x74\x63\x68\x20\x28\x6E\x6F\x64\x65\x2E\x6E\x6F\x64\x65\x54\x79\x70\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x4E\x6F\x64\x65\x2E\x45\x4C\x45\x4D\x45\x4E\x54\x5F\x4E\x4F\x44\x45\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x6E\x6F\x64\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x69\x6E\x65\x20\x3D\x20\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x4E\x6F\x64\x65\x2E\x54\x45\x58\x54\x5F\x4E\x4F\x44\x45\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x69\x6E\x65\x20\x3D\x20\x6E\x6F\x64\x65\x2E\x6E\x6F\x64\x65\x56\x61\x6C\x75\x65\x20\x7C\x7C\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x69\x6E\x65\x20\x3D\x20\x6C\x69\x6E\x65\x2E\x74\x72\x69\x6D\x45\x6E\x64\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x2B\x3D\x20\x6C\x69\x6E\x65\x20\x2B\x20\x22\x5C\x6E\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x74\x72\x69\x6D\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x63\x6F\x6E\x74\x65\x6E\x74\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6F\x70\x65\x6E\x20\x74\x68\x65\x20\x6E\x6F\x64\x65\x20\x66\x6F\x72\x20\x65\x64\x69\x74\x69\x6E\x67\x2E\x0A\x20\x20\x20\x20\x2F\x2F\x20\x54\x68\x65\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x4D\x55\x53\x54\x20\x62\x65\x20\x65\x6E\x63\x6F\x64\x65\x64\x20\x69\x6E\x20\x62\x61\x73\x65\x36\x34\x2E\x0A\x20\x20\x20\x20\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x61\x74\x6F\x62\x28\x6E\x6F\x64\x65\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x72\x65\x70\x6C\x61\x63\x65\x28\x22\x5C\x72\x5C\x6E\x22\x2C\x20\x22\x5C\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x6E\x64\x65\x72\x28\x74\x68\x69\x73\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x73\x65\x74\x45\x64\x69\x74\x61\x62\x6C\x65\x28\x79\x65\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x73\x45\x64\x69\x74\x61\x62\x6C\x65\x20\x3D\x20\x79\x65\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x79\x65\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x63\x6F\x6E\x74\x65\x6E\x74\x65\x64\x69\x74\x61\x62\x6C\x65\x22\x2C\x20\x22\x74\x72\x75\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x63\x6F\x6E\x74\x65\x6E\x74\x65\x64\x69\x74\x61\x62\x6C\x65\x22\x2C\x20\x22\x66\x61\x6C\x73\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x64\x64\x4E\x65\x77\x4C\x69\x6E\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x6F\x74\x61\x6C\x4C\x69\x6E\x65\x2B\x2B\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x4C\x69\x6E\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x4C\x69\x6E\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x60\x24\x7B\x74\x68\x69\x73\x2E\x74\x6F\x74\x61\x6C\x4C\x69\x6E\x65\x7D\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x4C\x69\x6E\x65\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x69\x6E\x69\x74\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x5F\x4C\x49\x4E\x45\x5F\x4E\x55\x4D\x42\x45\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x69\x6E\x69\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x69\x73\x45\x64\x69\x74\x61\x62\x6C\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x63\x6F\x6E\x74\x65\x6E\x74\x65\x64\x69\x74\x61\x62\x6C\x65\x22\x2C\x20\x22\x74\x72\x75\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x73\x70\x65\x6C\x6C\x63\x68\x65\x63\x6B\x22\x2C\x20\x22\x66\x61\x6C\x73\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x70\x61\x73\x74\x65\x22\x2C\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x72\x20\x5F\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x74\x65\x78\x74\x20\x3D\x20\x28\x28\x5F\x61\x20\x3D\x20\x65\x76\x2E\x63\x6C\x69\x70\x62\x6F\x61\x72\x64\x44\x61\x74\x61\x29\x20\x3D\x3D\x3D\x20\x6E\x75\x6C\x6C\x20\x7C\x7C\x20\x5F\x61\x20\x3D\x3D\x3D\x20\x76\x6F\x69\x64\x20\x30\x20\x3F\x20\x76\x6F\x69\x64\x20\x30\x20\x3A\x20\x5F\x61\x2E\x67\x65\x74\x44\x61\x74\x61\x28\x22\x74\x65\x78\x74\x2F\x70\x6C\x61\x69\x6E\x22\x29\x29\x20\x7C\x7C\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x65\x78\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x65\x72\x72\x6F\x72\x28\x60\x6F\x6E\x20\x70\x61\x73\x74\x65\x3A\x20\x74\x65\x78\x74\x20\x69\x73\x20\x24\x7B\x74\x65\x78\x74\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x20\x7C\x7C\x20\x21\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x2E\x72\x61\x6E\x67\x65\x43\x6F\x75\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x65\x72\x72\x6F\x72\x28\x60\x6F\x6E\x20\x70\x61\x73\x74\x65\x3A\x20\x66\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x67\x65\x74\x20\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x65\x78\x74\x20\x3D\x20\x74\x65\x78\x74\x2E\x74\x72\x69\x6D\x45\x6E\x64\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x2E\x64\x65\x6C\x65\x74\x65\x46\x72\x6F\x6D\x44\x6F\x63\x75\x6D\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x2E\x67\x65\x74\x52\x61\x6E\x67\x65\x41\x74\x28\x30\x29\x2E\x69\x6E\x73\x65\x72\x74\x4E\x6F\x64\x65\x28\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x54\x65\x78\x74\x4E\x6F\x64\x65\x28\x74\x65\x78\x74\x29\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x2E\x63\x6F\x6C\x6C\x61\x70\x73\x65\x54\x6F\x45\x6E\x64\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x6E\x64\x65\x72\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x28\x74\x68\x69\x73\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x6F\x6E\x6B\x65\x79\x64\x6F\x77\x6E\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x4B\x65\x79\x64\x6F\x77\x6E\x44\x6F\x63\x75\x6D\x65\x6E\x74\x28\x74\x68\x69\x73\x2C\x20\x65\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x6F\x6E\x6B\x65\x79\x75\x70\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x4B\x65\x79\x75\x70\x44\x6F\x63\x75\x6D\x65\x6E\x74\x28\x74\x68\x69\x73\x2C\x20\x65\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x5F\x43\x4F\x4E\x54\x45\x4E\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x69\x6E\x69\x74\x53\x74\x79\x6C\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x79\x6C\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x73\x74\x79\x6C\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6C\x65\x2E\x74\x79\x70\x65\x20\x3D\x20\x22\x74\x65\x78\x74\x2F\x63\x73\x73\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6C\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x60\x0A\x20\x20\x20\x20\x20\x20\x5B\x63\x6F\x6E\x74\x65\x6E\x74\x65\x64\x69\x74\x61\x62\x6C\x65\x5D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x75\x74\x6C\x69\x6E\x65\x3A\x20\x30\x70\x78\x20\x73\x6F\x6C\x69\x64\x20\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x2E\x24\x7B\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x7D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x2D\x63\x6F\x6C\x6F\x72\x3A\x20\x63\x6F\x72\x6E\x73\x69\x6C\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x72\x64\x65\x72\x3A\x20\x31\x70\x78\x20\x73\x6F\x6C\x69\x64\x20\x62\x72\x6F\x77\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x6E\x74\x2D\x66\x61\x6D\x69\x6C\x79\x3A\x20\x6D\x6F\x6E\x6F\x73\x70\x61\x63\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x69\x6E\x65\x2D\x68\x65\x69\x67\x68\x74\x3A\x20\x31\x2E\x36\x65\x6D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x76\x65\x72\x66\x6C\x6F\x77\x2D\x79\x3A\x20\x73\x63\x72\x6F\x6C\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\x68\x3A\x20\x31\x30\x30\x25\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x2E\x24\x7B\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x5F\x4C\x49\x4E\x45\x5F\x4E\x55\x4D\x42\x45\x52\x7D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x2D\x63\x6F\x6C\x6F\x72\x3A\x20\x62\x69\x73\x71\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x72\x64\x65\x72\x2D\x72\x69\x67\x68\x74\x3A\x20\x31\x70\x78\x20\x64\x61\x73\x68\x65\x64\x20\x62\x72\x6F\x77\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6C\x6F\x72\x3A\x20\x64\x69\x6D\x67\x72\x65\x79\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x73\x70\x6C\x61\x79\x3A\x20\x69\x6E\x6C\x69\x6E\x65\x2D\x62\x6C\x6F\x63\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x6E\x74\x2D\x66\x61\x6D\x69\x6C\x79\x3A\x20\x6D\x6F\x6E\x6F\x73\x70\x61\x63\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x61\x72\x67\x69\x6E\x2D\x72\x69\x67\x68\x74\x3A\x20\x38\x70\x78\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x64\x64\x69\x6E\x67\x3A\x20\x30\x70\x78\x20\x38\x70\x78\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3A\x20\x73\x74\x69\x63\x6B\x79\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x65\x78\x74\x2D\x61\x6C\x69\x67\x6E\x3A\x20\x72\x69\x67\x68\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\x68\x3A\x20\x33\x65\x6D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x2E\x24\x7B\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x5F\x43\x4F\x4E\x54\x45\x4E\x54\x7D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x73\x70\x6C\x61\x79\x3A\x20\x69\x6E\x6C\x69\x6E\x65\x2D\x62\x6C\x6F\x63\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x64\x64\x69\x6E\x67\x3A\x20\x30\x70\x78\x20\x38\x70\x78\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x76\x65\x72\x74\x69\x63\x61\x6C\x2D\x61\x6C\x69\x67\x6E\x3A\x20\x74\x6F\x70\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x68\x69\x74\x65\x2D\x73\x70\x61\x63\x65\x3A\x20\x70\x72\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\x68\x3A\x20\x63\x61\x6C\x63\x28\x31\x30\x30\x25\x20\x2D\x20\x31\x30\x65\x6D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x6F\x72\x64\x2D\x77\x72\x61\x70\x3A\x20\x6E\x6F\x72\x6D\x61\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x68\x65\x61\x64\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x73\x74\x79\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x4B\x65\x79\x64\x6F\x77\x6E\x44\x6F\x63\x75\x6D\x65\x6E\x74\x28\x65\x64\x2C\x20\x65\x76\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x73\x77\x69\x74\x63\x68\x20\x28\x65\x76\x2E\x6B\x65\x79\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x22\x43\x6F\x6E\x74\x72\x6F\x6C\x22\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x64\x2E\x69\x73\x4B\x65\x79\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x3D\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x22\x45\x6E\x74\x65\x72\x22\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x64\x2E\x69\x73\x4B\x65\x79\x43\x6F\x6E\x74\x72\x6F\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x73\x74\x6F\x70\x50\x72\x6F\x70\x61\x67\x61\x74\x69\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x64\x2E\x6F\x70\x74\x73\x2E\x6F\x6E\x53\x61\x76\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x65\x64\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x64\x2E\x6F\x70\x74\x73\x2E\x6F\x6E\x53\x61\x76\x65\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x64\x2E\x72\x65\x6E\x64\x65\x72\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x61\x64\x64\x4E\x65\x77\x4C\x69\x6E\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x4B\x65\x79\x75\x70\x44\x6F\x63\x75\x6D\x65\x6E\x74\x28\x65\x64\x2C\x20\x65\x76\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x73\x77\x69\x74\x63\x68\x20\x28\x65\x76\x2E\x6B\x65\x79\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x22\x43\x6F\x6E\x74\x72\x6F\x6C\x22\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x64\x2E\x69\x73\x4B\x65\x79\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x6E\x64\x65\x72\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6C\x69\x6E\x65\x73\x20\x3D\x20\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x73\x70\x6C\x69\x74\x28\x22\x5C\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x69\x6E\x65\x73\x2E\x66\x6F\x72\x45\x61\x63\x68\x28\x28\x6C\x69\x6E\x65\x2C\x20\x78\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x60\x24\x7B\x78\x20\x2B\x20\x31\x7D\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x64\x69\x76\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x76\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x6C\x69\x6E\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6C\x69\x6E\x65\x20\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x76\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x62\x72\x22\x29\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x64\x69\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x6F\x74\x61\x6C\x4C\x69\x6E\x65\x20\x3D\x20\x6C\x69\x6E\x65\x73\x2E\x6C\x65\x6E\x67\x74\x68\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x6E\x64\x65\x72\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6C\x69\x6E\x65\x73\x20\x3D\x20\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x73\x70\x6C\x69\x74\x28\x22\x5C\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x69\x6E\x65\x73\x2E\x66\x6F\x72\x45\x61\x63\x68\x28\x28\x5F\x2C\x20\x78\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x60\x24\x7B\x78\x20\x2B\x20\x31\x7D\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x6F\x74\x61\x6C\x4C\x69\x6E\x65\x20\x3D\x20\x6C\x69\x6E\x65\x73\x2E\x6C\x65\x6E\x67\x74\x68\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x7D\x3B\x0A\x0A\x20\x20\x2F\x2F\x20\x5F\x77\x75\x69\x2F\x77\x75\x69\x2F\x6E\x6F\x74\x69\x66\x2F\x6E\x6F\x74\x69\x66\x2E\x6A\x73\x0A\x20\x20\x76\x61\x72\x20\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x49\x44\x20\x3D\x20\x22\x77\x75\x69\x5F\x6E\x6F\x74\x69\x66\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x43\x4C\x41\x53\x53\x5F\x49\x4E\x46\x4F\x20\x3D\x20\x22\x77\x75\x69\x5F\x6E\x6F\x74\x69\x66\x5F\x69\x6E\x66\x6F\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x43\x4C\x41\x53\x53\x5F\x45\x52\x52\x4F\x52\x20\x3D\x20\x22\x77\x75\x69\x5F\x6E\x6F\x74\x69\x66\x5F\x65\x72\x72\x6F\x72\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x57\x75\x69\x4E\x6F\x74\x69\x66\x20\x3D\x20\x63\x6C\x61\x73\x73\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x69\x6D\x65\x6F\x75\x74\x20\x3D\x20\x35\x65\x33\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x69\x64\x20\x3D\x20\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x49\x44\x3B\x0A\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x62\x6F\x64\x79\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x6E\x69\x74\x53\x74\x79\x6C\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x69\x6E\x66\x6F\x20\x73\x68\x6F\x77\x20\x74\x68\x65\x20\x6D\x73\x67\x20\x61\x73\x20\x69\x6E\x66\x6F\x72\x6D\x61\x74\x69\x6F\x6E\x2E\x0A\x20\x20\x20\x20\x69\x6E\x66\x6F\x28\x6D\x73\x67\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x69\x74\x65\x6D\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x74\x65\x6D\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x6D\x73\x67\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x74\x65\x6D\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x43\x4C\x41\x53\x53\x5F\x49\x4E\x46\x4F\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x69\x74\x65\x6D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x73\x65\x74\x54\x69\x6D\x65\x6F\x75\x74\x28\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x72\x65\x6D\x6F\x76\x65\x43\x68\x69\x6C\x64\x28\x69\x74\x65\x6D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x2C\x20\x74\x68\x69\x73\x2E\x74\x69\x6D\x65\x6F\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x65\x72\x72\x6F\x72\x20\x73\x68\x6F\x77\x20\x74\x68\x65\x20\x6D\x73\x67\x20\x61\x73\x20\x61\x6E\x20\x65\x72\x72\x6F\x72\x2E\x0A\x20\x20\x20\x20\x65\x72\x72\x6F\x72\x28\x6D\x73\x67\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x69\x74\x65\x6D\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x74\x65\x6D\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x6D\x73\x67\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x74\x65\x6D\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x43\x4C\x41\x53\x53\x5F\x45\x52\x52\x4F\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x69\x74\x65\x6D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x73\x65\x74\x54\x69\x6D\x65\x6F\x75\x74\x28\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x72\x65\x6D\x6F\x76\x65\x43\x68\x69\x6C\x64\x28\x69\x74\x65\x6D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x2C\x20\x74\x68\x69\x73\x2E\x74\x69\x6D\x65\x6F\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x69\x6E\x69\x74\x53\x74\x79\x6C\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x79\x6C\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x73\x74\x79\x6C\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6C\x65\x2E\x74\x79\x70\x65\x20\x3D\x20\x22\x74\x65\x78\x74\x2F\x63\x73\x73\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6C\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x60\x0A\x09\x09\x09\x23\x24\x7B\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x49\x44\x7D\x20\x7B\x0A\x09\x09\x09\x09\x6C\x65\x66\x74\x3A\x20\x31\x30\x25\x3B\x0A\x09\x09\x09\x09\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3A\x20\x66\x69\x78\x65\x64\x3B\x0A\x09\x09\x09\x09\x74\x6F\x70\x3A\x20\x31\x65\x6D\x3B\x0A\x09\x09\x09\x09\x77\x69\x64\x74\x68\x3A\x20\x38\x30\x25\x3B\x0A\x09\x09\x09\x09\x7A\x2D\x69\x6E\x64\x65\x78\x3A\x20\x31\x30\x30\x30\x30\x3B\x0A\x09\x09\x09\x7D\x0A\x09\x09\x09\x2E\x24\x7B\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x43\x4C\x41\x53\x53\x5F\x49\x4E\x46\x4F\x7D\x20\x7B\x0A\x09\x09\x09\x09\x62\x6F\x72\x64\x65\x72\x3A\x20\x31\x70\x78\x20\x73\x6F\x6C\x69\x64\x20\x73\x69\x6C\x76\x65\x72\x3B\x0A\x09\x09\x09\x09\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x2D\x63\x6F\x6C\x6F\x72\x3A\x20\x68\x6F\x6E\x65\x79\x64\x65\x77\x3B\x0A\x09\x09\x09\x09\x6D\x61\x72\x67\x69\x6E\x2D\x62\x6F\x74\x74\x6F\x6D\x3A\x20\x31\x65\x6D\x3B\x0A\x09\x09\x09\x09\x70\x61\x64\x64\x69\x6E\x67\x3A\x20\x31\x65\x6D\x3B\x0A\x09\x09\x09\x7D\x0A\x09\x09\x09\x2E\x24\x7B\x57\x55\x49\x5F\x4E\x4F\x54\x49\x46\x5F\x43\x4C\x41\x53\x53\x5F\x45\x52\x52\x4F\x52\x7D\x20\x7B\x0A\x09\x09\x09\x09\x62\x6F\x72\x64\x65\x72\x3A\x20\x31\x70\x78\x20\x73\x6F\x6C\x69\x64\x20\x73\x61\x6C\x6D\x6F\x6E\x3B\x0A\x09\x09\x09\x09\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x2D\x63\x6F\x6C\x6F\x72\x3A\x20\x6C\x69\x67\x68\x74\x73\x61\x6C\x6D\x6F\x6E\x3B\x0A\x09\x09\x09\x09\x6D\x61\x72\x67\x69\x6E\x2D\x62\x6F\x74\x74\x6F\x6D\x3A\x20\x31\x65\x6D\x3B\x0A\x09\x09\x09\x09\x70\x61\x64\x64\x69\x6E\x67\x3A\x20\x31\x65\x6D\x3B\x0A\x09\x09\x09\x7D\x0A\x09\x09\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x68\x65\x61\x64\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x73\x74\x79\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x7D\x3B\x0A\x0A\x20\x20\x2F\x2F\x20\x5F\x77\x75\x69\x2F\x77\x75\x69\x2F\x76\x66\x73\x2F\x76\x66\x73\x2E\x6A\x73\x0A\x20\x20\x76\x61\x72\x20\x43\x4C\x41\x53\x53\x5F\x56\x46\x53\x5F\x50\x41\x54\x48\x20\x3D\x20\x22\x77\x75\x69\x5F\x76\x66\x73\x5F\x70\x61\x74\x68\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x43\x4C\x41\x53\x53\x5F\x56\x46\x53\x5F\x4C\x49\x53\x54\x20\x3D\x20\x22\x77\x75\x69\x5F\x76\x66\x73\x5F\x6C\x69\x73\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x57\x75\x69\x56\x66\x73\x20\x3D\x20\x63\x6C\x61\x73\x73\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x6F\x70\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x20\x3D\x20\x6F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x6F\x70\x74\x73\x2E\x69\x64\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x65\x72\x72\x6F\x72\x28\x22\x57\x75\x69\x56\x66\x73\x3A\x20\x65\x6C\x65\x6D\x65\x6E\x74\x20\x69\x64\x22\x2C\x20\x6F\x70\x74\x73\x2E\x69\x64\x2C\x20\x22\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x5F\x70\x61\x74\x68\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x56\x66\x73\x50\x61\x74\x68\x28\x28\x70\x61\x74\x68\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x44\x69\x72\x28\x70\x61\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x5F\x70\x61\x74\x68\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x5F\x6C\x69\x73\x74\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x56\x66\x73\x4C\x69\x73\x74\x28\x28\x6E\x6F\x64\x65\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x5F\x6C\x69\x73\x74\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x66\x69\x6C\x74\x65\x72\x20\x74\x68\x65\x20\x56\x46\x53\x20\x6C\x69\x73\x74\x20\x62\x61\x73\x65\x64\x20\x6F\x6E\x20\x74\x65\x78\x74\x20\x76\x61\x6C\x75\x65\x2E\x0A\x20\x20\x20\x20\x66\x69\x6C\x74\x65\x72\x28\x74\x65\x78\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x5F\x6C\x69\x73\x74\x2E\x66\x69\x6C\x74\x65\x72\x28\x74\x65\x78\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x20\x69\x73\x20\x61\x20\x68\x61\x6E\x64\x6C\x65\x72\x20\x74\x68\x61\x74\x20\x77\x69\x6C\x6C\x20\x62\x65\x20\x63\x61\x6C\x6C\x65\x64\x20\x77\x68\x65\x6E\x20\x61\x20\x6E\x6F\x64\x65\x20\x69\x73\x20\x63\x6C\x69\x63\x6B\x65\x64\x0A\x20\x20\x20\x20\x2F\x2F\x20\x69\x6E\x73\x69\x64\x65\x20\x74\x68\x65\x20\x57\x75\x69\x56\x66\x73\x4C\x69\x73\x74\x2E\x0A\x20\x20\x20\x20\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x28\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6E\x6F\x64\x65\x2E\x69\x73\x5F\x64\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x44\x69\x72\x28\x6E\x6F\x64\x65\x2E\x70\x61\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6F\x70\x65\x6E\x44\x69\x72\x20\x69\x73\x20\x61\x20\x68\x61\x6E\x64\x6C\x65\x72\x20\x74\x68\x61\x74\x20\x77\x69\x6C\x6C\x20\x62\x65\x20\x63\x61\x6C\x6C\x65\x64\x20\x77\x68\x65\x6E\x20\x61\x20\x70\x61\x74\x68\x20\x69\x73\x20\x63\x6C\x69\x63\x6B\x65\x64\x0A\x20\x20\x20\x20\x2F\x2F\x20\x69\x6E\x73\x69\x64\x65\x20\x74\x68\x65\x20\x57\x75\x69\x56\x66\x73\x50\x61\x74\x68\x2E\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x70\x65\x6E\x44\x69\x72\x28\x70\x61\x74\x68\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6F\x70\x65\x6E\x28\x70\x61\x74\x68\x2C\x20\x74\x72\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x73\x65\x74\x28\x72\x65\x73\x2E\x64\x61\x74\x61\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x73\x65\x74\x28\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6E\x6F\x64\x65\x2E\x69\x73\x5F\x64\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x5F\x70\x61\x74\x68\x2E\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x5F\x6C\x69\x73\x74\x2E\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x7D\x3B\x0A\x20\x20\x76\x61\x72\x20\x57\x75\x69\x56\x66\x73\x4C\x69\x73\x74\x20\x3D\x20\x63\x6C\x61\x73\x73\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x6F\x6E\x43\x6C\x69\x63\x6B\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x20\x3D\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x64\x65\x20\x3D\x20\x6E\x75\x6C\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x56\x46\x53\x5F\x4C\x49\x53\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x57\x69\x64\x74\x68\x20\x3D\x20\x22\x31\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x53\x74\x79\x6C\x65\x20\x3D\x20\x22\x73\x6F\x6C\x69\x64\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x73\x69\x6C\x76\x65\x72\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x66\x69\x6C\x74\x65\x72\x20\x72\x65\x2D\x72\x65\x6E\x64\x65\x72\x20\x74\x68\x65\x20\x6C\x69\x73\x74\x20\x62\x79\x20\x69\x6E\x63\x6C\x75\x64\x69\x6E\x67\x20\x6F\x6E\x6C\x79\x20\x74\x68\x65\x20\x6E\x6F\x64\x65\x20\x74\x68\x61\x74\x20\x68\x61\x76\x65\x20\x6E\x61\x6D\x65\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6D\x61\x74\x63\x68\x20\x77\x69\x74\x68\x20\x22\x74\x65\x78\x74\x22\x2E\x0A\x20\x20\x20\x20\x66\x69\x6C\x74\x65\x72\x28\x74\x65\x78\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x67\x65\x78\x70\x20\x3D\x20\x6E\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x74\x65\x78\x74\x2C\x20\x22\x69\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x65\x6C\x43\x68\x69\x6C\x64\x20\x6F\x66\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x63\x68\x69\x6C\x64\x72\x65\x6E\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x67\x65\x78\x70\x2E\x74\x65\x73\x74\x28\x65\x6C\x43\x68\x69\x6C\x64\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x43\x68\x69\x6C\x64\x2E\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x68\x69\x64\x64\x65\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x43\x68\x69\x6C\x64\x2E\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x68\x69\x64\x64\x65\x6E\x22\x2C\x20\x22\x74\x72\x75\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x64\x65\x20\x3D\x20\x6E\x6F\x64\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6E\x6F\x64\x65\x2E\x63\x68\x69\x6C\x64\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x63\x20\x6F\x66\x20\x74\x68\x69\x73\x2E\x6E\x6F\x64\x65\x2E\x63\x68\x69\x6C\x64\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x70\x61\x64\x64\x69\x6E\x67\x20\x3D\x20\x22\x31\x65\x6D\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x63\x75\x72\x73\x6F\x72\x20\x3D\x20\x22\x70\x6F\x69\x6E\x74\x65\x72\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x74\x61\x62\x69\x6E\x64\x65\x78\x22\x2C\x20\x22\x30\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x63\x2E\x6E\x61\x6D\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x63\x2E\x69\x73\x5F\x64\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x2B\x3D\x20\x22\x2F\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x63\x6F\x72\x6E\x73\x69\x6C\x6B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x28\x63\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x6F\x6E\x6B\x65\x79\x64\x6F\x77\x6E\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x76\x2E\x6B\x65\x79\x20\x21\x3D\x3D\x20\x22\x45\x6E\x74\x65\x72\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x28\x63\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x66\x6F\x63\x75\x73\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x6F\x6E\x62\x6C\x75\x72\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x42\x6C\x75\x72\x28\x63\x2C\x20\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x6F\x6E\x6D\x6F\x75\x73\x65\x6F\x75\x74\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x42\x6C\x75\x72\x28\x63\x2C\x20\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x6F\x6E\x66\x6F\x63\x75\x73\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x46\x6F\x63\x75\x73\x28\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x6F\x6E\x6D\x6F\x75\x73\x65\x6F\x76\x65\x72\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x46\x6F\x63\x75\x73\x28\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x42\x6C\x75\x72\x28\x63\x2C\x20\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x63\x2E\x69\x73\x5F\x64\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x63\x6F\x72\x6E\x73\x69\x6C\x6B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x77\x68\x69\x74\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x46\x6F\x63\x75\x73\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x61\x6C\x69\x63\x65\x62\x6C\x75\x65\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x7D\x3B\x0A\x20\x20\x76\x61\x72\x20\x57\x75\x69\x56\x66\x73\x50\x61\x74\x68\x20\x3D\x20\x63\x6C\x61\x73\x73\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x6F\x6E\x43\x6C\x69\x63\x6B\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x56\x46\x53\x5F\x50\x41\x54\x48\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x57\x69\x64\x74\x68\x20\x3D\x20\x22\x31\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x53\x74\x79\x6C\x65\x20\x3D\x20\x22\x73\x6F\x6C\x69\x64\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x73\x69\x6C\x76\x65\x72\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x6F\x76\x65\x72\x66\x6C\x6F\x77\x20\x3D\x20\x22\x61\x75\x74\x6F\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x70\x61\x64\x64\x69\x6E\x67\x20\x3D\x20\x22\x31\x30\x70\x78\x20\x31\x30\x70\x78\x20\x32\x30\x70\x78\x20\x30\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x77\x68\x69\x74\x65\x53\x70\x61\x63\x65\x20\x3D\x20\x22\x6E\x6F\x77\x72\x61\x70\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x20\x3D\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x70\x61\x74\x68\x73\x20\x3D\x20\x5B\x5D\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6E\x6F\x64\x65\x2E\x70\x61\x74\x68\x20\x3D\x3D\x20\x22\x2F\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x73\x2E\x70\x75\x73\x68\x28\x6E\x6F\x64\x65\x2E\x70\x61\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x73\x20\x3D\x20\x6E\x6F\x64\x65\x2E\x70\x61\x74\x68\x2E\x73\x70\x6C\x69\x74\x28\x22\x2F\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x73\x2E\x66\x6F\x72\x45\x61\x63\x68\x28\x28\x70\x61\x74\x68\x2C\x20\x78\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x66\x75\x6C\x6C\x50\x61\x74\x68\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x70\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x78\x20\x3D\x3D\x20\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x20\x3D\x20\x22\x2F\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x75\x6C\x6C\x50\x61\x74\x68\x20\x3D\x20\x22\x2F\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x20\x3D\x20\x70\x61\x74\x68\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x75\x6C\x6C\x50\x61\x74\x68\x20\x3D\x20\x70\x61\x74\x68\x73\x2E\x73\x6C\x69\x63\x65\x28\x30\x2C\x20\x78\x20\x2B\x20\x31\x29\x2E\x6A\x6F\x69\x6E\x28\x22\x2F\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x63\x72\x75\x6D\x62\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x73\x70\x61\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x73\x74\x79\x6C\x65\x2E\x70\x61\x64\x64\x69\x6E\x67\x20\x3D\x20\x22\x31\x65\x6D\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x73\x74\x79\x6C\x65\x2E\x63\x75\x72\x73\x6F\x72\x20\x3D\x20\x22\x70\x6F\x69\x6E\x74\x65\x72\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x74\x61\x62\x69\x6E\x64\x65\x78\x22\x2C\x20\x22\x30\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x70\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x28\x66\x75\x6C\x6C\x50\x61\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x6F\x6E\x6B\x65\x79\x64\x6F\x77\x6E\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x76\x2E\x6B\x65\x79\x20\x21\x3D\x3D\x20\x22\x45\x6E\x74\x65\x72\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x28\x66\x75\x6C\x6C\x50\x61\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x66\x6F\x63\x75\x73\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x6F\x6E\x6D\x6F\x75\x73\x65\x6F\x75\x74\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x42\x6C\x75\x72\x28\x63\x72\x75\x6D\x62\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x6F\x6E\x62\x6C\x75\x72\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x42\x6C\x75\x72\x28\x63\x72\x75\x6D\x62\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x6F\x6E\x6D\x6F\x75\x73\x65\x6F\x76\x65\x72\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x46\x6F\x63\x75\x73\x28\x63\x72\x75\x6D\x62\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x6F\x6E\x66\x6F\x63\x75\x73\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x46\x6F\x63\x75\x73\x28\x63\x72\x75\x6D\x62\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x63\x72\x75\x6D\x62\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x42\x6C\x75\x72\x28\x63\x72\x75\x6D\x62\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x77\x68\x69\x74\x65\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x46\x6F\x63\x75\x73\x28\x63\x72\x75\x6D\x62\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x61\x6C\x69\x63\x65\x62\x6C\x75\x65\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x7D\x3B\x0A\x0A\x20\x20\x2F\x2F\x20\x5F\x77\x75\x69\x2F\x61\x77\x77\x61\x6E\x2E\x74\x73\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x41\x57\x57\x41\x4E\x5F\x4E\x41\x56\x5F\x4C\x45\x46\x54\x20\x3D\x20\x22\x61\x77\x77\x61\x6E\x5F\x6E\x61\x76\x5F\x6C\x65\x66\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x56\x46\x53\x5F\x49\x4E\x50\x55\x54\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x76\x66\x73\x5F\x69\x6E\x70\x75\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x4E\x45\x57\x5F\x44\x49\x52\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x6E\x65\x77\x5F\x64\x69\x72\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x4E\x45\x57\x5F\x46\x49\x4C\x45\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x6E\x65\x77\x5F\x66\x69\x6C\x65\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x52\x45\x4D\x4F\x56\x45\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x72\x65\x6D\x6F\x76\x65\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x56\x46\x53\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x76\x66\x73\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x56\x46\x53\x5F\x50\x41\x54\x48\x20\x3D\x20\x22\x76\x66\x73\x5F\x70\x61\x74\x68\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x43\x4F\x4D\x5F\x52\x45\x53\x49\x5A\x45\x5F\x56\x46\x53\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x72\x65\x73\x69\x7A\x65\x5F\x76\x66\x73\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x41\x57\x57\x41\x4E\x5F\x4E\x41\x56\x5F\x52\x49\x47\x48\x54\x20\x3D\x20\x22\x61\x77\x77\x61\x6E\x5F\x6E\x61\x76\x5F\x72\x69\x67\x68\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x53\x41\x56\x45\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x73\x61\x76\x65\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x44\x45\x43\x52\x59\x50\x54\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x64\x65\x63\x72\x79\x70\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x45\x4E\x43\x52\x59\x50\x54\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x65\x6E\x63\x72\x79\x70\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x45\x44\x49\x54\x4F\x52\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x65\x64\x69\x74\x6F\x72\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x43\x4C\x41\x53\x53\x5F\x41\x57\x57\x41\x4E\x5F\x45\x58\x45\x43\x55\x54\x45\x20\x3D\x20\x22\x61\x77\x77\x61\x6E\x5F\x65\x78\x65\x63\x75\x74\x65\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x49\x4E\x50\x5F\x4C\x49\x4E\x45\x5F\x52\x41\x4E\x47\x45\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x69\x6E\x70\x5F\x6C\x69\x6E\x65\x5F\x72\x61\x6E\x67\x65\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x45\x58\x45\x43\x5F\x4C\x4F\x43\x41\x4C\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x6C\x6F\x63\x61\x6C\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x45\x58\x45\x43\x5F\x52\x45\x4D\x4F\x54\x45\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x72\x65\x6D\x6F\x74\x65\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x43\x4F\x4D\x5F\x52\x45\x53\x49\x5A\x45\x5F\x45\x44\x49\x54\x4F\x52\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x72\x65\x73\x69\x7A\x65\x5F\x65\x64\x69\x74\x6F\x72\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x4F\x55\x54\x50\x55\x54\x5F\x57\x52\x41\x50\x50\x45\x52\x20\x3D\x20\x22\x6F\x75\x74\x70\x75\x74\x5F\x77\x72\x61\x70\x70\x65\x72\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x4F\x55\x54\x50\x55\x54\x20\x3D\x20\x22\x6F\x75\x74\x70\x75\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x4D\x41\x58\x5F\x46\x49\x4C\x45\x5F\x53\x49\x5A\x45\x20\x3D\x20\x31\x65\x36\x3B\x0A\x20\x20\x76\x61\x72\x20\x53\x54\x4F\x52\x41\x47\x45\x5F\x4B\x45\x59\x5F\x56\x46\x53\x5F\x57\x49\x44\x54\x48\x20\x3D\x20\x22\x76\x66\x73\x5F\x77\x69\x64\x74\x68\x22\x3B\x0A\x20\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x72\x65\x6E\x64\x65\x72\x48\x74\x6D\x6C\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x22\x61\x77\x77\x61\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x60\x0A\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x41\x57\x57\x41\x4E\x5F\x4E\x41\x56\x5F\x4C\x45\x46\x54\x7D\x22\x20\x63\x6C\x61\x73\x73\x3D\x22\x61\x77\x77\x61\x6E\x5F\x6E\x61\x76\x5F\x6C\x65\x66\x74\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x61\x77\x77\x61\x6E\x5F\x76\x66\x73\x5F\x66\x6F\x72\x6D\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x49\x44\x5F\x56\x46\x53\x5F\x49\x4E\x50\x55\x54\x7D\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x69\x6E\x70\x75\x74\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x56\x46\x53\x5F\x49\x4E\x50\x55\x54\x7D\x22\x20\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72\x3D\x22\x49\x6E\x70\x75\x74\x20\x74\x65\x78\x74\x20\x74\x6F\x20\x66\x69\x6C\x74\x65\x72\x20\x28\x61\x6C\x6C\x6F\x77\x20\x72\x65\x67\x65\x78\x70\x29\x22\x20\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x4E\x45\x57\x5F\x44\x49\x52\x7D\x22\x3E\x4E\x65\x77\x20\x64\x69\x72\x2E\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x4E\x45\x57\x5F\x46\x49\x4C\x45\x7D\x22\x3E\x4E\x65\x77\x20\x66\x69\x6C\x65\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x52\x45\x4D\x4F\x56\x45\x7D\x22\x3E\x52\x65\x6D\x6F\x76\x65\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x56\x46\x53\x7D\x22\x3E\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x43\x4F\x4D\x5F\x52\x45\x53\x49\x5A\x45\x5F\x56\x46\x53\x7D\x22\x3E\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x41\x57\x57\x41\x4E\x5F\x4E\x41\x56\x5F\x52\x49\x47\x48\x54\x7D\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x61\x77\x77\x61\x6E\x5F\x66\x69\x6C\x65\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x73\x70\x61\x6E\x20\x63\x6C\x61\x73\x73\x3D\x22\x74\x61\x67\x22\x3E\x46\x69\x6C\x65\x3C\x2F\x73\x70\x61\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x73\x70\x61\x6E\x20\x63\x6C\x61\x73\x73\x3D\x22\x61\x77\x77\x61\x6E\x5F\x66\x69\x6C\x65\x5F\x61\x63\x74\x69\x6F\x6E\x73\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x73\x70\x61\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x56\x46\x53\x5F\x50\x41\x54\x48\x7D\x22\x3E\x2D\x3C\x2F\x73\x70\x61\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x53\x41\x56\x45\x7D\x22\x20\x64\x69\x73\x61\x62\x6C\x65\x64\x3D\x22\x74\x72\x75\x65\x22\x3E\x53\x61\x76\x65\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x45\x4E\x43\x52\x59\x50\x54\x7D\x22\x20\x64\x69\x73\x61\x62\x6C\x65\x64\x3D\x22\x74\x72\x75\x65\x22\x3E\x45\x6E\x63\x72\x79\x70\x74\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x44\x45\x43\x52\x59\x50\x54\x7D\x22\x20\x64\x69\x73\x61\x62\x6C\x65\x64\x3D\x22\x74\x72\x75\x65\x22\x3E\x44\x65\x63\x72\x79\x70\x74\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x73\x70\x61\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x45\x44\x49\x54\x4F\x52\x7D\x22\x3E\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x43\x4F\x4D\x5F\x52\x45\x53\x49\x5A\x45\x5F\x45\x44\x49\x54\x4F\x52\x7D\x22\x3E\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x4F\x55\x54\x50\x55\x54\x5F\x57\x52\x41\x50\x50\x45\x52\x7D\x22\x20\x63\x6C\x61\x73\x73\x3D\x22\x6F\x75\x74\x70\x75\x74\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x43\x4C\x41\x53\x53\x5F\x41\x57\x57\x41\x4E\x5F\x45\x58\x45\x43\x55\x54\x45\x7D\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x73\x70\x61\x6E\x20\x69\x64\x3D\x22\x65\x78\x65\x63\x5F\x69\x63\x6F\x6E\x22\x3E\x26\x23\x39\x38\x39\x38\x3B\x3C\x2F\x73\x70\x61\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x45\x78\x65\x63\x75\x74\x65\x20\x6C\x69\x6E\x65\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x69\x6E\x70\x75\x74\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x49\x4E\x50\x5F\x4C\x49\x4E\x45\x5F\x52\x41\x4E\x47\x45\x7D\x22\x20\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72\x3D\x22\x45\x78\x3A\x20\x31\x2C\x32\x2D\x34\x2C\x35\x2D\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x45\x58\x45\x43\x5F\x4C\x4F\x43\x41\x4C\x7D\x22\x20\x64\x69\x73\x61\x62\x6C\x65\x64\x3D\x22\x74\x72\x75\x65\x22\x3E\x4C\x6F\x63\x61\x6C\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x72\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x45\x58\x45\x43\x5F\x52\x45\x4D\x4F\x54\x45\x7D\x22\x20\x64\x69\x73\x61\x62\x6C\x65\x64\x3D\x22\x74\x72\x75\x65\x22\x3E\x50\x6C\x61\x79\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x26\x6E\x62\x73\x70\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x61\x20\x68\x72\x65\x66\x3D\x22\x2F\x64\x6F\x63\x2F\x61\x77\x77\x61\x6E\x2E\x68\x74\x6D\x6C\x23\x63\x6F\x6D\x6D\x61\x6E\x64\x5F\x5F\x6C\x6F\x63\x61\x6C\x5F\x5F\x61\x6E\x64\x5F\x5F\x70\x6C\x61\x79\x5F\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x5F\x62\x6C\x61\x6E\x6B\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x26\x23\x78\x32\x31\x33\x39\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x61\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x4F\x55\x54\x50\x55\x54\x7D\x22\x3E\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x60\x3B\x0A\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x62\x6F\x64\x79\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x29\x3B\x0A\x20\x20\x7D\x0A\x20\x20\x76\x61\x72\x20\x41\x77\x77\x61\x6E\x20\x3D\x20\x63\x6C\x61\x73\x73\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x20\x3D\x20\x6E\x75\x6C\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x6F\x64\x65\x3A\x20\x22\x6C\x6F\x63\x61\x6C\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x63\x72\x69\x70\x74\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x69\x6E\x65\x5F\x72\x61\x6E\x67\x65\x3A\x20\x22\x22\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x72\x67\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x78\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x6E\x64\x65\x72\x48\x74\x6D\x6C\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x41\x57\x57\x41\x4E\x5F\x4E\x41\x56\x5F\x4C\x45\x46\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x4C\x65\x66\x74\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x41\x57\x57\x41\x4E\x5F\x4E\x41\x56\x5F\x52\x49\x47\x48\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x52\x69\x67\x68\x74\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x43\x4F\x4D\x5F\x52\x45\x53\x49\x5A\x45\x5F\x56\x46\x53\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x56\x66\x73\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x74\x68\x69\x73\x2E\x64\x6F\x52\x65\x73\x69\x7A\x65\x56\x66\x73\x28\x65\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x64\x6F\x77\x6E\x22\x2C\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x78\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65\x22\x2C\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x56\x66\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x75\x70\x22\x2C\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x72\x65\x6D\x6F\x76\x65\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65\x22\x2C\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x56\x66\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x78\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x22\x65\x78\x65\x63\x5F\x69\x63\x6F\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x45\x78\x65\x63\x49\x63\x6F\x6E\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x45\x58\x45\x43\x5F\x4C\x4F\x43\x41\x4C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4C\x6F\x63\x61\x6C\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4C\x6F\x63\x61\x6C\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x78\x65\x63\x4C\x6F\x63\x61\x6C\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x45\x58\x45\x43\x5F\x52\x45\x4D\x4F\x54\x45\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x50\x6C\x61\x79\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x50\x6C\x61\x79\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x78\x65\x63\x50\x6C\x61\x79\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x4E\x45\x57\x5F\x44\x49\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4E\x65\x77\x44\x69\x72\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4E\x65\x77\x44\x69\x72\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x65\x77\x4E\x6F\x64\x65\x28\x74\x72\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x4E\x45\x57\x5F\x46\x49\x4C\x45\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4E\x65\x77\x46\x69\x6C\x65\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4E\x65\x77\x46\x69\x6C\x65\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x65\x77\x4E\x6F\x64\x65\x28\x66\x61\x6C\x73\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x52\x45\x4D\x4F\x56\x45\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x52\x65\x6D\x6F\x76\x65\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x52\x65\x6D\x6F\x76\x65\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x52\x65\x6D\x6F\x76\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x53\x41\x56\x45\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x53\x61\x76\x65\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x53\x61\x76\x65\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x53\x61\x76\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x45\x4E\x43\x52\x59\x50\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x45\x6E\x63\x72\x79\x70\x74\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x45\x6E\x63\x72\x79\x70\x74\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x45\x6E\x63\x72\x79\x70\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x44\x45\x43\x52\x59\x50\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x44\x65\x63\x72\x79\x70\x74\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x44\x65\x63\x72\x79\x70\x74\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x44\x65\x63\x72\x79\x70\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x49\x4E\x50\x5F\x4C\x49\x4E\x45\x5F\x52\x41\x4E\x47\x45\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x65\x72\x72\x6F\x72\x28\x60\x66\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x67\x65\x74\x20\x65\x6C\x65\x6D\x65\x6E\x74\x20\x62\x79\x20\x49\x44\x20\x23\x24\x7B\x49\x44\x5F\x49\x4E\x50\x5F\x4C\x49\x4E\x45\x5F\x52\x41\x4E\x47\x45\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x49\x6E\x70\x75\x74\x4C\x69\x6E\x65\x52\x61\x6E\x67\x65\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x56\x46\x53\x5F\x49\x4E\x50\x55\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x56\x66\x73\x49\x6E\x70\x75\x74\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x56\x66\x73\x49\x6E\x70\x75\x74\x2E\x6F\x6E\x69\x6E\x70\x75\x74\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x56\x66\x73\x49\x6E\x70\x75\x74\x46\x69\x6C\x74\x65\x72\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x56\x66\x73\x49\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x56\x46\x53\x5F\x50\x41\x54\x48\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x46\x69\x6C\x65\x50\x61\x74\x68\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x4F\x55\x54\x50\x55\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x4F\x55\x54\x50\x55\x54\x5F\x57\x52\x41\x50\x50\x45\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x57\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x64\x69\x74\x6F\x72\x4F\x70\x74\x73\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3A\x20\x49\x44\x5F\x45\x44\x49\x54\x4F\x52\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x45\x64\x69\x74\x61\x62\x6C\x65\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x53\x61\x76\x65\x3A\x20\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x4F\x6E\x53\x61\x76\x65\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x45\x64\x69\x74\x6F\x72\x28\x65\x64\x69\x74\x6F\x72\x4F\x70\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x45\x44\x49\x54\x4F\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x64\x69\x74\x6F\x72\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x4E\x6F\x74\x69\x66\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x66\x73\x4F\x70\x74\x73\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3A\x20\x49\x44\x5F\x56\x46\x53\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x70\x65\x6E\x3A\x20\x28\x70\x61\x74\x68\x2C\x20\x69\x73\x44\x69\x72\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x28\x70\x61\x74\x68\x2C\x20\x69\x73\x44\x69\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x3A\x20\x28\x6E\x6F\x64\x65\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x66\x73\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x56\x66\x73\x28\x76\x66\x73\x4F\x70\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6F\x6E\x68\x61\x73\x68\x63\x68\x61\x6E\x67\x65\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x61\x73\x68\x63\x68\x61\x6E\x67\x65\x20\x3D\x20\x65\x76\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x75\x72\x6C\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x28\x68\x61\x73\x68\x63\x68\x61\x6E\x67\x65\x2E\x6E\x65\x77\x55\x52\x4C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x48\x61\x73\x68\x43\x68\x61\x6E\x67\x65\x28\x75\x72\x6C\x2E\x68\x61\x73\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x43\x4F\x4D\x5F\x52\x45\x53\x49\x5A\x45\x5F\x45\x44\x49\x54\x4F\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x74\x68\x69\x73\x2E\x64\x6F\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x28\x65\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x64\x6F\x77\x6E\x22\x2C\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65\x22\x2C\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x75\x70\x22\x2C\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x72\x65\x6D\x6F\x76\x65\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65\x22\x2C\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x66\x73\x57\x69\x64\x74\x68\x20\x3D\x20\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x53\x54\x4F\x52\x41\x47\x45\x5F\x4B\x45\x59\x5F\x56\x46\x53\x5F\x57\x49\x44\x54\x48\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x76\x66\x73\x57\x69\x64\x74\x68\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x73\x65\x74\x56\x66\x73\x57\x69\x64\x74\x68\x28\x70\x61\x72\x73\x65\x49\x6E\x74\x28\x76\x66\x73\x57\x69\x64\x74\x68\x2C\x20\x31\x30\x29\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x48\x61\x73\x68\x43\x68\x61\x6E\x67\x65\x28\x68\x61\x73\x68\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x68\x61\x73\x68\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x61\x73\x68\x20\x3D\x20\x22\x23\x2F\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x68\x61\x73\x68\x20\x3D\x20\x68\x61\x73\x68\x2E\x73\x75\x62\x73\x74\x72\x69\x6E\x67\x28\x31\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x66\x73\x2E\x6F\x70\x65\x6E\x44\x69\x72\x28\x68\x61\x73\x68\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x63\x6F\x6E\x66\x69\x72\x6D\x57\x68\x65\x6E\x44\x69\x72\x74\x79\x20\x63\x68\x65\x63\x6B\x20\x69\x66\x20\x74\x68\x65\x20\x65\x64\x69\x74\x6F\x72\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x68\x61\x73\x20\x63\x68\x61\x6E\x67\x65\x73\x20\x62\x65\x66\x6F\x72\x65\x20\x6F\x70\x65\x6E\x69\x6E\x67\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6E\x65\x77\x20\x66\x69\x6C\x65\x2E\x0A\x20\x20\x20\x20\x2F\x2F\x20\x49\x66\x20\x79\x65\x73\x2C\x20\x64\x69\x73\x70\x6C\x61\x79\x20\x64\x69\x61\x6C\x6F\x67\x20\x62\x6F\x78\x20\x74\x6F\x20\x63\x6F\x6E\x66\x69\x72\x6D\x20\x77\x68\x65\x74\x68\x65\x72\x20\x63\x6F\x6E\x74\x69\x6E\x75\x69\x6E\x67\x20\x6F\x70\x65\x6E\x69\x6E\x67\x20\x66\x69\x6C\x65\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6F\x72\x20\x63\x61\x6E\x63\x65\x6C\x20\x69\x74\x2E\x0A\x20\x20\x20\x20\x2F\x2F\x20\x49\x74\x20\x77\x69\x6C\x6C\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x20\x74\x6F\x20\x63\x6F\x6E\x74\x69\x6E\x75\x65\x20\x6F\x70\x65\x6E\x69\x6E\x67\x20\x66\x69\x6C\x65\x20\x6F\x72\x20\x66\x61\x6C\x73\x65\x20\x69\x66\x20\x75\x73\x65\x72\x20\x77\x61\x6E\x74\x73\x20\x74\x6F\x0A\x20\x20\x20\x20\x2F\x2F\x20\x63\x61\x6E\x63\x65\x6C\x20\x69\x74\x2E\x0A\x20\x20\x20\x20\x63\x6F\x6E\x66\x69\x72\x6D\x57\x68\x65\x6E\x44\x69\x72\x74\x79\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6E\x65\x77\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x72\x67\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x3D\x20\x6E\x65\x77\x43\x6F\x6E\x74\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x77\x69\x6E\x64\x6F\x77\x2E\x63\x6F\x6E\x66\x69\x72\x6D\x28\x22\x46\x69\x6C\x65\x20\x68\x61\x73\x20\x63\x68\x61\x6E\x67\x65\x73\x2C\x20\x63\x6F\x6E\x74\x69\x6E\x75\x65\x20\x77\x69\x74\x68\x6F\x75\x74\x20\x73\x61\x76\x65\x3F\x22\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6F\x70\x65\x6E\x20\x66\x65\x74\x63\x68\x20\x74\x68\x65\x20\x6E\x6F\x64\x65\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x66\x72\x6F\x6D\x20\x72\x65\x6D\x6F\x74\x65\x20\x73\x65\x72\x76\x65\x72\x2E\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x70\x65\x6E\x28\x70\x61\x74\x68\x2C\x20\x69\x73\x44\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x22\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x66\x73\x3F\x70\x61\x74\x68\x3D\x22\x20\x2B\x20\x70\x61\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x60\x46\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x6F\x70\x65\x6E\x20\x24\x7B\x70\x61\x74\x68\x7D\x3A\x20\x24\x7B\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6E\x6F\x64\x65\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x69\x73\x44\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x20\x3D\x20\x6E\x6F\x64\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x74\x69\x6F\x6E\x2E\x68\x61\x73\x68\x20\x3D\x20\x22\x23\x22\x20\x2B\x20\x70\x61\x74\x68\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x56\x66\x73\x49\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x41\x6C\x6C\x6F\x77\x20\x3D\x20\x74\x68\x69\x73\x2E\x69\x73\x45\x64\x69\x74\x41\x6C\x6C\x6F\x77\x65\x64\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x41\x6C\x6C\x6F\x77\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x72\x65\x73\x41\x6C\x6C\x6F\x77\x2E\x6D\x65\x73\x73\x61\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x41\x6C\x6C\x6F\x77\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x46\x69\x6C\x65\x50\x61\x74\x68\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x70\x61\x74\x68\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x20\x3D\x20\x70\x61\x74\x68\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x72\x67\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4C\x6F\x63\x61\x6C\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x50\x6C\x61\x79\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x53\x61\x76\x65\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x70\x61\x74\x68\x2E\x65\x6E\x64\x73\x57\x69\x74\x68\x28\x22\x2E\x76\x61\x75\x6C\x74\x22\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x44\x65\x63\x72\x79\x70\x74\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x45\x6E\x63\x72\x79\x70\x74\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x73\x65\x74\x45\x64\x69\x74\x61\x62\x6C\x65\x28\x66\x61\x6C\x73\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x44\x65\x63\x72\x79\x70\x74\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x45\x6E\x63\x72\x79\x70\x74\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x73\x65\x74\x45\x64\x69\x74\x61\x62\x6C\x65\x28\x74\x72\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x20\x69\x73\x20\x61\x6E\x20\x68\x61\x6E\x64\x6C\x65\x72\x20\x74\x68\x61\x74\x20\x77\x69\x6C\x6C\x20\x63\x61\x6C\x6C\x65\x64\x20\x77\x68\x65\x6E\x20\x75\x73\x65\x72\x20\x63\x6C\x69\x63\x6B\x20\x6F\x6E\x20\x6F\x66\x20\x74\x68\x65\x0A\x20\x20\x20\x20\x2F\x2F\x20\x69\x74\x65\x6D\x20\x69\x6E\x20\x74\x68\x65\x20\x6C\x69\x73\x74\x2E\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x28\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x74\x68\x69\x73\x2E\x69\x73\x45\x64\x69\x74\x41\x6C\x6C\x6F\x77\x65\x64\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x6E\x6F\x64\x65\x2E\x69\x73\x5F\x64\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6F\x6B\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6E\x66\x69\x72\x6D\x57\x68\x65\x6E\x44\x69\x72\x74\x79\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x6F\x6B\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x2E\x70\x61\x74\x68\x2C\x20\x6E\x6F\x64\x65\x2E\x69\x73\x5F\x64\x69\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x69\x73\x45\x64\x69\x74\x41\x6C\x6C\x6F\x77\x65\x64\x28\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x64\x65\x3A\x20\x34\x31\x32\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x73\x73\x61\x67\x65\x3A\x20\x22\x22\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6E\x6F\x64\x65\x2E\x73\x69\x7A\x65\x20\x26\x26\x20\x6E\x6F\x64\x65\x2E\x73\x69\x7A\x65\x20\x3E\x20\x4D\x41\x58\x5F\x46\x49\x4C\x45\x5F\x53\x49\x5A\x45\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x20\x3D\x20\x60\x54\x68\x65\x20\x66\x69\x6C\x65\x20\x22\x24\x7B\x6E\x6F\x64\x65\x2E\x6E\x61\x6D\x65\x7D\x22\x20\x77\x69\x74\x68\x20\x73\x69\x7A\x65\x20\x24\x7B\x6E\x6F\x64\x65\x2E\x73\x69\x7A\x65\x20\x2F\x20\x31\x30\x32\x34\x7D\x4B\x42\x20\x69\x73\x20\x67\x72\x65\x61\x74\x65\x72\x20\x74\x68\x61\x6E\x20\x6D\x61\x78\x69\x6D\x75\x6D\x20\x24\x7B\x4D\x41\x58\x5F\x46\x49\x4C\x45\x5F\x53\x49\x5A\x45\x20\x2F\x20\x31\x65\x33\x7D\x4B\x42\x2E\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x3D\x20\x32\x30\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x45\x6E\x63\x72\x79\x70\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x20\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x22\x4E\x6F\x20\x66\x69\x6C\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6F\x6B\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6E\x66\x69\x72\x6D\x57\x68\x65\x6E\x44\x69\x72\x74\x79\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x6F\x6B\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x70\x61\x74\x68\x20\x3D\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x71\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x5F\x76\x61\x75\x6C\x74\x3A\x20\x22\x22\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x22\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x65\x6E\x63\x72\x79\x70\x74\x22\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x63\x63\x65\x70\x74\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x65\x71\x29\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6A\x73\x6F\x6E\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x60\x46\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x65\x6E\x63\x72\x79\x70\x74\x20\x66\x69\x6C\x65\x20\x24\x7B\x70\x61\x74\x68\x7D\x3A\x20\x24\x7B\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6E\x63\x52\x65\x73\x20\x3D\x20\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x69\x6E\x66\x6F\x28\x60\x46\x69\x6C\x65\x20\x24\x7B\x70\x61\x74\x68\x7D\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x65\x6E\x63\x72\x79\x70\x74\x65\x64\x20\x74\x6F\x20\x24\x7B\x65\x6E\x63\x52\x65\x73\x2E\x70\x61\x74\x68\x5F\x76\x61\x75\x6C\x74\x7D\x2E\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x28\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x70\x61\x74\x68\x2C\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x69\x73\x5F\x64\x69\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x44\x65\x63\x72\x79\x70\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x20\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x22\x4E\x6F\x20\x66\x69\x6C\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x70\x61\x74\x68\x56\x61\x75\x6C\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x71\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x5F\x76\x61\x75\x6C\x74\x3A\x20\x70\x61\x74\x68\x56\x61\x75\x6C\x74\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x22\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x64\x65\x63\x72\x79\x70\x74\x22\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x63\x63\x65\x70\x74\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x65\x71\x29\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6A\x73\x6F\x6E\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x60\x46\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x64\x65\x63\x72\x79\x70\x74\x20\x66\x69\x6C\x65\x20\x24\x7B\x70\x61\x74\x68\x56\x61\x75\x6C\x74\x7D\x3A\x20\x24\x7B\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6E\x63\x52\x65\x73\x20\x3D\x20\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x69\x6E\x66\x6F\x28\x60\x46\x69\x6C\x65\x20\x24\x7B\x70\x61\x74\x68\x56\x61\x75\x6C\x74\x7D\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x64\x65\x63\x72\x79\x70\x74\x65\x64\x20\x74\x6F\x20\x24\x7B\x65\x6E\x63\x52\x65\x73\x2E\x70\x61\x74\x68\x7D\x2E\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x28\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x70\x61\x74\x68\x2C\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x69\x73\x5F\x64\x69\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x53\x61\x76\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x20\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6C\x20\x3D\x20\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x6C\x65\x6E\x67\x74\x68\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6C\x20\x3E\x20\x30\x20\x26\x26\x20\x63\x6F\x6E\x74\x65\x6E\x74\x5B\x6C\x20\x2D\x20\x31\x5D\x20\x21\x3D\x20\x22\x5C\x6E\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x2B\x3D\x20\x22\x5C\x6E\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x63\x6F\x6E\x74\x65\x6E\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x64\x6F\x53\x61\x76\x65\x46\x69\x6C\x65\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x2C\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x65\x64\x69\x74\x6F\x72\x4F\x6E\x53\x61\x76\x65\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x64\x6F\x53\x61\x76\x65\x46\x69\x6C\x65\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x2C\x20\x63\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x64\x6F\x53\x61\x76\x65\x46\x69\x6C\x65\x28\x70\x61\x74\x68\x2C\x20\x63\x6F\x6E\x74\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x71\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x3A\x20\x62\x74\x6F\x61\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x22\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x66\x73\x22\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x55\x54\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x63\x63\x65\x70\x74\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x65\x71\x29\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x60\x46\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x73\x61\x76\x65\x20\x66\x69\x6C\x65\x20\x24\x7B\x70\x61\x74\x68\x7D\x3A\x20\x24\x7B\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x6E\x75\x6C\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x69\x6E\x66\x6F\x28\x60\x46\x69\x6C\x65\x20\x24\x7B\x70\x61\x74\x68\x7D\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x73\x61\x76\x65\x64\x2E\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6E\x6F\x64\x65\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x72\x67\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x65\x78\x65\x63\x4C\x6F\x63\x61\x6C\x20\x72\x65\x71\x75\x65\x73\x74\x20\x74\x6F\x20\x65\x78\x65\x63\x75\x74\x65\x20\x74\x68\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x20\x73\x63\x72\x69\x70\x74\x20\x6F\x6E\x20\x6C\x6F\x63\x61\x6C\x20\x73\x79\x73\x74\x65\x6D\x2E\x0A\x20\x20\x20\x20\x65\x78\x65\x63\x4C\x6F\x63\x61\x6C\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x20\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x60\x45\x78\x65\x63\x75\x74\x65\x20\x6F\x6E\x20\x6C\x6F\x63\x61\x6C\x3A\x20\x6E\x6F\x20\x66\x69\x6C\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x49\x6E\x70\x75\x74\x4C\x69\x6E\x65\x52\x61\x6E\x67\x65\x2E\x76\x61\x6C\x75\x65\x2E\x74\x72\x69\x6D\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x60\x45\x6D\x70\x74\x79\x20\x6C\x69\x6E\x65\x20\x72\x61\x6E\x67\x65\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x68\x74\x74\x70\x41\x70\x69\x45\x78\x65\x63\x75\x74\x65\x28\x22\x6C\x6F\x63\x61\x6C\x22\x2C\x20\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x65\x78\x65\x63\x50\x6C\x61\x79\x20\x72\x65\x71\x75\x65\x73\x74\x20\x74\x6F\x20\x65\x78\x65\x63\x75\x74\x65\x20\x74\x68\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x20\x73\x63\x72\x69\x70\x74\x20\x6F\x6E\x20\x72\x65\x6D\x6F\x74\x65\x20\x73\x79\x73\x74\x65\x6D\x2E\x0A\x20\x20\x20\x20\x65\x78\x65\x63\x50\x6C\x61\x79\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x20\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x60\x45\x78\x65\x63\x75\x74\x65\x20\x6F\x6E\x20\x72\x65\x6D\x6F\x74\x65\x3A\x20\x6E\x6F\x20\x66\x69\x6C\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x49\x6E\x70\x75\x74\x4C\x69\x6E\x65\x52\x61\x6E\x67\x65\x2E\x76\x61\x6C\x75\x65\x2E\x74\x72\x69\x6D\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x60\x45\x6D\x70\x74\x79\x20\x6C\x69\x6E\x65\x20\x72\x61\x6E\x67\x65\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x68\x74\x74\x70\x41\x70\x69\x45\x78\x65\x63\x75\x74\x65\x28\x22\x72\x65\x6D\x6F\x74\x65\x22\x2C\x20\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x68\x74\x74\x70\x41\x70\x69\x45\x78\x65\x63\x75\x74\x65\x28\x6D\x6F\x64\x65\x2C\x20\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x70\x72\x65\x45\x78\x65\x63\x75\x74\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x2B\x3D\x20\x22\x5C\x6E\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x6D\x6F\x64\x65\x20\x3D\x20\x6D\x6F\x64\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x62\x74\x6F\x61\x28\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x6C\x69\x6E\x65\x5F\x72\x61\x6E\x67\x65\x20\x3D\x20\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x22\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x65\x78\x65\x63\x75\x74\x65\x22\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x63\x63\x65\x70\x74\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x29\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x60\x45\x78\x65\x63\x75\x74\x65\x20\x66\x61\x69\x6C\x65\x64\x3A\x20\x24\x7B\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x70\x6F\x73\x74\x45\x78\x65\x63\x75\x74\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x78\x65\x63\x52\x65\x73\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x69\x6E\x66\x6F\x28\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x60\x45\x78\x65\x63\x75\x74\x65\x20\x73\x75\x62\x6D\x69\x74\x74\x65\x64\x20\x24\x7B\x65\x78\x65\x63\x52\x65\x73\x2E\x73\x63\x72\x69\x70\x74\x7D\x20\x6F\x6E\x20\x24\x7B\x65\x78\x65\x63\x52\x65\x73\x2E\x6D\x6F\x64\x65\x7D\x20\x77\x69\x74\x68\x20\x49\x44\x3D\x24\x7B\x65\x78\x65\x63\x52\x65\x73\x2E\x69\x64\x7D\x60\x0A\x20\x20\x20\x20\x20\x20\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x78\x65\x63\x54\x61\x69\x6C\x20\x3D\x20\x6E\x65\x77\x20\x45\x76\x65\x6E\x74\x53\x6F\x75\x72\x63\x65\x28\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x60\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x65\x78\x65\x63\x75\x74\x65\x2F\x74\x61\x69\x6C\x3F\x69\x64\x3D\x24\x7B\x65\x78\x65\x63\x52\x65\x73\x2E\x69\x64\x7D\x60\x0A\x20\x20\x20\x20\x20\x20\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x78\x65\x63\x54\x61\x69\x6C\x2E\x6F\x6E\x65\x72\x72\x6F\x72\x20\x3D\x20\x28\x65\x72\x72\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x20\x3D\x3D\x3D\x20\x45\x76\x65\x6E\x74\x53\x6F\x75\x72\x63\x65\x2E\x43\x4F\x4E\x4E\x45\x43\x54\x49\x4E\x47\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x69\x6E\x66\x6F\x28\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x60\x65\x78\x65\x63\x54\x61\x69\x6C\x3A\x20\x72\x65\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6E\x67\x20\x77\x69\x74\x68\x20\x4C\x61\x73\x74\x45\x76\x65\x6E\x74\x49\x44\x3D\x24\x7B\x65\x78\x65\x63\x54\x61\x69\x6C\x2E\x6C\x61\x73\x74\x45\x76\x65\x6E\x74\x49\x44\x7D\x60\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x20\x3D\x3D\x3D\x20\x45\x76\x65\x6E\x74\x53\x6F\x75\x72\x63\x65\x2E\x4F\x50\x45\x4E\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x65\x72\x72\x6F\x72\x28\x60\x65\x78\x65\x63\x54\x61\x69\x6C\x3A\x20\x6F\x6E\x65\x72\x72\x6F\x72\x3A\x20\x24\x7B\x65\x72\x72\x2E\x64\x61\x74\x61\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x65\x72\x72\x6F\x72\x28\x60\x65\x78\x65\x63\x54\x61\x69\x6C\x3A\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x63\x6C\x6F\x73\x65\x64\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x78\x65\x63\x54\x61\x69\x6C\x2E\x63\x6C\x6F\x73\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x70\x6F\x73\x74\x45\x78\x65\x63\x75\x74\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x78\x65\x63\x54\x61\x69\x6C\x2E\x6F\x6E\x6D\x65\x73\x73\x61\x67\x65\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x2B\x3D\x20\x65\x76\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x2E\x73\x63\x72\x6F\x6C\x6C\x54\x6F\x28\x30\x2C\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x2E\x73\x63\x72\x6F\x6C\x6C\x48\x65\x69\x67\x68\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x78\x65\x63\x54\x61\x69\x6C\x2E\x6F\x6E\x6F\x70\x65\x6E\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x77\x68\x69\x6C\x65\x45\x78\x65\x63\x75\x74\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x78\x65\x63\x54\x61\x69\x6C\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x65\x6E\x64\x22\x2C\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x78\x65\x63\x54\x61\x69\x6C\x2E\x63\x6C\x6F\x73\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x70\x6F\x73\x74\x45\x78\x65\x63\x75\x74\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x70\x72\x65\x45\x78\x65\x63\x75\x74\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4C\x6F\x63\x61\x6C\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x50\x6C\x61\x79\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x45\x78\x65\x63\x49\x63\x6F\x6E\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x26\x23\x31\x32\x38\x39\x39\x33\x3B\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x77\x68\x69\x6C\x65\x45\x78\x65\x63\x75\x74\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x45\x78\x65\x63\x49\x63\x6F\x6E\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x26\x23\x31\x32\x38\x39\x39\x34\x3B\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x70\x6F\x73\x74\x45\x78\x65\x63\x75\x74\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4C\x6F\x63\x61\x6C\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x50\x6C\x61\x79\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x45\x78\x65\x63\x49\x63\x6F\x6E\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x26\x23\x39\x38\x39\x38\x3B\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6E\x65\x77\x4E\x6F\x64\x65\x28\x69\x73\x44\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x22\x4E\x6F\x20\x61\x63\x74\x69\x76\x65\x20\x64\x69\x72\x65\x63\x74\x6F\x72\x79\x20\x6C\x6F\x61\x64\x65\x64\x20\x6F\x72\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x2E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6E\x61\x6D\x65\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x56\x66\x73\x49\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6E\x61\x6D\x65\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x22\x45\x6D\x70\x74\x79\x20\x66\x69\x6C\x65\x20\x6E\x61\x6D\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x71\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x3A\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x70\x61\x74\x68\x20\x2B\x20\x22\x2F\x22\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6E\x61\x6D\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x64\x69\x72\x3A\x20\x69\x73\x44\x69\x72\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x5F\x74\x79\x70\x65\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x6F\x64\x5F\x74\x69\x6D\x65\x3A\x20\x30\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x69\x7A\x65\x3A\x20\x30\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x6F\x64\x65\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x68\x69\x6C\x64\x73\x3A\x20\x5B\x5D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x3A\x20\x22\x22\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x22\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x66\x73\x22\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x63\x63\x65\x70\x74\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x65\x71\x29\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x60\x6E\x65\x77\x4E\x6F\x64\x65\x3A\x20\x24\x7B\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6E\x6F\x64\x65\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x63\x68\x69\x6C\x64\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x63\x68\x69\x6C\x64\x73\x20\x3D\x20\x5B\x5D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x63\x68\x69\x6C\x64\x73\x2E\x70\x75\x73\x68\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x66\x73\x2E\x73\x65\x74\x28\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x52\x65\x6D\x6F\x76\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x6C\x6F\x67\x28\x22\x6F\x6E\x43\x6C\x69\x63\x6B\x52\x65\x6D\x6F\x76\x65\x3A\x20\x22\x2C\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x22\x4E\x6F\x20\x66\x69\x6C\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x2E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6E\x61\x6D\x65\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x56\x66\x73\x49\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6E\x61\x6D\x65\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x22\x45\x6D\x70\x74\x79\x20\x66\x69\x6C\x65\x20\x6E\x61\x6D\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x71\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x3A\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x70\x61\x74\x68\x20\x2B\x20\x22\x2F\x22\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x64\x69\x72\x3A\x20\x66\x61\x6C\x73\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x3A\x20\x22\x22\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x22\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x66\x73\x22\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x63\x63\x65\x70\x74\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x65\x71\x29\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x65\x72\x72\x6F\x72\x28\x60\x72\x65\x6D\x6F\x76\x65\x3A\x20\x24\x7B\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x2E\x69\x6E\x66\x6F\x28\x60\x24\x7B\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x66\x73\x2E\x6F\x70\x65\x6E\x44\x69\x72\x28\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x70\x61\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6F\x6E\x56\x66\x73\x49\x6E\x70\x75\x74\x46\x69\x6C\x74\x65\x72\x20\x66\x69\x6C\x74\x65\x72\x20\x74\x68\x65\x20\x56\x46\x53\x20\x6C\x69\x73\x74\x20\x62\x61\x73\x65\x64\x20\x6F\x6E\x20\x69\x6E\x70\x75\x74\x20\x76\x61\x6C\x2E\x0A\x20\x20\x20\x20\x6F\x6E\x56\x66\x73\x49\x6E\x70\x75\x74\x46\x69\x6C\x74\x65\x72\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x66\x73\x2E\x66\x69\x6C\x74\x65\x72\x28\x76\x61\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x56\x66\x73\x28\x65\x76\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x78\x20\x3D\x3D\x20\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x78\x20\x3D\x20\x65\x76\x2E\x63\x6C\x69\x65\x6E\x74\x58\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x64\x69\x66\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x78\x20\x2D\x20\x65\x76\x2E\x63\x6C\x69\x65\x6E\x74\x58\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x64\x69\x66\x66\x20\x3E\x20\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x73\x69\x7A\x65\x56\x66\x73\x4C\x65\x66\x74\x28\x64\x69\x66\x66\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x73\x69\x7A\x65\x56\x66\x73\x52\x69\x67\x68\x74\x28\x64\x69\x66\x66\x20\x2A\x20\x2D\x31\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x78\x20\x3D\x20\x65\x76\x2E\x63\x6C\x69\x65\x6E\x74\x58\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x73\x69\x7A\x65\x56\x66\x73\x4C\x65\x66\x74\x28\x64\x69\x66\x66\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x4C\x65\x66\x74\x2E\x63\x6C\x69\x65\x6E\x74\x57\x69\x64\x74\x68\x20\x3C\x3D\x20\x33\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x69\x64\x74\x68\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x4C\x65\x66\x74\x2E\x63\x6C\x69\x65\x6E\x74\x57\x69\x64\x74\x68\x20\x2D\x20\x64\x69\x66\x66\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x73\x65\x74\x56\x66\x73\x57\x69\x64\x74\x68\x28\x77\x69\x64\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x53\x54\x4F\x52\x41\x47\x45\x5F\x4B\x45\x59\x5F\x56\x46\x53\x5F\x57\x49\x44\x54\x48\x2C\x20\x60\x24\x7B\x77\x69\x64\x74\x68\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x73\x65\x74\x56\x66\x73\x57\x69\x64\x74\x68\x28\x77\x69\x64\x74\x68\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x4C\x65\x66\x74\x2E\x73\x74\x79\x6C\x65\x2E\x77\x69\x64\x74\x68\x20\x3D\x20\x60\x24\x7B\x77\x69\x64\x74\x68\x7D\x70\x78\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\x68\x20\x2B\x3D\x20\x33\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x52\x69\x67\x68\x74\x2E\x73\x74\x79\x6C\x65\x2E\x77\x69\x64\x74\x68\x20\x3D\x20\x60\x63\x61\x6C\x63\x28\x31\x30\x30\x25\x20\x2D\x20\x24\x7B\x77\x69\x64\x74\x68\x7D\x70\x78\x29\x60\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x73\x69\x7A\x65\x56\x66\x73\x52\x69\x67\x68\x74\x28\x64\x69\x66\x66\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x52\x69\x67\x68\x74\x2E\x63\x6C\x69\x65\x6E\x74\x57\x69\x64\x74\x68\x20\x3C\x3D\x20\x35\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x69\x64\x74\x68\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x4C\x65\x66\x74\x2E\x63\x6C\x69\x65\x6E\x74\x57\x69\x64\x74\x68\x20\x2B\x20\x64\x69\x66\x66\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x73\x65\x74\x56\x66\x73\x57\x69\x64\x74\x68\x28\x77\x69\x64\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x53\x54\x4F\x52\x41\x47\x45\x5F\x4B\x45\x59\x5F\x56\x46\x53\x5F\x57\x49\x44\x54\x48\x2C\x20\x60\x24\x7B\x77\x69\x64\x74\x68\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x28\x65\x76\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x73\x74\x6F\x70\x50\x72\x6F\x70\x61\x67\x61\x74\x69\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x3D\x3D\x20\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x3D\x20\x65\x76\x2E\x63\x6C\x69\x65\x6E\x74\x59\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x64\x69\x66\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x2D\x20\x65\x76\x2E\x63\x6C\x69\x65\x6E\x74\x59\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x64\x69\x66\x66\x20\x3E\x20\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x73\x69\x7A\x65\x55\x70\x28\x64\x69\x66\x66\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x73\x69\x7A\x65\x44\x6F\x77\x6E\x28\x64\x69\x66\x66\x20\x2A\x20\x2D\x31\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x3D\x20\x65\x76\x2E\x63\x6C\x69\x65\x6E\x74\x59\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x73\x69\x7A\x65\x55\x70\x28\x64\x69\x66\x66\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x64\x69\x74\x6F\x72\x2E\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x20\x3C\x3D\x20\x31\x32\x36\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x68\x65\x69\x67\x68\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x64\x69\x74\x6F\x72\x2E\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x20\x2D\x20\x64\x69\x66\x66\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x64\x69\x74\x6F\x72\x2E\x73\x74\x79\x6C\x65\x2E\x68\x65\x69\x67\x68\x74\x20\x3D\x20\x60\x24\x7B\x68\x65\x69\x67\x68\x74\x7D\x70\x78\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x68\x65\x69\x67\x68\x74\x20\x2B\x3D\x20\x31\x30\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x57\x72\x61\x70\x70\x65\x72\x2E\x73\x74\x79\x6C\x65\x2E\x68\x65\x69\x67\x68\x74\x20\x3D\x20\x60\x63\x61\x6C\x63\x28\x31\x30\x30\x25\x20\x2D\x20\x24\x7B\x68\x65\x69\x67\x68\x74\x7D\x70\x78\x29\x60\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x73\x69\x7A\x65\x44\x6F\x77\x6E\x28\x64\x69\x66\x66\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x57\x72\x61\x70\x70\x65\x72\x2E\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x20\x3C\x3D\x20\x31\x32\x36\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x68\x65\x69\x67\x68\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x64\x69\x74\x6F\x72\x2E\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x20\x2B\x20\x64\x69\x66\x66\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x64\x69\x74\x6F\x72\x2E\x73\x74\x79\x6C\x65\x2E\x68\x65\x69\x67\x68\x74\x20\x3D\x20\x60\x24\x7B\x68\x65\x69\x67\x68\x74\x7D\x70\x78\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x68\x65\x69\x67\x68\x74\x20\x2B\x3D\x20\x31\x30\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x57\x72\x61\x70\x70\x65\x72\x2E\x73\x74\x79\x6C\x65\x2E\x68\x65\x69\x67\x68\x74\x20\x3D\x20\x60\x63\x61\x6C\x63\x28\x31\x30\x30\x25\x20\x2D\x20\x24\x7B\x68\x65\x69\x67\x68\x74\x7D\x70\x78\x29\x60\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x7D\x3B\x0A\x0A\x20\x20\x2F\x2F\x20\x5F\x77\x75\x69\x2F\x6D\x61\x69\x6E\x2E\x74\x73\x0A\x20\x20\x76\x61\x72\x20\x61\x77\x77\x61\x6E\x20\x3D\x20\x6E\x65\x77\x20\x41\x77\x77\x61\x6E\x28\x29\x3B\x0A\x20\x20\x61\x77\x77\x61\x6E\x2E\x6F\x6E\x48\x61\x73\x68\x43\x68\x61\x6E\x67\x65\x28\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x74\x69\x6F\x6E\x2E\x68\x61\x73\x68\x29\x3B\x0A\x7D\x29\x28\x29\x3B\x0A"),
+ Content: []byte("\x22\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74\x22\x3B\x0A\x76\x61\x72\x20\x61\x77\x77\x61\x6E\x20\x3D\x20\x28\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x2F\x2F\x20\x5F\x77\x75\x69\x2F\x77\x75\x69\x2F\x65\x64\x69\x74\x6F\x72\x2F\x65\x64\x69\x74\x6F\x72\x2E\x6A\x73\x0A\x20\x20\x76\x61\x72\x20\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x20\x3D\x20\x22\x77\x75\x69\x5F\x65\x64\x69\x74\x6F\x72\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x5F\x4C\x49\x4E\x45\x5F\x4E\x55\x4D\x42\x45\x52\x20\x3D\x20\x22\x77\x75\x69\x5F\x65\x64\x69\x74\x6F\x72\x5F\x6C\x69\x6E\x65\x5F\x6E\x75\x6D\x62\x65\x72\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x5F\x43\x4F\x4E\x54\x45\x4E\x54\x20\x3D\x20\x22\x77\x75\x69\x5F\x65\x64\x69\x74\x6F\x72\x5F\x63\x6F\x6E\x74\x65\x6E\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x57\x75\x69\x45\x64\x69\x74\x6F\x72\x20\x3D\x20\x63\x6C\x61\x73\x73\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x6F\x70\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x20\x3D\x20\x6F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x6F\x74\x61\x6C\x4C\x69\x6E\x65\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x73\x4B\x65\x79\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x64\x20\x3D\x20\x6F\x70\x74\x73\x2E\x69\x64\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x73\x45\x64\x69\x74\x61\x62\x6C\x65\x20\x3D\x20\x6F\x70\x74\x73\x2E\x69\x73\x45\x64\x69\x74\x61\x62\x6C\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x6F\x70\x74\x73\x2E\x69\x64\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x65\x72\x72\x6F\x72\x28\x22\x57\x75\x69\x45\x64\x69\x74\x6F\x72\x3A\x20\x65\x6C\x65\x6D\x65\x6E\x74\x20\x49\x44\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x3A\x22\x2C\x20\x6F\x70\x74\x73\x2E\x69\x64\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x6E\x69\x74\x53\x74\x79\x6C\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x6E\x69\x74\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x6E\x69\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x20\x72\x65\x74\x75\x72\x6E\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x6F\x66\x20\x66\x69\x6C\x65\x2E\x0A\x20\x20\x20\x20\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x6C\x69\x6E\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x68\x69\x6C\x64\x4E\x6F\x64\x65\x73\x2E\x66\x6F\x72\x45\x61\x63\x68\x28\x28\x6E\x6F\x64\x65\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x77\x69\x74\x63\x68\x20\x28\x6E\x6F\x64\x65\x2E\x6E\x6F\x64\x65\x54\x79\x70\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x4E\x6F\x64\x65\x2E\x45\x4C\x45\x4D\x45\x4E\x54\x5F\x4E\x4F\x44\x45\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x6E\x6F\x64\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x69\x6E\x65\x20\x3D\x20\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x4E\x6F\x64\x65\x2E\x54\x45\x58\x54\x5F\x4E\x4F\x44\x45\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x69\x6E\x65\x20\x3D\x20\x6E\x6F\x64\x65\x2E\x6E\x6F\x64\x65\x56\x61\x6C\x75\x65\x20\x7C\x7C\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x69\x6E\x65\x20\x3D\x20\x6C\x69\x6E\x65\x2E\x74\x72\x69\x6D\x45\x6E\x64\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x2B\x3D\x20\x6C\x69\x6E\x65\x20\x2B\x20\x22\x5C\x6E\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x74\x72\x69\x6D\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x63\x6F\x6E\x74\x65\x6E\x74\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6F\x70\x65\x6E\x20\x74\x68\x65\x20\x6E\x6F\x64\x65\x20\x66\x6F\x72\x20\x65\x64\x69\x74\x69\x6E\x67\x2E\x0A\x20\x20\x20\x20\x2F\x2F\x20\x54\x68\x65\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x4D\x55\x53\x54\x20\x62\x65\x20\x65\x6E\x63\x6F\x64\x65\x64\x20\x69\x6E\x20\x62\x61\x73\x65\x36\x34\x2E\x0A\x20\x20\x20\x20\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x61\x74\x6F\x62\x28\x6E\x6F\x64\x65\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x72\x65\x70\x6C\x61\x63\x65\x28\x22\x5C\x72\x5C\x6E\x22\x2C\x20\x22\x5C\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x6E\x64\x65\x72\x28\x74\x68\x69\x73\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x73\x65\x74\x45\x64\x69\x74\x61\x62\x6C\x65\x28\x79\x65\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x69\x73\x45\x64\x69\x74\x61\x62\x6C\x65\x20\x3D\x20\x79\x65\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x79\x65\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x63\x6F\x6E\x74\x65\x6E\x74\x65\x64\x69\x74\x61\x62\x6C\x65\x22\x2C\x20\x22\x74\x72\x75\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x63\x6F\x6E\x74\x65\x6E\x74\x65\x64\x69\x74\x61\x62\x6C\x65\x22\x2C\x20\x22\x66\x61\x6C\x73\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x64\x64\x4E\x65\x77\x4C\x69\x6E\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x6F\x74\x61\x6C\x4C\x69\x6E\x65\x2B\x2B\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x4C\x69\x6E\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x4C\x69\x6E\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x60\x24\x7B\x74\x68\x69\x73\x2E\x74\x6F\x74\x61\x6C\x4C\x69\x6E\x65\x7D\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x4C\x69\x6E\x65\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x69\x6E\x69\x74\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x5F\x4C\x49\x4E\x45\x5F\x4E\x55\x4D\x42\x45\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x69\x6E\x69\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x69\x73\x45\x64\x69\x74\x61\x62\x6C\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x63\x6F\x6E\x74\x65\x6E\x74\x65\x64\x69\x74\x61\x62\x6C\x65\x22\x2C\x20\x22\x74\x72\x75\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x73\x70\x65\x6C\x6C\x63\x68\x65\x63\x6B\x22\x2C\x20\x22\x66\x61\x6C\x73\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x70\x61\x73\x74\x65\x22\x2C\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x76\x61\x72\x20\x5F\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x74\x65\x78\x74\x20\x3D\x20\x28\x28\x5F\x61\x20\x3D\x20\x65\x76\x2E\x63\x6C\x69\x70\x62\x6F\x61\x72\x64\x44\x61\x74\x61\x29\x20\x3D\x3D\x3D\x20\x6E\x75\x6C\x6C\x20\x7C\x7C\x20\x5F\x61\x20\x3D\x3D\x3D\x20\x76\x6F\x69\x64\x20\x30\x20\x3F\x20\x76\x6F\x69\x64\x20\x30\x20\x3A\x20\x5F\x61\x2E\x67\x65\x74\x44\x61\x74\x61\x28\x22\x74\x65\x78\x74\x2F\x70\x6C\x61\x69\x6E\x22\x29\x29\x20\x7C\x7C\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x65\x78\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x65\x72\x72\x6F\x72\x28\x60\x6F\x6E\x20\x70\x61\x73\x74\x65\x3A\x20\x74\x65\x78\x74\x20\x69\x73\x20\x24\x7B\x74\x65\x78\x74\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x20\x3D\x20\x77\x69\x6E\x64\x6F\x77\x2E\x67\x65\x74\x53\x65\x6C\x65\x63\x74\x69\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x20\x7C\x7C\x20\x21\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x2E\x72\x61\x6E\x67\x65\x43\x6F\x75\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x65\x72\x72\x6F\x72\x28\x60\x6F\x6E\x20\x70\x61\x73\x74\x65\x3A\x20\x66\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x67\x65\x74\x20\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x65\x78\x74\x20\x3D\x20\x74\x65\x78\x74\x2E\x74\x72\x69\x6D\x45\x6E\x64\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x2E\x64\x65\x6C\x65\x74\x65\x46\x72\x6F\x6D\x44\x6F\x63\x75\x6D\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x2E\x67\x65\x74\x52\x61\x6E\x67\x65\x41\x74\x28\x30\x29\x2E\x69\x6E\x73\x65\x72\x74\x4E\x6F\x64\x65\x28\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x54\x65\x78\x74\x4E\x6F\x64\x65\x28\x74\x65\x78\x74\x29\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x73\x65\x6C\x65\x63\x74\x69\x6F\x6E\x2E\x63\x6F\x6C\x6C\x61\x70\x73\x65\x54\x6F\x45\x6E\x64\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x6E\x64\x65\x72\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x28\x74\x68\x69\x73\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x6F\x6E\x6B\x65\x79\x64\x6F\x77\x6E\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x4B\x65\x79\x64\x6F\x77\x6E\x44\x6F\x63\x75\x6D\x65\x6E\x74\x28\x74\x68\x69\x73\x2C\x20\x65\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x6F\x6E\x6B\x65\x79\x75\x70\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x4B\x65\x79\x75\x70\x44\x6F\x63\x75\x6D\x65\x6E\x74\x28\x74\x68\x69\x73\x2C\x20\x65\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x5F\x43\x4F\x4E\x54\x45\x4E\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x69\x6E\x69\x74\x53\x74\x79\x6C\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x73\x74\x79\x6C\x65\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x73\x74\x79\x6C\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6C\x65\x2E\x74\x79\x70\x65\x20\x3D\x20\x22\x74\x65\x78\x74\x2F\x63\x73\x73\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x73\x74\x79\x6C\x65\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x60\x0A\x20\x20\x20\x20\x20\x20\x5B\x63\x6F\x6E\x74\x65\x6E\x74\x65\x64\x69\x74\x61\x62\x6C\x65\x5D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x75\x74\x6C\x69\x6E\x65\x3A\x20\x30\x70\x78\x20\x73\x6F\x6C\x69\x64\x20\x74\x72\x61\x6E\x73\x70\x61\x72\x65\x6E\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x2E\x24\x7B\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x7D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x2D\x63\x6F\x6C\x6F\x72\x3A\x20\x63\x6F\x72\x6E\x73\x69\x6C\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x72\x64\x65\x72\x3A\x20\x31\x70\x78\x20\x73\x6F\x6C\x69\x64\x20\x62\x72\x6F\x77\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x6E\x74\x2D\x66\x61\x6D\x69\x6C\x79\x3A\x20\x6D\x6F\x6E\x6F\x73\x70\x61\x63\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x69\x6E\x65\x2D\x68\x65\x69\x67\x68\x74\x3A\x20\x31\x2E\x36\x65\x6D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x76\x65\x72\x66\x6C\x6F\x77\x2D\x79\x3A\x20\x73\x63\x72\x6F\x6C\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\x68\x3A\x20\x31\x30\x30\x25\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x2E\x24\x7B\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x5F\x4C\x49\x4E\x45\x5F\x4E\x55\x4D\x42\x45\x52\x7D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x2D\x63\x6F\x6C\x6F\x72\x3A\x20\x62\x69\x73\x71\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x72\x64\x65\x72\x2D\x72\x69\x67\x68\x74\x3A\x20\x31\x70\x78\x20\x64\x61\x73\x68\x65\x64\x20\x62\x72\x6F\x77\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6C\x6F\x72\x3A\x20\x64\x69\x6D\x67\x72\x65\x79\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x73\x70\x6C\x61\x79\x3A\x20\x69\x6E\x6C\x69\x6E\x65\x2D\x62\x6C\x6F\x63\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6F\x6E\x74\x2D\x66\x61\x6D\x69\x6C\x79\x3A\x20\x6D\x6F\x6E\x6F\x73\x70\x61\x63\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x61\x72\x67\x69\x6E\x2D\x72\x69\x67\x68\x74\x3A\x20\x38\x70\x78\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x64\x64\x69\x6E\x67\x3A\x20\x30\x70\x78\x20\x38\x70\x78\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3A\x20\x73\x74\x69\x63\x6B\x79\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x65\x78\x74\x2D\x61\x6C\x69\x67\x6E\x3A\x20\x72\x69\x67\x68\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\x68\x3A\x20\x33\x65\x6D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x2E\x24\x7B\x57\x55\x49\x5F\x45\x44\x49\x54\x4F\x52\x5F\x43\x4C\x41\x53\x53\x5F\x43\x4F\x4E\x54\x45\x4E\x54\x7D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x73\x70\x6C\x61\x79\x3A\x20\x69\x6E\x6C\x69\x6E\x65\x2D\x62\x6C\x6F\x63\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x64\x64\x69\x6E\x67\x3A\x20\x30\x70\x78\x20\x38\x70\x78\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x76\x65\x72\x74\x69\x63\x61\x6C\x2D\x61\x6C\x69\x67\x6E\x3A\x20\x74\x6F\x70\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x68\x69\x74\x65\x2D\x73\x70\x61\x63\x65\x3A\x20\x70\x72\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\x68\x3A\x20\x63\x61\x6C\x63\x28\x31\x30\x30\x25\x20\x2D\x20\x31\x30\x65\x6D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x6F\x72\x64\x2D\x77\x72\x61\x70\x3A\x20\x6E\x6F\x72\x6D\x61\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x68\x65\x61\x64\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x73\x74\x79\x6C\x65\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x4B\x65\x79\x64\x6F\x77\x6E\x44\x6F\x63\x75\x6D\x65\x6E\x74\x28\x65\x64\x2C\x20\x65\x76\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x73\x77\x69\x74\x63\x68\x20\x28\x65\x76\x2E\x6B\x65\x79\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x22\x43\x6F\x6E\x74\x72\x6F\x6C\x22\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x64\x2E\x69\x73\x4B\x65\x79\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x3D\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x62\x72\x65\x61\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x22\x45\x6E\x74\x65\x72\x22\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x64\x2E\x69\x73\x4B\x65\x79\x43\x6F\x6E\x74\x72\x6F\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x73\x74\x6F\x70\x50\x72\x6F\x70\x61\x67\x61\x74\x69\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x64\x2E\x6F\x70\x74\x73\x2E\x6F\x6E\x53\x61\x76\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x65\x64\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x64\x2E\x6F\x70\x74\x73\x2E\x6F\x6E\x53\x61\x76\x65\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x64\x2E\x72\x65\x6E\x64\x65\x72\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x61\x64\x64\x4E\x65\x77\x4C\x69\x6E\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x4B\x65\x79\x75\x70\x44\x6F\x63\x75\x6D\x65\x6E\x74\x28\x65\x64\x2C\x20\x65\x76\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x73\x77\x69\x74\x63\x68\x20\x28\x65\x76\x2E\x6B\x65\x79\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x61\x73\x65\x20\x22\x43\x6F\x6E\x74\x72\x6F\x6C\x22\x3A\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x64\x2E\x69\x73\x4B\x65\x79\x43\x6F\x6E\x74\x72\x6F\x6C\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x6E\x64\x65\x72\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6C\x69\x6E\x65\x73\x20\x3D\x20\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x73\x70\x6C\x69\x74\x28\x22\x5C\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x69\x6E\x65\x73\x2E\x66\x6F\x72\x45\x61\x63\x68\x28\x28\x6C\x69\x6E\x65\x2C\x20\x78\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x60\x24\x7B\x78\x20\x2B\x20\x31\x7D\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x64\x69\x76\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x76\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x6C\x69\x6E\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6C\x69\x6E\x65\x20\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x76\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x62\x72\x22\x29\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x43\x6F\x6E\x74\x65\x6E\x74\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x64\x69\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x6F\x74\x61\x6C\x4C\x69\x6E\x65\x20\x3D\x20\x6C\x69\x6E\x65\x73\x2E\x6C\x65\x6E\x67\x74\x68\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x6E\x64\x65\x72\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6C\x69\x6E\x65\x73\x20\x3D\x20\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x73\x70\x6C\x69\x74\x28\x22\x5C\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x69\x6E\x65\x73\x2E\x66\x6F\x72\x45\x61\x63\x68\x28\x28\x5F\x2C\x20\x78\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x60\x24\x7B\x78\x20\x2B\x20\x31\x7D\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x4C\x69\x6E\x65\x4E\x75\x6D\x62\x65\x72\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x74\x6F\x74\x61\x6C\x4C\x69\x6E\x65\x20\x3D\x20\x6C\x69\x6E\x65\x73\x2E\x6C\x65\x6E\x67\x74\x68\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x7D\x3B\x0A\x0A\x20\x20\x2F\x2F\x20\x5F\x77\x75\x69\x2F\x77\x75\x69\x2F\x76\x66\x73\x2F\x76\x66\x73\x2E\x6A\x73\x0A\x20\x20\x76\x61\x72\x20\x43\x4C\x41\x53\x53\x5F\x56\x46\x53\x5F\x50\x41\x54\x48\x20\x3D\x20\x22\x77\x75\x69\x5F\x76\x66\x73\x5F\x70\x61\x74\x68\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x43\x4C\x41\x53\x53\x5F\x56\x46\x53\x5F\x4C\x49\x53\x54\x20\x3D\x20\x22\x77\x75\x69\x5F\x76\x66\x73\x5F\x6C\x69\x73\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x57\x75\x69\x56\x66\x73\x20\x3D\x20\x63\x6C\x61\x73\x73\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x6F\x70\x74\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x20\x3D\x20\x6F\x70\x74\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x6F\x70\x74\x73\x2E\x69\x64\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x65\x72\x72\x6F\x72\x28\x22\x57\x75\x69\x56\x66\x73\x3A\x20\x65\x6C\x65\x6D\x65\x6E\x74\x20\x69\x64\x22\x2C\x20\x6F\x70\x74\x73\x2E\x69\x64\x2C\x20\x22\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x5F\x70\x61\x74\x68\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x56\x66\x73\x50\x61\x74\x68\x28\x28\x70\x61\x74\x68\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x44\x69\x72\x28\x70\x61\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x5F\x70\x61\x74\x68\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x5F\x6C\x69\x73\x74\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x56\x66\x73\x4C\x69\x73\x74\x28\x28\x6E\x6F\x64\x65\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x5F\x6C\x69\x73\x74\x2E\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x66\x69\x6C\x74\x65\x72\x20\x74\x68\x65\x20\x56\x46\x53\x20\x6C\x69\x73\x74\x20\x62\x61\x73\x65\x64\x20\x6F\x6E\x20\x74\x65\x78\x74\x20\x76\x61\x6C\x75\x65\x2E\x0A\x20\x20\x20\x20\x66\x69\x6C\x74\x65\x72\x28\x74\x65\x78\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x5F\x6C\x69\x73\x74\x2E\x66\x69\x6C\x74\x65\x72\x28\x74\x65\x78\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x20\x69\x73\x20\x61\x20\x68\x61\x6E\x64\x6C\x65\x72\x20\x74\x68\x61\x74\x20\x77\x69\x6C\x6C\x20\x62\x65\x20\x63\x61\x6C\x6C\x65\x64\x20\x77\x68\x65\x6E\x20\x61\x20\x6E\x6F\x64\x65\x20\x69\x73\x20\x63\x6C\x69\x63\x6B\x65\x64\x0A\x20\x20\x20\x20\x2F\x2F\x20\x69\x6E\x73\x69\x64\x65\x20\x74\x68\x65\x20\x57\x75\x69\x56\x66\x73\x4C\x69\x73\x74\x2E\x0A\x20\x20\x20\x20\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x28\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6E\x6F\x64\x65\x2E\x69\x73\x5F\x64\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x44\x69\x72\x28\x6E\x6F\x64\x65\x2E\x70\x61\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6F\x70\x65\x6E\x44\x69\x72\x20\x69\x73\x20\x61\x20\x68\x61\x6E\x64\x6C\x65\x72\x20\x74\x68\x61\x74\x20\x77\x69\x6C\x6C\x20\x62\x65\x20\x63\x61\x6C\x6C\x65\x64\x20\x77\x68\x65\x6E\x20\x61\x20\x70\x61\x74\x68\x20\x69\x73\x20\x63\x6C\x69\x63\x6B\x65\x64\x0A\x20\x20\x20\x20\x2F\x2F\x20\x69\x6E\x73\x69\x64\x65\x20\x74\x68\x65\x20\x57\x75\x69\x56\x66\x73\x50\x61\x74\x68\x2E\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x70\x65\x6E\x44\x69\x72\x28\x70\x61\x74\x68\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2E\x6F\x70\x74\x73\x2E\x6F\x70\x65\x6E\x28\x70\x61\x74\x68\x2C\x20\x74\x72\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x73\x65\x74\x28\x72\x65\x73\x2E\x64\x61\x74\x61\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x73\x65\x74\x28\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6E\x6F\x64\x65\x2E\x69\x73\x5F\x64\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x5F\x70\x61\x74\x68\x2E\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x5F\x6C\x69\x73\x74\x2E\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x7D\x3B\x0A\x20\x20\x76\x61\x72\x20\x57\x75\x69\x56\x66\x73\x4C\x69\x73\x74\x20\x3D\x20\x63\x6C\x61\x73\x73\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x6F\x6E\x43\x6C\x69\x63\x6B\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x20\x3D\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x64\x65\x20\x3D\x20\x6E\x75\x6C\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x56\x46\x53\x5F\x4C\x49\x53\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x57\x69\x64\x74\x68\x20\x3D\x20\x22\x31\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x53\x74\x79\x6C\x65\x20\x3D\x20\x22\x73\x6F\x6C\x69\x64\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x73\x69\x6C\x76\x65\x72\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x66\x69\x6C\x74\x65\x72\x20\x72\x65\x2D\x72\x65\x6E\x64\x65\x72\x20\x74\x68\x65\x20\x6C\x69\x73\x74\x20\x62\x79\x20\x69\x6E\x63\x6C\x75\x64\x69\x6E\x67\x20\x6F\x6E\x6C\x79\x20\x74\x68\x65\x20\x6E\x6F\x64\x65\x20\x74\x68\x61\x74\x20\x68\x61\x76\x65\x20\x6E\x61\x6D\x65\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6D\x61\x74\x63\x68\x20\x77\x69\x74\x68\x20\x22\x74\x65\x78\x74\x22\x2E\x0A\x20\x20\x20\x20\x66\x69\x6C\x74\x65\x72\x28\x74\x65\x78\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x67\x65\x78\x70\x20\x3D\x20\x6E\x65\x77\x20\x52\x65\x67\x45\x78\x70\x28\x74\x65\x78\x74\x2C\x20\x22\x69\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x65\x6C\x43\x68\x69\x6C\x64\x20\x6F\x66\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x63\x68\x69\x6C\x64\x72\x65\x6E\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x67\x65\x78\x70\x2E\x74\x65\x73\x74\x28\x65\x6C\x43\x68\x69\x6C\x64\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x43\x68\x69\x6C\x64\x2E\x72\x65\x6D\x6F\x76\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x68\x69\x64\x64\x65\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x43\x68\x69\x6C\x64\x2E\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x68\x69\x64\x64\x65\x6E\x22\x2C\x20\x22\x74\x72\x75\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x64\x65\x20\x3D\x20\x6E\x6F\x64\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x6E\x6F\x64\x65\x2E\x63\x68\x69\x6C\x64\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x66\x6F\x72\x20\x28\x63\x6F\x6E\x73\x74\x20\x63\x20\x6F\x66\x20\x74\x68\x69\x73\x2E\x6E\x6F\x64\x65\x2E\x63\x68\x69\x6C\x64\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x70\x61\x64\x64\x69\x6E\x67\x20\x3D\x20\x22\x31\x65\x6D\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x63\x75\x72\x73\x6F\x72\x20\x3D\x20\x22\x70\x6F\x69\x6E\x74\x65\x72\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x74\x61\x62\x69\x6E\x64\x65\x78\x22\x2C\x20\x22\x30\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x63\x2E\x6E\x61\x6D\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x63\x2E\x69\x73\x5F\x64\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x2B\x3D\x20\x22\x2F\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x63\x6F\x72\x6E\x73\x69\x6C\x6B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x28\x63\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x6F\x6E\x6B\x65\x79\x64\x6F\x77\x6E\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x76\x2E\x6B\x65\x79\x20\x21\x3D\x3D\x20\x22\x45\x6E\x74\x65\x72\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x28\x63\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x66\x6F\x63\x75\x73\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x6F\x6E\x62\x6C\x75\x72\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x42\x6C\x75\x72\x28\x63\x2C\x20\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x6F\x6E\x6D\x6F\x75\x73\x65\x6F\x75\x74\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x42\x6C\x75\x72\x28\x63\x2C\x20\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x6F\x6E\x66\x6F\x63\x75\x73\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x46\x6F\x63\x75\x73\x28\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x6F\x6E\x6D\x6F\x75\x73\x65\x6F\x76\x65\x72\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x46\x6F\x63\x75\x73\x28\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x42\x6C\x75\x72\x28\x63\x2C\x20\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x63\x2E\x69\x73\x5F\x64\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x63\x6F\x72\x6E\x73\x69\x6C\x6B\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x77\x68\x69\x74\x65\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x46\x6F\x63\x75\x73\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x61\x6C\x69\x63\x65\x62\x6C\x75\x65\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x7D\x3B\x0A\x20\x20\x76\x61\x72\x20\x57\x75\x69\x56\x66\x73\x50\x61\x74\x68\x20\x3D\x20\x63\x6C\x61\x73\x73\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x6F\x6E\x43\x6C\x69\x63\x6B\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x43\x4C\x41\x53\x53\x5F\x56\x46\x53\x5F\x50\x41\x54\x48\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x57\x69\x64\x74\x68\x20\x3D\x20\x22\x31\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x53\x74\x79\x6C\x65\x20\x3D\x20\x22\x73\x6F\x6C\x69\x64\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x62\x6F\x72\x64\x65\x72\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x73\x69\x6C\x76\x65\x72\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x6F\x76\x65\x72\x66\x6C\x6F\x77\x20\x3D\x20\x22\x61\x75\x74\x6F\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x70\x61\x64\x64\x69\x6E\x67\x20\x3D\x20\x22\x31\x30\x70\x78\x20\x31\x30\x70\x78\x20\x32\x30\x70\x78\x20\x30\x70\x78\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x73\x74\x79\x6C\x65\x2E\x77\x68\x69\x74\x65\x53\x70\x61\x63\x65\x20\x3D\x20\x22\x6E\x6F\x77\x72\x61\x70\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x20\x3D\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x70\x61\x74\x68\x73\x20\x3D\x20\x5B\x5D\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6E\x6F\x64\x65\x2E\x70\x61\x74\x68\x20\x3D\x3D\x20\x22\x2F\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x73\x2E\x70\x75\x73\x68\x28\x6E\x6F\x64\x65\x2E\x70\x61\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x73\x20\x3D\x20\x6E\x6F\x64\x65\x2E\x70\x61\x74\x68\x2E\x73\x70\x6C\x69\x74\x28\x22\x2F\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x73\x2E\x66\x6F\x72\x45\x61\x63\x68\x28\x28\x70\x61\x74\x68\x2C\x20\x78\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x66\x75\x6C\x6C\x50\x61\x74\x68\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x70\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x78\x20\x3D\x3D\x20\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x20\x3D\x20\x22\x2F\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x75\x6C\x6C\x50\x61\x74\x68\x20\x3D\x20\x22\x2F\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x20\x3D\x20\x70\x61\x74\x68\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x66\x75\x6C\x6C\x50\x61\x74\x68\x20\x3D\x20\x70\x61\x74\x68\x73\x2E\x73\x6C\x69\x63\x65\x28\x30\x2C\x20\x78\x20\x2B\x20\x31\x29\x2E\x6A\x6F\x69\x6E\x28\x22\x2F\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x63\x72\x75\x6D\x62\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x73\x70\x61\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x73\x74\x79\x6C\x65\x2E\x70\x61\x64\x64\x69\x6E\x67\x20\x3D\x20\x22\x31\x65\x6D\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x73\x74\x79\x6C\x65\x2E\x63\x75\x72\x73\x6F\x72\x20\x3D\x20\x22\x70\x6F\x69\x6E\x74\x65\x72\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x73\x65\x74\x41\x74\x74\x72\x69\x62\x75\x74\x65\x28\x22\x74\x61\x62\x69\x6E\x64\x65\x78\x22\x2C\x20\x22\x30\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x70\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x28\x66\x75\x6C\x6C\x50\x61\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x6F\x6E\x6B\x65\x79\x64\x6F\x77\x6E\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x76\x2E\x6B\x65\x79\x20\x21\x3D\x3D\x20\x22\x45\x6E\x74\x65\x72\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x28\x66\x75\x6C\x6C\x50\x61\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x66\x6F\x63\x75\x73\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x6F\x6E\x6D\x6F\x75\x73\x65\x6F\x75\x74\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x42\x6C\x75\x72\x28\x63\x72\x75\x6D\x62\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x6F\x6E\x62\x6C\x75\x72\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x42\x6C\x75\x72\x28\x63\x72\x75\x6D\x62\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x6F\x6E\x6D\x6F\x75\x73\x65\x6F\x76\x65\x72\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x46\x6F\x63\x75\x73\x28\x63\x72\x75\x6D\x62\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x6F\x6E\x66\x6F\x63\x75\x73\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x46\x6F\x63\x75\x73\x28\x63\x72\x75\x6D\x62\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x63\x72\x75\x6D\x62\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x42\x6C\x75\x72\x28\x63\x72\x75\x6D\x62\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x77\x68\x69\x74\x65\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x46\x6F\x63\x75\x73\x28\x63\x72\x75\x6D\x62\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x72\x75\x6D\x62\x2E\x73\x74\x79\x6C\x65\x2E\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x43\x6F\x6C\x6F\x72\x20\x3D\x20\x22\x61\x6C\x69\x63\x65\x62\x6C\x75\x65\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x7D\x3B\x0A\x0A\x20\x20\x2F\x2F\x20\x5F\x77\x75\x69\x2F\x61\x77\x77\x61\x6E\x2E\x74\x73\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x41\x57\x57\x41\x4E\x5F\x4E\x41\x56\x5F\x4C\x45\x46\x54\x20\x3D\x20\x22\x61\x77\x77\x61\x6E\x5F\x6E\x61\x76\x5F\x6C\x65\x66\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x56\x46\x53\x5F\x49\x4E\x50\x55\x54\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x76\x66\x73\x5F\x69\x6E\x70\x75\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x4E\x45\x57\x5F\x44\x49\x52\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x6E\x65\x77\x5F\x64\x69\x72\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x4E\x45\x57\x5F\x46\x49\x4C\x45\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x6E\x65\x77\x5F\x66\x69\x6C\x65\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x52\x45\x4D\x4F\x56\x45\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x72\x65\x6D\x6F\x76\x65\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x56\x46\x53\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x76\x66\x73\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x56\x46\x53\x5F\x50\x41\x54\x48\x20\x3D\x20\x22\x76\x66\x73\x5F\x70\x61\x74\x68\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x43\x4F\x4D\x5F\x52\x45\x53\x49\x5A\x45\x5F\x56\x46\x53\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x72\x65\x73\x69\x7A\x65\x5F\x76\x66\x73\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x41\x57\x57\x41\x4E\x5F\x4E\x41\x56\x5F\x52\x49\x47\x48\x54\x20\x3D\x20\x22\x61\x77\x77\x61\x6E\x5F\x6E\x61\x76\x5F\x72\x69\x67\x68\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x53\x41\x56\x45\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x73\x61\x76\x65\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x44\x45\x43\x52\x59\x50\x54\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x64\x65\x63\x72\x79\x70\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x45\x4E\x43\x52\x59\x50\x54\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x65\x6E\x63\x72\x79\x70\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x45\x44\x49\x54\x4F\x52\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x65\x64\x69\x74\x6F\x72\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x43\x4C\x41\x53\x53\x5F\x41\x57\x57\x41\x4E\x5F\x45\x58\x45\x43\x55\x54\x45\x20\x3D\x20\x22\x61\x77\x77\x61\x6E\x5F\x65\x78\x65\x63\x75\x74\x65\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x49\x4E\x50\x5F\x4C\x49\x4E\x45\x5F\x52\x41\x4E\x47\x45\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x69\x6E\x70\x5F\x6C\x69\x6E\x65\x5F\x72\x61\x6E\x67\x65\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x45\x58\x45\x43\x5F\x4C\x4F\x43\x41\x4C\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x6C\x6F\x63\x61\x6C\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x42\x54\x4E\x5F\x45\x58\x45\x43\x5F\x52\x45\x4D\x4F\x54\x45\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x62\x74\x6E\x5F\x72\x65\x6D\x6F\x74\x65\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x43\x4F\x4D\x5F\x52\x45\x53\x49\x5A\x45\x5F\x45\x44\x49\x54\x4F\x52\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x72\x65\x73\x69\x7A\x65\x5F\x65\x64\x69\x74\x6F\x72\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x4F\x55\x54\x50\x55\x54\x5F\x57\x52\x41\x50\x50\x45\x52\x20\x3D\x20\x22\x6F\x75\x74\x70\x75\x74\x5F\x77\x72\x61\x70\x70\x65\x72\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x49\x44\x5F\x4F\x55\x54\x50\x55\x54\x20\x3D\x20\x22\x6F\x75\x74\x70\x75\x74\x22\x3B\x0A\x20\x20\x76\x61\x72\x20\x4D\x41\x58\x5F\x46\x49\x4C\x45\x5F\x53\x49\x5A\x45\x20\x3D\x20\x31\x65\x36\x3B\x0A\x20\x20\x76\x61\x72\x20\x53\x54\x4F\x52\x41\x47\x45\x5F\x4B\x45\x59\x5F\x56\x46\x53\x5F\x57\x49\x44\x54\x48\x20\x3D\x20\x22\x76\x66\x73\x5F\x77\x69\x64\x74\x68\x22\x3B\x0A\x20\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x72\x65\x6E\x64\x65\x72\x48\x74\x6D\x6C\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x63\x72\x65\x61\x74\x65\x45\x6C\x65\x6D\x65\x6E\x74\x28\x22\x64\x69\x76\x22\x29\x3B\x0A\x20\x20\x20\x20\x65\x6C\x2E\x63\x6C\x61\x73\x73\x4C\x69\x73\x74\x2E\x61\x64\x64\x28\x22\x61\x77\x77\x61\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x65\x6C\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x60\x0A\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x41\x57\x57\x41\x4E\x5F\x4E\x41\x56\x5F\x4C\x45\x46\x54\x7D\x22\x20\x63\x6C\x61\x73\x73\x3D\x22\x61\x77\x77\x61\x6E\x5F\x6E\x61\x76\x5F\x6C\x65\x66\x74\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x61\x77\x77\x61\x6E\x5F\x76\x66\x73\x5F\x66\x6F\x72\x6D\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x49\x44\x5F\x56\x46\x53\x5F\x49\x4E\x50\x55\x54\x7D\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x69\x6E\x70\x75\x74\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x56\x46\x53\x5F\x49\x4E\x50\x55\x54\x7D\x22\x20\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72\x3D\x22\x49\x6E\x70\x75\x74\x20\x74\x65\x78\x74\x20\x74\x6F\x20\x66\x69\x6C\x74\x65\x72\x20\x28\x61\x6C\x6C\x6F\x77\x20\x72\x65\x67\x65\x78\x70\x29\x22\x20\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x4E\x45\x57\x5F\x44\x49\x52\x7D\x22\x3E\x4E\x65\x77\x20\x64\x69\x72\x2E\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x4E\x45\x57\x5F\x46\x49\x4C\x45\x7D\x22\x3E\x4E\x65\x77\x20\x66\x69\x6C\x65\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x52\x45\x4D\x4F\x56\x45\x7D\x22\x3E\x52\x65\x6D\x6F\x76\x65\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x56\x46\x53\x7D\x22\x3E\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x43\x4F\x4D\x5F\x52\x45\x53\x49\x5A\x45\x5F\x56\x46\x53\x7D\x22\x3E\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x41\x57\x57\x41\x4E\x5F\x4E\x41\x56\x5F\x52\x49\x47\x48\x54\x7D\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x61\x77\x77\x61\x6E\x5F\x66\x69\x6C\x65\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x73\x70\x61\x6E\x20\x63\x6C\x61\x73\x73\x3D\x22\x74\x61\x67\x22\x3E\x46\x69\x6C\x65\x3C\x2F\x73\x70\x61\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x73\x70\x61\x6E\x20\x63\x6C\x61\x73\x73\x3D\x22\x61\x77\x77\x61\x6E\x5F\x66\x69\x6C\x65\x5F\x61\x63\x74\x69\x6F\x6E\x73\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x73\x70\x61\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x56\x46\x53\x5F\x50\x41\x54\x48\x7D\x22\x3E\x2D\x3C\x2F\x73\x70\x61\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x53\x41\x56\x45\x7D\x22\x20\x64\x69\x73\x61\x62\x6C\x65\x64\x3D\x22\x74\x72\x75\x65\x22\x3E\x53\x61\x76\x65\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x45\x4E\x43\x52\x59\x50\x54\x7D\x22\x20\x64\x69\x73\x61\x62\x6C\x65\x64\x3D\x22\x74\x72\x75\x65\x22\x3E\x45\x6E\x63\x72\x79\x70\x74\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x44\x45\x43\x52\x59\x50\x54\x7D\x22\x20\x64\x69\x73\x61\x62\x6C\x65\x64\x3D\x22\x74\x72\x75\x65\x22\x3E\x44\x65\x63\x72\x79\x70\x74\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x73\x70\x61\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x45\x44\x49\x54\x4F\x52\x7D\x22\x3E\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x43\x4F\x4D\x5F\x52\x45\x53\x49\x5A\x45\x5F\x45\x44\x49\x54\x4F\x52\x7D\x22\x3E\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x4F\x55\x54\x50\x55\x54\x5F\x57\x52\x41\x50\x50\x45\x52\x7D\x22\x20\x63\x6C\x61\x73\x73\x3D\x22\x6F\x75\x74\x70\x75\x74\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x24\x7B\x43\x4C\x41\x53\x53\x5F\x41\x57\x57\x41\x4E\x5F\x45\x58\x45\x43\x55\x54\x45\x7D\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x73\x70\x61\x6E\x20\x69\x64\x3D\x22\x65\x78\x65\x63\x5F\x69\x63\x6F\x6E\x22\x3E\x26\x23\x39\x38\x39\x38\x3B\x3C\x2F\x73\x70\x61\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x45\x78\x65\x63\x75\x74\x65\x20\x6C\x69\x6E\x65\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x69\x6E\x70\x75\x74\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x49\x4E\x50\x5F\x4C\x49\x4E\x45\x5F\x52\x41\x4E\x47\x45\x7D\x22\x20\x70\x6C\x61\x63\x65\x68\x6F\x6C\x64\x65\x72\x3D\x22\x45\x78\x3A\x20\x31\x2C\x32\x2D\x34\x2C\x35\x2D\x22\x2F\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x45\x58\x45\x43\x5F\x4C\x4F\x43\x41\x4C\x7D\x22\x20\x64\x69\x73\x61\x62\x6C\x65\x64\x3D\x22\x74\x72\x75\x65\x22\x3E\x4C\x6F\x63\x61\x6C\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x72\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x62\x75\x74\x74\x6F\x6E\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x42\x54\x4E\x5F\x45\x58\x45\x43\x5F\x52\x45\x4D\x4F\x54\x45\x7D\x22\x20\x64\x69\x73\x61\x62\x6C\x65\x64\x3D\x22\x74\x72\x75\x65\x22\x3E\x50\x6C\x61\x79\x3C\x2F\x62\x75\x74\x74\x6F\x6E\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x26\x6E\x62\x73\x70\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x61\x20\x68\x72\x65\x66\x3D\x22\x2F\x64\x6F\x63\x2F\x61\x77\x77\x61\x6E\x2E\x68\x74\x6D\x6C\x23\x63\x6F\x6D\x6D\x61\x6E\x64\x5F\x5F\x6C\x6F\x63\x61\x6C\x5F\x5F\x61\x6E\x64\x5F\x5F\x70\x6C\x61\x79\x5F\x22\x20\x74\x61\x72\x67\x65\x74\x3D\x22\x5F\x62\x6C\x61\x6E\x6B\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x26\x23\x78\x32\x31\x33\x39\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x61\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x69\x64\x3D\x22\x24\x7B\x49\x44\x5F\x4F\x55\x54\x50\x55\x54\x7D\x22\x3E\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x20\x20\x3C\x2F\x64\x69\x76\x3E\x0A\x20\x20\x20\x20\x60\x3B\x0A\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x62\x6F\x64\x79\x2E\x61\x70\x70\x65\x6E\x64\x43\x68\x69\x6C\x64\x28\x65\x6C\x29\x3B\x0A\x20\x20\x7D\x0A\x20\x20\x76\x61\x72\x20\x41\x77\x77\x61\x6E\x20\x3D\x20\x63\x6C\x61\x73\x73\x20\x7B\x0A\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x20\x3D\x20\x6E\x75\x6C\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x6F\x64\x65\x3A\x20\x22\x6C\x6F\x63\x61\x6C\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x63\x72\x69\x70\x74\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x69\x6E\x65\x5F\x72\x61\x6E\x67\x65\x3A\x20\x22\x22\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x72\x67\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x78\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x6E\x64\x65\x72\x48\x74\x6D\x6C\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x41\x57\x57\x41\x4E\x5F\x4E\x41\x56\x5F\x4C\x45\x46\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x4C\x65\x66\x74\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x41\x57\x57\x41\x4E\x5F\x4E\x41\x56\x5F\x52\x49\x47\x48\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x52\x69\x67\x68\x74\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x43\x4F\x4D\x5F\x52\x45\x53\x49\x5A\x45\x5F\x56\x46\x53\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x56\x66\x73\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x74\x68\x69\x73\x2E\x64\x6F\x52\x65\x73\x69\x7A\x65\x56\x66\x73\x28\x65\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x64\x6F\x77\x6E\x22\x2C\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x78\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65\x22\x2C\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x56\x66\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x75\x70\x22\x2C\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x72\x65\x6D\x6F\x76\x65\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65\x22\x2C\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x56\x66\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x78\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x22\x65\x78\x65\x63\x5F\x69\x63\x6F\x6E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x45\x78\x65\x63\x49\x63\x6F\x6E\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x45\x58\x45\x43\x5F\x4C\x4F\x43\x41\x4C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4C\x6F\x63\x61\x6C\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4C\x6F\x63\x61\x6C\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x78\x65\x63\x4C\x6F\x63\x61\x6C\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x45\x58\x45\x43\x5F\x52\x45\x4D\x4F\x54\x45\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x50\x6C\x61\x79\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x50\x6C\x61\x79\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x78\x65\x63\x50\x6C\x61\x79\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x4E\x45\x57\x5F\x44\x49\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4E\x65\x77\x44\x69\x72\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4E\x65\x77\x44\x69\x72\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x65\x77\x4E\x6F\x64\x65\x28\x74\x72\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x4E\x45\x57\x5F\x46\x49\x4C\x45\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4E\x65\x77\x46\x69\x6C\x65\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4E\x65\x77\x46\x69\x6C\x65\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x65\x77\x4E\x6F\x64\x65\x28\x66\x61\x6C\x73\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x52\x45\x4D\x4F\x56\x45\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x52\x65\x6D\x6F\x76\x65\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x52\x65\x6D\x6F\x76\x65\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x52\x65\x6D\x6F\x76\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x53\x41\x56\x45\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x53\x61\x76\x65\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x53\x61\x76\x65\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x53\x61\x76\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x45\x4E\x43\x52\x59\x50\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x45\x6E\x63\x72\x79\x70\x74\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x45\x6E\x63\x72\x79\x70\x74\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x45\x6E\x63\x72\x79\x70\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x42\x54\x4E\x5F\x44\x45\x43\x52\x59\x50\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x44\x65\x63\x72\x79\x70\x74\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x44\x65\x63\x72\x79\x70\x74\x2E\x6F\x6E\x63\x6C\x69\x63\x6B\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x43\x6C\x69\x63\x6B\x44\x65\x63\x72\x79\x70\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x49\x4E\x50\x5F\x4C\x49\x4E\x45\x5F\x52\x41\x4E\x47\x45\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x65\x72\x72\x6F\x72\x28\x60\x66\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x67\x65\x74\x20\x65\x6C\x65\x6D\x65\x6E\x74\x20\x62\x79\x20\x49\x44\x20\x23\x24\x7B\x49\x44\x5F\x49\x4E\x50\x5F\x4C\x49\x4E\x45\x5F\x52\x41\x4E\x47\x45\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x49\x6E\x70\x75\x74\x4C\x69\x6E\x65\x52\x61\x6E\x67\x65\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x56\x46\x53\x5F\x49\x4E\x50\x55\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x56\x66\x73\x49\x6E\x70\x75\x74\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x56\x66\x73\x49\x6E\x70\x75\x74\x2E\x6F\x6E\x69\x6E\x70\x75\x74\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x56\x66\x73\x49\x6E\x70\x75\x74\x46\x69\x6C\x74\x65\x72\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x56\x66\x73\x49\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x56\x46\x53\x5F\x50\x41\x54\x48\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x46\x69\x6C\x65\x50\x61\x74\x68\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x4F\x55\x54\x50\x55\x54\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x4F\x55\x54\x50\x55\x54\x5F\x57\x52\x41\x50\x50\x45\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x57\x72\x61\x70\x70\x65\x72\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x64\x69\x74\x6F\x72\x4F\x70\x74\x73\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3A\x20\x49\x44\x5F\x45\x44\x49\x54\x4F\x52\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x45\x64\x69\x74\x61\x62\x6C\x65\x3A\x20\x74\x72\x75\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x6E\x53\x61\x76\x65\x3A\x20\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x4F\x6E\x53\x61\x76\x65\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x45\x64\x69\x74\x6F\x72\x28\x65\x64\x69\x74\x6F\x72\x4F\x70\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x6C\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x45\x44\x49\x54\x4F\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x64\x69\x74\x6F\x72\x20\x3D\x20\x65\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x66\x73\x4F\x70\x74\x73\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x64\x3A\x20\x49\x44\x5F\x56\x46\x53\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x70\x65\x6E\x3A\x20\x28\x70\x61\x74\x68\x2C\x20\x69\x73\x44\x69\x72\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x28\x70\x61\x74\x68\x2C\x20\x69\x73\x44\x69\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x3A\x20\x28\x6E\x6F\x64\x65\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x66\x73\x20\x3D\x20\x6E\x65\x77\x20\x57\x75\x69\x56\x66\x73\x28\x76\x66\x73\x4F\x70\x74\x73\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6F\x6E\x68\x61\x73\x68\x63\x68\x61\x6E\x67\x65\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x61\x73\x68\x63\x68\x61\x6E\x67\x65\x20\x3D\x20\x65\x76\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x75\x72\x6C\x20\x3D\x20\x6E\x65\x77\x20\x55\x52\x4C\x28\x68\x61\x73\x68\x63\x68\x61\x6E\x67\x65\x2E\x6E\x65\x77\x55\x52\x4C\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x6E\x48\x61\x73\x68\x43\x68\x61\x6E\x67\x65\x28\x75\x72\x6C\x2E\x68\x61\x73\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6C\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x49\x44\x5F\x43\x4F\x4D\x5F\x52\x45\x53\x49\x5A\x45\x5F\x45\x44\x49\x54\x4F\x52\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x74\x68\x69\x73\x2E\x64\x6F\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x28\x65\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x64\x6F\x77\x6E\x22\x2C\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65\x22\x2C\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x75\x70\x22\x2C\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x72\x65\x6D\x6F\x76\x65\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x6D\x6F\x75\x73\x65\x6D\x6F\x76\x65\x22\x2C\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x76\x66\x73\x57\x69\x64\x74\x68\x20\x3D\x20\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x67\x65\x74\x49\x74\x65\x6D\x28\x53\x54\x4F\x52\x41\x47\x45\x5F\x4B\x45\x59\x5F\x56\x46\x53\x5F\x57\x49\x44\x54\x48\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x76\x66\x73\x57\x69\x64\x74\x68\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x73\x65\x74\x56\x66\x73\x57\x69\x64\x74\x68\x28\x70\x61\x72\x73\x65\x49\x6E\x74\x28\x76\x66\x73\x57\x69\x64\x74\x68\x2C\x20\x31\x30\x29\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x48\x61\x73\x68\x43\x68\x61\x6E\x67\x65\x28\x68\x61\x73\x68\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x68\x61\x73\x68\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x61\x73\x68\x20\x3D\x20\x22\x23\x2F\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x68\x61\x73\x68\x20\x3D\x20\x68\x61\x73\x68\x2E\x73\x75\x62\x73\x74\x72\x69\x6E\x67\x28\x31\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x66\x73\x2E\x6F\x70\x65\x6E\x44\x69\x72\x28\x68\x61\x73\x68\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x63\x6F\x6E\x66\x69\x72\x6D\x57\x68\x65\x6E\x44\x69\x72\x74\x79\x20\x63\x68\x65\x63\x6B\x20\x69\x66\x20\x74\x68\x65\x20\x65\x64\x69\x74\x6F\x72\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x68\x61\x73\x20\x63\x68\x61\x6E\x67\x65\x73\x20\x62\x65\x66\x6F\x72\x65\x20\x6F\x70\x65\x6E\x69\x6E\x67\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6E\x65\x77\x20\x66\x69\x6C\x65\x2E\x0A\x20\x20\x20\x20\x2F\x2F\x20\x49\x66\x20\x79\x65\x73\x2C\x20\x64\x69\x73\x70\x6C\x61\x79\x20\x64\x69\x61\x6C\x6F\x67\x20\x62\x6F\x78\x20\x74\x6F\x20\x63\x6F\x6E\x66\x69\x72\x6D\x20\x77\x68\x65\x74\x68\x65\x72\x20\x63\x6F\x6E\x74\x69\x6E\x75\x69\x6E\x67\x20\x6F\x70\x65\x6E\x69\x6E\x67\x20\x66\x69\x6C\x65\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6F\x72\x20\x63\x61\x6E\x63\x65\x6C\x20\x69\x74\x2E\x0A\x20\x20\x20\x20\x2F\x2F\x20\x49\x74\x20\x77\x69\x6C\x6C\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x20\x74\x6F\x20\x63\x6F\x6E\x74\x69\x6E\x75\x65\x20\x6F\x70\x65\x6E\x69\x6E\x67\x20\x66\x69\x6C\x65\x20\x6F\x72\x20\x66\x61\x6C\x73\x65\x20\x69\x66\x20\x75\x73\x65\x72\x20\x77\x61\x6E\x74\x73\x20\x74\x6F\x0A\x20\x20\x20\x20\x2F\x2F\x20\x63\x61\x6E\x63\x65\x6C\x20\x69\x74\x2E\x0A\x20\x20\x20\x20\x63\x6F\x6E\x66\x69\x72\x6D\x57\x68\x65\x6E\x44\x69\x72\x74\x79\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6E\x65\x77\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x6F\x72\x67\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x3D\x20\x6E\x65\x77\x43\x6F\x6E\x74\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x77\x69\x6E\x64\x6F\x77\x2E\x63\x6F\x6E\x66\x69\x72\x6D\x28\x22\x46\x69\x6C\x65\x20\x68\x61\x73\x20\x63\x68\x61\x6E\x67\x65\x73\x2C\x20\x63\x6F\x6E\x74\x69\x6E\x75\x65\x20\x77\x69\x74\x68\x6F\x75\x74\x20\x73\x61\x76\x65\x3F\x22\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6F\x70\x65\x6E\x20\x66\x65\x74\x63\x68\x20\x74\x68\x65\x20\x6E\x6F\x64\x65\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x66\x72\x6F\x6D\x20\x72\x65\x6D\x6F\x74\x65\x20\x73\x65\x72\x76\x65\x72\x2E\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x70\x65\x6E\x28\x70\x61\x74\x68\x2C\x20\x69\x73\x44\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x22\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x66\x73\x3F\x70\x61\x74\x68\x3D\x22\x20\x2B\x20\x70\x61\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x60\x46\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x6F\x70\x65\x6E\x20\x24\x7B\x70\x61\x74\x68\x7D\x3A\x20\x24\x7B\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6E\x6F\x64\x65\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x69\x73\x44\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x20\x3D\x20\x6E\x6F\x64\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x74\x69\x6F\x6E\x2E\x68\x61\x73\x68\x20\x3D\x20\x22\x23\x22\x20\x2B\x20\x70\x61\x74\x68\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x56\x66\x73\x49\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x20\x3D\x20\x22\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x41\x6C\x6C\x6F\x77\x20\x3D\x20\x74\x68\x69\x73\x2E\x69\x73\x45\x64\x69\x74\x41\x6C\x6C\x6F\x77\x65\x64\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x41\x6C\x6C\x6F\x77\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x72\x65\x73\x41\x6C\x6C\x6F\x77\x2E\x6D\x65\x73\x73\x61\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x41\x6C\x6C\x6F\x77\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x46\x69\x6C\x65\x50\x61\x74\x68\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x70\x61\x74\x68\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x20\x3D\x20\x70\x61\x74\x68\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x72\x67\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4C\x6F\x63\x61\x6C\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x50\x6C\x61\x79\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x53\x61\x76\x65\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x70\x61\x74\x68\x2E\x65\x6E\x64\x73\x57\x69\x74\x68\x28\x22\x2E\x76\x61\x75\x6C\x74\x22\x29\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x44\x65\x63\x72\x79\x70\x74\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x45\x6E\x63\x72\x79\x70\x74\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x73\x65\x74\x45\x64\x69\x74\x61\x62\x6C\x65\x28\x66\x61\x6C\x73\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x44\x65\x63\x72\x79\x70\x74\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x45\x6E\x63\x72\x79\x70\x74\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x73\x65\x74\x45\x64\x69\x74\x61\x62\x6C\x65\x28\x74\x72\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x20\x69\x73\x20\x61\x6E\x20\x68\x61\x6E\x64\x6C\x65\x72\x20\x74\x68\x61\x74\x20\x77\x69\x6C\x6C\x20\x63\x61\x6C\x6C\x65\x64\x20\x77\x68\x65\x6E\x20\x75\x73\x65\x72\x20\x63\x6C\x69\x63\x6B\x20\x6F\x6E\x20\x6F\x66\x20\x74\x68\x65\x0A\x20\x20\x20\x20\x2F\x2F\x20\x69\x74\x65\x6D\x20\x69\x6E\x20\x74\x68\x65\x20\x6C\x69\x73\x74\x2E\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x70\x65\x6E\x4E\x6F\x64\x65\x28\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x72\x65\x73\x20\x3D\x20\x74\x68\x69\x73\x2E\x69\x73\x45\x64\x69\x74\x41\x6C\x6C\x6F\x77\x65\x64\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x6E\x6F\x64\x65\x2E\x69\x73\x5F\x64\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6F\x6B\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6E\x66\x69\x72\x6D\x57\x68\x65\x6E\x44\x69\x72\x74\x79\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x6F\x6B\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x2E\x70\x61\x74\x68\x2C\x20\x6E\x6F\x64\x65\x2E\x69\x73\x5F\x64\x69\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x69\x73\x45\x64\x69\x74\x41\x6C\x6C\x6F\x77\x65\x64\x28\x6E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x64\x65\x3A\x20\x34\x31\x32\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x73\x73\x61\x67\x65\x3A\x20\x22\x22\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6E\x6F\x64\x65\x2E\x73\x69\x7A\x65\x20\x26\x26\x20\x6E\x6F\x64\x65\x2E\x73\x69\x7A\x65\x20\x3E\x20\x4D\x41\x58\x5F\x46\x49\x4C\x45\x5F\x53\x49\x5A\x45\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x20\x3D\x20\x60\x54\x68\x65\x20\x66\x69\x6C\x65\x20\x22\x24\x7B\x6E\x6F\x64\x65\x2E\x6E\x61\x6D\x65\x7D\x22\x20\x77\x69\x74\x68\x20\x73\x69\x7A\x65\x20\x24\x7B\x6E\x6F\x64\x65\x2E\x73\x69\x7A\x65\x20\x2F\x20\x31\x30\x32\x34\x7D\x4B\x42\x20\x69\x73\x20\x67\x72\x65\x61\x74\x65\x72\x20\x74\x68\x61\x6E\x20\x6D\x61\x78\x69\x6D\x75\x6D\x20\x24\x7B\x4D\x41\x58\x5F\x46\x49\x4C\x45\x5F\x53\x49\x5A\x45\x20\x2F\x20\x31\x65\x33\x7D\x4B\x42\x2E\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x3D\x20\x32\x30\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x45\x6E\x63\x72\x79\x70\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x20\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x22\x4E\x6F\x20\x66\x69\x6C\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6F\x6B\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6E\x66\x69\x72\x6D\x57\x68\x65\x6E\x44\x69\x72\x74\x79\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x6F\x6B\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x70\x61\x74\x68\x20\x3D\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x71\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x5F\x76\x61\x75\x6C\x74\x3A\x20\x22\x22\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x22\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x65\x6E\x63\x72\x79\x70\x74\x22\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x63\x63\x65\x70\x74\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x65\x71\x29\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6A\x73\x6F\x6E\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x60\x46\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x65\x6E\x63\x72\x79\x70\x74\x20\x66\x69\x6C\x65\x20\x24\x7B\x70\x61\x74\x68\x7D\x3A\x20\x24\x7B\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6E\x63\x52\x65\x73\x20\x3D\x20\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x49\x6E\x66\x6F\x28\x60\x46\x69\x6C\x65\x20\x24\x7B\x70\x61\x74\x68\x7D\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x65\x6E\x63\x72\x79\x70\x74\x65\x64\x20\x74\x6F\x20\x24\x7B\x65\x6E\x63\x52\x65\x73\x2E\x70\x61\x74\x68\x5F\x76\x61\x75\x6C\x74\x7D\x2E\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x28\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x70\x61\x74\x68\x2C\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x69\x73\x5F\x64\x69\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x44\x65\x63\x72\x79\x70\x74\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x20\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x22\x4E\x6F\x20\x66\x69\x6C\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x70\x61\x74\x68\x56\x61\x75\x6C\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x71\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x5F\x76\x61\x75\x6C\x74\x3A\x20\x70\x61\x74\x68\x56\x61\x75\x6C\x74\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x22\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x64\x65\x63\x72\x79\x70\x74\x22\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x63\x63\x65\x70\x74\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x65\x71\x29\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6A\x73\x6F\x6E\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x60\x46\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x64\x65\x63\x72\x79\x70\x74\x20\x66\x69\x6C\x65\x20\x24\x7B\x70\x61\x74\x68\x56\x61\x75\x6C\x74\x7D\x3A\x20\x24\x7B\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x6E\x63\x52\x65\x73\x20\x3D\x20\x6A\x73\x6F\x6E\x52\x65\x73\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x49\x6E\x66\x6F\x28\x60\x46\x69\x6C\x65\x20\x24\x7B\x70\x61\x74\x68\x56\x61\x75\x6C\x74\x7D\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x64\x65\x63\x72\x79\x70\x74\x65\x64\x20\x74\x6F\x20\x24\x7B\x65\x6E\x63\x52\x65\x73\x2E\x70\x61\x74\x68\x7D\x2E\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x70\x65\x6E\x28\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x70\x61\x74\x68\x2C\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x69\x73\x5F\x64\x69\x72\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x53\x61\x76\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x20\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6C\x20\x3D\x20\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x6C\x65\x6E\x67\x74\x68\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6C\x20\x3E\x20\x30\x20\x26\x26\x20\x63\x6F\x6E\x74\x65\x6E\x74\x5B\x6C\x20\x2D\x20\x31\x5D\x20\x21\x3D\x20\x22\x5C\x6E\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x2B\x3D\x20\x22\x5C\x6E\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x63\x6F\x6E\x74\x65\x6E\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x64\x6F\x53\x61\x76\x65\x46\x69\x6C\x65\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x2C\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x65\x64\x69\x74\x6F\x72\x4F\x6E\x53\x61\x76\x65\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x64\x6F\x53\x61\x76\x65\x46\x69\x6C\x65\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x2C\x20\x63\x6F\x6E\x74\x65\x6E\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x64\x6F\x53\x61\x76\x65\x46\x69\x6C\x65\x28\x70\x61\x74\x68\x2C\x20\x63\x6F\x6E\x74\x65\x6E\x74\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x71\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x3A\x20\x62\x74\x6F\x61\x28\x63\x6F\x6E\x74\x65\x6E\x74\x29\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x22\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x66\x73\x22\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x55\x54\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x63\x63\x65\x70\x74\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x65\x71\x29\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x60\x46\x61\x69\x6C\x65\x64\x20\x74\x6F\x20\x73\x61\x76\x65\x20\x66\x69\x6C\x65\x20\x24\x7B\x70\x61\x74\x68\x7D\x3A\x20\x24\x7B\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x6E\x75\x6C\x6C\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x49\x6E\x66\x6F\x28\x60\x46\x69\x6C\x65\x20\x24\x7B\x70\x61\x74\x68\x7D\x20\x68\x61\x73\x20\x62\x65\x65\x6E\x20\x73\x61\x76\x65\x64\x2E\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6E\x6F\x64\x65\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x6F\x70\x65\x6E\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6F\x72\x67\x43\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x65\x78\x65\x63\x4C\x6F\x63\x61\x6C\x20\x72\x65\x71\x75\x65\x73\x74\x20\x74\x6F\x20\x65\x78\x65\x63\x75\x74\x65\x20\x74\x68\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x20\x73\x63\x72\x69\x70\x74\x20\x6F\x6E\x20\x6C\x6F\x63\x61\x6C\x20\x73\x79\x73\x74\x65\x6D\x2E\x0A\x20\x20\x20\x20\x65\x78\x65\x63\x4C\x6F\x63\x61\x6C\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x20\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x60\x45\x78\x65\x63\x75\x74\x65\x20\x6F\x6E\x20\x6C\x6F\x63\x61\x6C\x3A\x20\x6E\x6F\x20\x66\x69\x6C\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x49\x6E\x70\x75\x74\x4C\x69\x6E\x65\x52\x61\x6E\x67\x65\x2E\x76\x61\x6C\x75\x65\x2E\x74\x72\x69\x6D\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x60\x45\x6D\x70\x74\x79\x20\x6C\x69\x6E\x65\x20\x72\x61\x6E\x67\x65\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x68\x74\x74\x70\x41\x70\x69\x45\x78\x65\x63\x75\x74\x65\x28\x22\x6C\x6F\x63\x61\x6C\x22\x2C\x20\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x65\x78\x65\x63\x50\x6C\x61\x79\x20\x72\x65\x71\x75\x65\x73\x74\x20\x74\x6F\x20\x65\x78\x65\x63\x75\x74\x65\x20\x74\x68\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x20\x73\x63\x72\x69\x70\x74\x20\x6F\x6E\x20\x72\x65\x6D\x6F\x74\x65\x20\x73\x79\x73\x74\x65\x6D\x2E\x0A\x20\x20\x20\x20\x65\x78\x65\x63\x50\x6C\x61\x79\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x20\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x60\x45\x78\x65\x63\x75\x74\x65\x20\x6F\x6E\x20\x72\x65\x6D\x6F\x74\x65\x3A\x20\x6E\x6F\x20\x66\x69\x6C\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x49\x6E\x70\x75\x74\x4C\x69\x6E\x65\x52\x61\x6E\x67\x65\x2E\x76\x61\x6C\x75\x65\x2E\x74\x72\x69\x6D\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x60\x45\x6D\x70\x74\x79\x20\x6C\x69\x6E\x65\x20\x72\x61\x6E\x67\x65\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x68\x74\x74\x70\x41\x70\x69\x45\x78\x65\x63\x75\x74\x65\x28\x22\x72\x65\x6D\x6F\x74\x65\x22\x2C\x20\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x68\x74\x74\x70\x41\x70\x69\x45\x78\x65\x63\x75\x74\x65\x28\x6D\x6F\x64\x65\x2C\x20\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x70\x72\x65\x45\x78\x65\x63\x75\x74\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x2B\x3D\x20\x22\x5C\x6E\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x6D\x6F\x64\x65\x20\x3D\x20\x6D\x6F\x64\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x63\x6F\x6E\x74\x65\x6E\x74\x20\x3D\x20\x62\x74\x6F\x61\x28\x74\x68\x69\x73\x2E\x65\x64\x69\x74\x6F\x72\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x6E\x74\x28\x29\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x6C\x69\x6E\x65\x5F\x72\x61\x6E\x67\x65\x20\x3D\x20\x6C\x69\x6E\x65\x52\x61\x6E\x67\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x22\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x65\x78\x65\x63\x75\x74\x65\x22\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x63\x63\x65\x70\x74\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x29\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x60\x45\x78\x65\x63\x75\x74\x65\x20\x66\x61\x69\x6C\x65\x64\x3A\x20\x24\x7B\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x70\x6F\x73\x74\x45\x78\x65\x63\x75\x74\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x78\x65\x63\x52\x65\x73\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x49\x6E\x66\x6F\x28\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x60\x45\x78\x65\x63\x75\x74\x65\x20\x73\x75\x62\x6D\x69\x74\x74\x65\x64\x20\x24\x7B\x65\x78\x65\x63\x52\x65\x73\x2E\x73\x63\x72\x69\x70\x74\x7D\x20\x6F\x6E\x20\x24\x7B\x65\x78\x65\x63\x52\x65\x73\x2E\x6D\x6F\x64\x65\x7D\x20\x77\x69\x74\x68\x20\x49\x44\x3D\x24\x7B\x65\x78\x65\x63\x52\x65\x73\x2E\x69\x64\x7D\x60\x0A\x20\x20\x20\x20\x20\x20\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x65\x78\x65\x63\x54\x61\x69\x6C\x20\x3D\x20\x6E\x65\x77\x20\x45\x76\x65\x6E\x74\x53\x6F\x75\x72\x63\x65\x28\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x60\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x65\x78\x65\x63\x75\x74\x65\x2F\x74\x61\x69\x6C\x3F\x69\x64\x3D\x24\x7B\x65\x78\x65\x63\x52\x65\x73\x2E\x69\x64\x7D\x60\x0A\x20\x20\x20\x20\x20\x20\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x78\x65\x63\x54\x61\x69\x6C\x2E\x6F\x6E\x65\x72\x72\x6F\x72\x20\x3D\x20\x28\x65\x72\x72\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x20\x3D\x3D\x3D\x20\x45\x76\x65\x6E\x74\x53\x6F\x75\x72\x63\x65\x2E\x43\x4F\x4E\x4E\x45\x43\x54\x49\x4E\x47\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x69\x6E\x66\x6F\x28\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x60\x65\x78\x65\x63\x54\x61\x69\x6C\x3A\x20\x72\x65\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6E\x67\x20\x77\x69\x74\x68\x20\x4C\x61\x73\x74\x45\x76\x65\x6E\x74\x49\x44\x3D\x24\x7B\x65\x78\x65\x63\x54\x61\x69\x6C\x2E\x6C\x61\x73\x74\x45\x76\x65\x6E\x74\x49\x44\x7D\x60\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x72\x65\x61\x64\x79\x53\x74\x61\x74\x65\x20\x3D\x3D\x3D\x20\x45\x76\x65\x6E\x74\x53\x6F\x75\x72\x63\x65\x2E\x4F\x50\x45\x4E\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x65\x72\x72\x6F\x72\x28\x60\x65\x78\x65\x63\x54\x61\x69\x6C\x3A\x20\x6F\x6E\x65\x72\x72\x6F\x72\x3A\x20\x24\x7B\x65\x72\x72\x2E\x64\x61\x74\x61\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x6F\x6C\x65\x2E\x65\x72\x72\x6F\x72\x28\x60\x65\x78\x65\x63\x54\x61\x69\x6C\x3A\x20\x63\x6F\x6E\x6E\x65\x63\x74\x69\x6F\x6E\x20\x63\x6C\x6F\x73\x65\x64\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x78\x65\x63\x54\x61\x69\x6C\x2E\x63\x6C\x6F\x73\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x70\x6F\x73\x74\x45\x78\x65\x63\x75\x74\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x78\x65\x63\x54\x61\x69\x6C\x2E\x6F\x6E\x6D\x65\x73\x73\x61\x67\x65\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x2B\x3D\x20\x65\x76\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x2E\x73\x63\x72\x6F\x6C\x6C\x54\x6F\x28\x30\x2C\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x2E\x73\x63\x72\x6F\x6C\x6C\x48\x65\x69\x67\x68\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x78\x65\x63\x54\x61\x69\x6C\x2E\x6F\x6E\x6F\x70\x65\x6E\x20\x3D\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x77\x68\x69\x6C\x65\x45\x78\x65\x63\x75\x74\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x78\x65\x63\x54\x61\x69\x6C\x2E\x61\x64\x64\x45\x76\x65\x6E\x74\x4C\x69\x73\x74\x65\x6E\x65\x72\x28\x22\x65\x6E\x64\x22\x2C\x20\x28\x29\x20\x3D\x3E\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x78\x65\x63\x54\x61\x69\x6C\x2E\x63\x6C\x6F\x73\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x70\x6F\x73\x74\x45\x78\x65\x63\x75\x74\x65\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x70\x72\x65\x45\x78\x65\x63\x75\x74\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4C\x6F\x63\x61\x6C\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x50\x6C\x61\x79\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x45\x78\x65\x63\x49\x63\x6F\x6E\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x26\x23\x31\x32\x38\x39\x39\x33\x3B\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x77\x68\x69\x6C\x65\x45\x78\x65\x63\x75\x74\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x45\x78\x65\x63\x49\x63\x6F\x6E\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x26\x23\x31\x32\x38\x39\x39\x34\x3B\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x70\x6F\x73\x74\x45\x78\x65\x63\x75\x74\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x4C\x6F\x63\x61\x6C\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x42\x74\x6E\x50\x6C\x61\x79\x2E\x64\x69\x73\x61\x62\x6C\x65\x64\x20\x3D\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x65\x6C\x45\x78\x65\x63\x49\x63\x6F\x6E\x2E\x69\x6E\x6E\x65\x72\x48\x54\x4D\x4C\x20\x3D\x20\x22\x26\x23\x39\x38\x39\x38\x3B\x22\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6E\x65\x77\x4E\x6F\x64\x65\x28\x69\x73\x44\x69\x72\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x22\x4E\x6F\x20\x61\x63\x74\x69\x76\x65\x20\x64\x69\x72\x65\x63\x74\x6F\x72\x79\x20\x6C\x6F\x61\x64\x65\x64\x20\x6F\x72\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x2E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6E\x61\x6D\x65\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x56\x66\x73\x49\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6E\x61\x6D\x65\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x22\x45\x6D\x70\x74\x79\x20\x66\x69\x6C\x65\x20\x6E\x61\x6D\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x71\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x3A\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x70\x61\x74\x68\x20\x2B\x20\x22\x2F\x22\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6E\x61\x6D\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x64\x69\x72\x3A\x20\x69\x73\x44\x69\x72\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x5F\x74\x79\x70\x65\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x6F\x64\x5F\x74\x69\x6D\x65\x3A\x20\x30\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x73\x69\x7A\x65\x3A\x20\x30\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x6F\x64\x65\x3A\x20\x22\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x68\x69\x6C\x64\x73\x3A\x20\x5B\x5D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x3A\x20\x22\x22\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x22\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x66\x73\x22\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x50\x4F\x53\x54\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x63\x63\x65\x70\x74\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x65\x71\x29\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x60\x6E\x65\x77\x4E\x6F\x64\x65\x3A\x20\x24\x7B\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6E\x6F\x64\x65\x20\x3D\x20\x72\x65\x73\x2E\x64\x61\x74\x61\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x63\x68\x69\x6C\x64\x73\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x63\x68\x69\x6C\x64\x73\x20\x3D\x20\x5B\x5D\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x63\x68\x69\x6C\x64\x73\x2E\x70\x75\x73\x68\x28\x6E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x66\x73\x2E\x73\x65\x74\x28\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x61\x73\x79\x6E\x63\x20\x6F\x6E\x43\x6C\x69\x63\x6B\x52\x65\x6D\x6F\x76\x65\x28\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x21\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x22\x4E\x6F\x20\x66\x69\x6C\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x2E\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6E\x61\x6D\x65\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x56\x66\x73\x49\x6E\x70\x75\x74\x2E\x76\x61\x6C\x75\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x6E\x61\x6D\x65\x20\x3D\x3D\x3D\x20\x22\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x22\x45\x6D\x70\x74\x79\x20\x66\x69\x6C\x65\x20\x6E\x61\x6D\x65\x22\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x71\x20\x3D\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x70\x61\x74\x68\x3A\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x70\x61\x74\x68\x20\x2B\x20\x22\x2F\x22\x20\x2B\x20\x6E\x61\x6D\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x69\x73\x5F\x64\x69\x72\x3A\x20\x66\x61\x6C\x73\x65\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x3A\x20\x22\x22\x0A\x20\x20\x20\x20\x20\x20\x7D\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x68\x74\x74\x70\x52\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x66\x65\x74\x63\x68\x28\x22\x2F\x61\x77\x77\x61\x6E\x2F\x61\x70\x69\x2F\x66\x73\x22\x2C\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6D\x65\x74\x68\x6F\x64\x3A\x20\x22\x44\x45\x4C\x45\x54\x45\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x68\x65\x61\x64\x65\x72\x73\x3A\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x41\x63\x63\x65\x70\x74\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x3A\x20\x22\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x2F\x6A\x73\x6F\x6E\x22\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x7D\x2C\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x62\x6F\x64\x79\x3A\x20\x4A\x53\x4F\x4E\x2E\x73\x74\x72\x69\x6E\x67\x69\x66\x79\x28\x72\x65\x71\x29\x0A\x20\x20\x20\x20\x20\x20\x7D\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x20\x3D\x20\x61\x77\x61\x69\x74\x20\x68\x74\x74\x70\x52\x65\x73\x2E\x6A\x73\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x2E\x63\x6F\x64\x65\x20\x21\x3D\x20\x32\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x60\x72\x65\x6D\x6F\x76\x65\x3A\x20\x24\x7B\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x6E\x6F\x74\x69\x66\x49\x6E\x66\x6F\x28\x60\x24\x7B\x72\x65\x73\x2E\x6D\x65\x73\x73\x61\x67\x65\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x66\x73\x2E\x6F\x70\x65\x6E\x44\x69\x72\x28\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x4E\x6F\x64\x65\x2E\x70\x61\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x2F\x2F\x20\x6F\x6E\x56\x66\x73\x49\x6E\x70\x75\x74\x46\x69\x6C\x74\x65\x72\x20\x66\x69\x6C\x74\x65\x72\x20\x74\x68\x65\x20\x56\x46\x53\x20\x6C\x69\x73\x74\x20\x62\x61\x73\x65\x64\x20\x6F\x6E\x20\x69\x6E\x70\x75\x74\x20\x76\x61\x6C\x2E\x0A\x20\x20\x20\x20\x6F\x6E\x56\x66\x73\x49\x6E\x70\x75\x74\x46\x69\x6C\x74\x65\x72\x28\x76\x61\x6C\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x76\x66\x73\x2E\x66\x69\x6C\x74\x65\x72\x28\x76\x61\x6C\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x56\x66\x73\x28\x65\x76\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x78\x20\x3D\x3D\x20\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x78\x20\x3D\x20\x65\x76\x2E\x63\x6C\x69\x65\x6E\x74\x58\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x64\x69\x66\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x78\x20\x2D\x20\x65\x76\x2E\x63\x6C\x69\x65\x6E\x74\x58\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x64\x69\x66\x66\x20\x3E\x20\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x73\x69\x7A\x65\x56\x66\x73\x4C\x65\x66\x74\x28\x64\x69\x66\x66\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x73\x69\x7A\x65\x56\x66\x73\x52\x69\x67\x68\x74\x28\x64\x69\x66\x66\x20\x2A\x20\x2D\x31\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x78\x20\x3D\x20\x65\x76\x2E\x63\x6C\x69\x65\x6E\x74\x58\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x73\x69\x7A\x65\x56\x66\x73\x4C\x65\x66\x74\x28\x64\x69\x66\x66\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x4C\x65\x66\x74\x2E\x63\x6C\x69\x65\x6E\x74\x57\x69\x64\x74\x68\x20\x3C\x3D\x20\x33\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x69\x64\x74\x68\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x4C\x65\x66\x74\x2E\x63\x6C\x69\x65\x6E\x74\x57\x69\x64\x74\x68\x20\x2D\x20\x64\x69\x66\x66\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x73\x65\x74\x56\x66\x73\x57\x69\x64\x74\x68\x28\x77\x69\x64\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x53\x54\x4F\x52\x41\x47\x45\x5F\x4B\x45\x59\x5F\x56\x46\x53\x5F\x57\x49\x44\x54\x48\x2C\x20\x60\x24\x7B\x77\x69\x64\x74\x68\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x73\x65\x74\x56\x66\x73\x57\x69\x64\x74\x68\x28\x77\x69\x64\x74\x68\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x4C\x65\x66\x74\x2E\x73\x74\x79\x6C\x65\x2E\x77\x69\x64\x74\x68\x20\x3D\x20\x60\x24\x7B\x77\x69\x64\x74\x68\x7D\x70\x78\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x77\x69\x64\x74\x68\x20\x2B\x3D\x20\x33\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x52\x69\x67\x68\x74\x2E\x73\x74\x79\x6C\x65\x2E\x77\x69\x64\x74\x68\x20\x3D\x20\x60\x63\x61\x6C\x63\x28\x31\x30\x30\x25\x20\x2D\x20\x24\x7B\x77\x69\x64\x74\x68\x7D\x70\x78\x29\x60\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x73\x69\x7A\x65\x56\x66\x73\x52\x69\x67\x68\x74\x28\x64\x69\x66\x66\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x52\x69\x67\x68\x74\x2E\x63\x6C\x69\x65\x6E\x74\x57\x69\x64\x74\x68\x20\x3C\x3D\x20\x35\x30\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x77\x69\x64\x74\x68\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4E\x61\x76\x4C\x65\x66\x74\x2E\x63\x6C\x69\x65\x6E\x74\x57\x69\x64\x74\x68\x20\x2B\x20\x64\x69\x66\x66\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x73\x65\x74\x56\x66\x73\x57\x69\x64\x74\x68\x28\x77\x69\x64\x74\x68\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x6F\x63\x61\x6C\x53\x74\x6F\x72\x61\x67\x65\x2E\x73\x65\x74\x49\x74\x65\x6D\x28\x53\x54\x4F\x52\x41\x47\x45\x5F\x4B\x45\x59\x5F\x56\x46\x53\x5F\x57\x49\x44\x54\x48\x2C\x20\x60\x24\x7B\x77\x69\x64\x74\x68\x7D\x60\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x64\x6F\x52\x65\x73\x69\x7A\x65\x45\x64\x69\x74\x6F\x72\x28\x65\x76\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x70\x72\x65\x76\x65\x6E\x74\x44\x65\x66\x61\x75\x6C\x74\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x65\x76\x2E\x73\x74\x6F\x70\x50\x72\x6F\x70\x61\x67\x61\x74\x69\x6F\x6E\x28\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x3D\x3D\x20\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x3D\x20\x65\x76\x2E\x63\x6C\x69\x65\x6E\x74\x59\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x66\x61\x6C\x73\x65\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x64\x69\x66\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x2D\x20\x65\x76\x2E\x63\x6C\x69\x65\x6E\x74\x59\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x64\x69\x66\x66\x20\x3E\x20\x30\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x73\x69\x7A\x65\x55\x70\x28\x64\x69\x66\x66\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x20\x65\x6C\x73\x65\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x72\x65\x73\x69\x7A\x65\x44\x6F\x77\x6E\x28\x64\x69\x66\x66\x20\x2A\x20\x2D\x31\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x3D\x20\x65\x76\x2E\x63\x6C\x69\x65\x6E\x74\x59\x3B\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x74\x72\x75\x65\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x73\x69\x7A\x65\x55\x70\x28\x64\x69\x66\x66\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x64\x69\x74\x6F\x72\x2E\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x20\x3C\x3D\x20\x31\x32\x36\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x68\x65\x69\x67\x68\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x64\x69\x74\x6F\x72\x2E\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x20\x2D\x20\x64\x69\x66\x66\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x64\x69\x74\x6F\x72\x2E\x73\x74\x79\x6C\x65\x2E\x68\x65\x69\x67\x68\x74\x20\x3D\x20\x60\x24\x7B\x68\x65\x69\x67\x68\x74\x7D\x70\x78\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x68\x65\x69\x67\x68\x74\x20\x2B\x3D\x20\x31\x30\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x57\x72\x61\x70\x70\x65\x72\x2E\x73\x74\x79\x6C\x65\x2E\x68\x65\x69\x67\x68\x74\x20\x3D\x20\x60\x63\x61\x6C\x63\x28\x31\x30\x30\x25\x20\x2D\x20\x24\x7B\x68\x65\x69\x67\x68\x74\x7D\x70\x78\x29\x60\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x72\x65\x73\x69\x7A\x65\x44\x6F\x77\x6E\x28\x64\x69\x66\x66\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x57\x72\x61\x70\x70\x65\x72\x2E\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x20\x3C\x3D\x20\x31\x32\x36\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\x74\x20\x68\x65\x69\x67\x68\x74\x20\x3D\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x64\x69\x74\x6F\x72\x2E\x63\x6C\x69\x65\x6E\x74\x48\x65\x69\x67\x68\x74\x20\x2B\x20\x64\x69\x66\x66\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x45\x64\x69\x74\x6F\x72\x2E\x73\x74\x79\x6C\x65\x2E\x68\x65\x69\x67\x68\x74\x20\x3D\x20\x60\x24\x7B\x68\x65\x69\x67\x68\x74\x7D\x70\x78\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x68\x65\x69\x67\x68\x74\x20\x2B\x3D\x20\x31\x30\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x57\x72\x61\x70\x70\x65\x72\x2E\x73\x74\x79\x6C\x65\x2E\x68\x65\x69\x67\x68\x74\x20\x3D\x20\x60\x63\x61\x6C\x63\x28\x31\x30\x30\x25\x20\x2D\x20\x24\x7B\x68\x65\x69\x67\x68\x74\x7D\x70\x78\x29\x60\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6E\x6F\x74\x69\x66\x49\x6E\x66\x6F\x28\x6D\x73\x67\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x2B\x3D\x20\x22\x5B\x4E\x4F\x54\x49\x46\x5D\x20\x49\x4E\x46\x4F\x3A\x20\x22\x20\x2B\x20\x6D\x73\x67\x20\x2B\x20\x22\x5C\x6E\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x2E\x73\x63\x72\x6F\x6C\x6C\x54\x6F\x28\x30\x2C\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x2E\x73\x63\x72\x6F\x6C\x6C\x48\x65\x69\x67\x68\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x6E\x6F\x74\x69\x66\x45\x72\x72\x6F\x72\x28\x6D\x73\x67\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x2B\x3D\x20\x22\x5B\x4E\x4F\x54\x49\x46\x5D\x20\x45\x52\x52\x4F\x52\x3A\x20\x22\x20\x2B\x20\x6D\x73\x67\x20\x2B\x20\x22\x5C\x6E\x22\x3B\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x2E\x73\x63\x72\x6F\x6C\x6C\x54\x6F\x28\x30\x2C\x20\x74\x68\x69\x73\x2E\x63\x6F\x6D\x4F\x75\x74\x70\x75\x74\x2E\x73\x63\x72\x6F\x6C\x6C\x48\x65\x69\x67\x68\x74\x29\x3B\x0A\x20\x20\x20\x20\x7D\x0A\x20\x20\x7D\x3B\x0A\x0A\x20\x20\x2F\x2F\x20\x5F\x77\x75\x69\x2F\x6D\x61\x69\x6E\x2E\x74\x73\x0A\x20\x20\x76\x61\x72\x20\x61\x77\x77\x61\x6E\x20\x3D\x20\x6E\x65\x77\x20\x41\x77\x77\x61\x6E\x28\x29\x3B\x0A\x20\x20\x61\x77\x77\x61\x6E\x2E\x6F\x6E\x48\x61\x73\x68\x43\x68\x61\x6E\x67\x65\x28\x77\x69\x6E\x64\x6F\x77\x2E\x6C\x6F\x63\x61\x74\x69\x6F\x6E\x2E\x68\x61\x73\x68\x29\x3B\x0A\x7D\x29\x28\x29\x3B\x0A"),
}
node.SetMode(420)
- node.SetModTimeUnix(1701538072, 224779150)
+ node.SetModTimeUnix(1701874230, 736028120)
node.SetName("main.js")
- node.SetSize(33965)
+ node.SetSize(32588)
return node
}