aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--_wui/main.js4
-rw-r--r--awwan.go11
-rw-r--r--http_server_play_test.go129
-rw-r--r--internal/memfs_wui.go6
-rw-r--r--testdata/http_server/play_ssh_config_changes/.ssh/.gitignore1
-rw-r--r--testdata/http_server/play_ssh_config_changes/newhost/play.aww5
-rw-r--r--testdata/http_server/play_ssh_config_changes/oldhost/play.aww5
-rw-r--r--testdata/http_server/play_ssh_config_changes/test.data80
8 files changed, 231 insertions, 10 deletions
diff --git a/_wui/main.js b/_wui/main.js
index 7fdcddf..da4cf8c 100644
--- a/_wui/main.js
+++ b/_wui/main.js
@@ -467,7 +467,7 @@ var awwan = (() => {
var ID_VFS_PATH = "vfs_path";
var ID_OUTPUT = "output";
var ID_OUTPUT_WRAPPER = "output_wrapper";
- var MAX_FILE_SIZE = 3e6;
+ var MAX_FILE_SIZE = 102400;
function renderHtml() {
const el = document.createElement("div");
el.classList.add("awwan");
@@ -733,7 +733,7 @@ var awwan = (() => {
message: ""
};
if (node.size && node.size > MAX_FILE_SIZE) {
- res2.message = `The file "${node.name}" with size ${node.size / 1e6}MB is greater than maximum ${MAX_FILE_SIZE / 1e6}MB.`;
+ res2.message = `The file "${node.name}" with size ${node.size / 1024}KB is greater than maximum ${MAX_FILE_SIZE / 1e3}KB.`;
return res2;
}
res2.code = 200;
diff --git a/awwan.go b/awwan.go
index f0f83c4..2112089 100644
--- a/awwan.go
+++ b/awwan.go
@@ -244,11 +244,12 @@ func (aww *Awwan) Play(req *Request) (err error) {
goto out
}
- if aww.sshConfig == nil {
- err = aww.loadSshConfig()
- if err != nil {
- goto out
- }
+ // Always load the SSH config, in case we run on "serve" and
+ // .ssh/config changed by user.
+
+ err = aww.loadSshConfig()
+ if err != nil {
+ goto out
}
sshSection = aww.sshConfig.Get(ses.hostname)
diff --git a/http_server_play_test.go b/http_server_play_test.go
new file mode 100644
index 0000000..008e60b
--- /dev/null
+++ b/http_server_play_test.go
@@ -0,0 +1,129 @@
+// SPDX-FileCopyrightText: 2019 M. Shulhan <ms@kilabit.info>
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+//go:build integration
+
+package awwan
+
+import (
+ "bytes"
+ "encoding/json"
+ "io"
+ "net/http"
+ "net/http/httptest"
+ "os"
+ "path/filepath"
+ "testing"
+
+ libhttp "github.com/shuLhan/share/lib/http"
+ "github.com/shuLhan/share/lib/test"
+)
+
+// Here is what happened,
+// 1) Run "awwan serve"
+// 2) Update ".ssh/config" with new host
+// 3) Create and run script with new host.
+//
+// This will cause the awwan play failed with empty SSH host,
+//
+// - play.aww --- SSH connection: @:22
+//
+// or an error,
+//
+// !!! initSSHClient: NewClientInteractive: dialWithSigners: ssh: handshake
+// failed: knownhosts: key is unknown from known_hosts files
+func TestHttpServerPlaySshConfigChanges(t *testing.T) {
+ var (
+ baseDir = `testdata/http_server/play_ssh_config_changes`
+ sshConfig = filepath.Join(baseDir, `.ssh`, `config`)
+
+ aww *Awwan
+ err error
+ )
+
+ var tdata *test.Data
+
+ tdata, err = test.LoadData(filepath.Join(baseDir, `test.data`))
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ // Write the oldhost in .ssh/config.
+
+ err = os.WriteFile(sshConfig, tdata.Input[`.ssh/config`], 0600)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ // Start the "awwan serve".
+
+ aww, err = New(baseDir)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ var httpd *httpServer
+
+ httpd, err = newHttpServer(aww, ``)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ // Test execute play on oldhost first.
+
+ testHttpExecute(t, httpd, tdata, `play_on_oldhost`)
+
+ // Update .ssh/config with new host.
+
+ err = os.WriteFile(sshConfig, tdata.Input[`.ssh/config:newhost`], 0600)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ // Test execute play on newhost.
+
+ testHttpExecute(t, httpd, tdata, `play_on_newhost`)
+}
+
+func testHttpExecute(t *testing.T, httpd *httpServer, tdata *test.Data, tag string) {
+ var reqBody bytes.Buffer
+
+ reqBody.Write(tdata.Input[tag])
+
+ var httpReq = httptest.NewRequest(http.MethodPost, pathAwwanApiExecute, &reqBody)
+ var httpWriter = httptest.NewRecorder()
+
+ httpd.ServeHTTP(httpWriter, httpReq)
+
+ var (
+ httpRes *http.Response
+ bbuf bytes.Buffer
+ rawb []byte
+ expResp []byte
+ )
+
+ httpRes = httpWriter.Result()
+ rawb, _ = io.ReadAll(httpRes.Body)
+
+ json.Indent(&bbuf, rawb, ``, ` `)
+
+ expResp = tdata.Output[tag+`:output:json`]
+
+ test.Assert(t, tag, string(expResp), bbuf.String())
+
+ var (
+ execRes HttpResponse
+ epRes libhttp.EndpointResponse
+ err error
+ )
+
+ epRes.Data = &execRes
+
+ err = json.Unmarshal(rawb, &epRes)
+ if err != nil {
+ t.Fatal(err)
+ }
+
+ expResp = tdata.Output[tag+`:output`]
+ test.Assert(t, tag+`:output`, string(expResp), string(execRes.Output))
+}
diff --git a/internal/memfs_wui.go b/internal/memfs_wui.go
index 1b190ec..c96f8de 100644
--- a/internal/memfs_wui.go
+++ b/internal/memfs_wui.go
@@ -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\x69\x66\x20\x28\x6C\x69\x6E\x65\x20\x3D\x3D\x20\x22\x5C\x6E\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x2B\x3D\x20\x6C\x69\x6E\x65\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\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\x20\x20\x7D\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\x63\x6F\x6E\x73\x74\x20\x74\x65\x78\x74\x20\x3D\x20\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\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x65\x78\x65\x63\x43\x6F\x6D\x6D\x61\x6E\x64\x28\x22\x69\x6E\x73\x65\x72\x74\x54\x65\x78\x74\x22\x2C\x20\x66\x61\x6C\x73\x65\x2C\x20\x74\x65\x78\x74\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\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\x66\x6C\x6F\x61\x74\x3A\x20\x6C\x65\x66\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x65\x66\x74\x3A\x20\x30\x70\x78\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\x2F\x2F\x20\x44\x6F\x20\x6E\x6F\x74\x20\x75\x73\x65\x20\x22\x66\x6C\x6F\x61\x74\x3A\x20\x6C\x65\x66\x74\x22\x20\x74\x6F\x20\x66\x69\x78\x20\x6C\x69\x6E\x65\x20\x62\x72\x65\x61\x6B\x2E\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\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\x36\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\x32\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\x32\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\x32\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x32\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\x32\x2C\x20\x74\x72\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x32\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\x32\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\x32\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\x32\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\x43\x4C\x41\x53\x53\x5F\x45\x44\x49\x54\x4F\x52\x5F\x41\x43\x54\x49\x4F\x4E\x20\x3D\x20\x22\x65\x64\x69\x74\x6F\x72\x5F\x61\x63\x74\x69\x6F\x6E\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\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\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\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\x43\x4F\x4D\x5F\x52\x45\x53\x49\x5A\x45\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x72\x65\x73\x69\x7A\x65\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\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\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\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\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\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\x4D\x41\x58\x5F\x46\x49\x4C\x45\x5F\x53\x49\x5A\x45\x20\x3D\x20\x33\x65\x36\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\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\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\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\x3C\x2F\x64\x69\x76\x3E\x0A\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\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\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\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\x63\x6C\x61\x73\x73\x3D\x22\x61\x77\x77\x61\x6E\x5F\x63\x6F\x6E\x74\x65\x6E\x74\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x62\x6F\x78\x68\x65\x61\x64\x65\x72\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\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\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\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\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\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\x7D\x22\x3E\x26\x23\x39\x38\x36\x38\x3B\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\x45\x44\x49\x54\x4F\x52\x5F\x41\x43\x54\x49\x4F\x4E\x7D\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x45\x78\x65\x63\x75\x74\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\x52\x65\x6D\x6F\x74\x65\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\x2F\x2F\x20\x63\x75\x72\x72\x65\x6E\x74\x46\x69\x6C\x65\x20\x73\x74\x6F\x72\x65\x20\x74\x68\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x20\x66\x69\x6C\x65\x20\x6E\x6F\x64\x65\x20\x6F\x70\x65\x6E\x65\x64\x20\x69\x6E\x20\x65\x64\x69\x74\x6F\x72\x2E\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x46\x69\x6C\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\x79\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\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\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\x52\x65\x6D\x6F\x74\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\x74\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\x65\x78\x65\x63\x52\x65\x6D\x6F\x74\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\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\x32\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\x32\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\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\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x52\x65\x73\x69\x7A\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6F\x6E\x4D\x6F\x75\x73\x65\x4D\x6F\x76\x65\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x74\x68\x69\x73\x2E\x64\x6F\x52\x65\x73\x69\x7A\x65\x28\x65\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x52\x65\x73\x69\x7A\x65\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\x6F\x6E\x4D\x6F\x75\x73\x65\x4D\x6F\x76\x65\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\x6F\x6E\x4D\x6F\x75\x73\x65\x4D\x6F\x76\x65\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\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\x32\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\x32\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x32\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\x32\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\x32\x7D\x3A\x20\x24\x7B\x72\x65\x73\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x63\x75\x72\x72\x65\x6E\x74\x46\x69\x6C\x65\x20\x3D\x20\x6E\x6F\x64\x65\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\x52\x65\x6D\x6F\x74\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\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x65\x36\x7D\x4D\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\x36\x7D\x4D\x42\x2E\x60\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x72\x65\x74\x75\x72\x6E\x20\x72\x65\x73\x32\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x73\x32\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\x32\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\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\x70\x61\x74\x68\x32\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\x70\x61\x74\x68\x32\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\x32\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\x6E\x75\x6C\x6C\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\x32\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\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\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\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\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\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\x6E\x75\x6C\x6C\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\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\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\x32\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\x3A\x20\x70\x61\x74\x68\x32\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\x32\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\x32\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\x32\x7D\x3A\x20\x24\x7B\x72\x65\x73\x32\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\x32\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\x32\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\x32\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\x52\x65\x6D\x6F\x74\x65\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\x52\x65\x6D\x6F\x74\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\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\x63\x6F\x6D\x4F\x75\x74\x70\x75\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\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\x32\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\x32\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\x32\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\x69\x66\x20\x28\x72\x65\x73\x32\x2E\x64\x61\x74\x61\x2E\x6F\x75\x74\x70\x75\x74\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\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x61\x74\x6F\x62\x28\x72\x65\x73\x32\x2E\x64\x61\x74\x61\x2E\x6F\x75\x74\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x32\x2E\x64\x61\x74\x61\x2E\x65\x72\x72\x6F\x72\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\x32\x2E\x64\x61\x74\x61\x2E\x65\x72\x72\x6F\x72\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\x6E\x6F\x74\x69\x66\x2E\x69\x6E\x66\x6F\x28\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x60\x53\x75\x63\x63\x65\x73\x73\x66\x75\x6C\x6C\x79\x20\x65\x78\x65\x63\x75\x74\x65\x20\x24\x7B\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x7D\x20\x6F\x6E\x20\x24\x7B\x6D\x6F\x64\x65\x7D\x2E\x60\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x28\x65\x76\x29\x20\x7B\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\x73\x63\x72\x65\x65\x6E\x59\x3B\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\x64\x69\x66\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x2D\x20\x65\x76\x2E\x73\x63\x72\x65\x65\x6E\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\x69\x66\x20\x28\x64\x69\x66\x66\x20\x3C\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\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\x73\x63\x72\x65\x65\x6E\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\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\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\x7D\x70\x78\x60\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\x24\x7B\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\x2B\x20\x64\x69\x66\x66\x7D\x70\x78\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\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\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\x7D\x70\x78\x60\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\x24\x7B\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\x2D\x20\x64\x69\x66\x66\x7D\x70\x78\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\x72\x65\x6E\x64\x65\x72\x48\x74\x6D\x6C\x28\x29\x3B\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\x69\x66\x20\x28\x6C\x69\x6E\x65\x20\x3D\x3D\x20\x22\x5C\x6E\x22\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x74\x65\x6E\x74\x20\x2B\x3D\x20\x6C\x69\x6E\x65\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\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\x20\x20\x7D\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\x63\x6F\x6E\x73\x74\x20\x74\x65\x78\x74\x20\x3D\x20\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\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x65\x78\x65\x63\x43\x6F\x6D\x6D\x61\x6E\x64\x28\x22\x69\x6E\x73\x65\x72\x74\x54\x65\x78\x74\x22\x2C\x20\x66\x61\x6C\x73\x65\x2C\x20\x74\x65\x78\x74\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\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\x66\x6C\x6F\x61\x74\x3A\x20\x6C\x65\x66\x74\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x6C\x65\x66\x74\x3A\x20\x30\x70\x78\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\x2F\x2F\x20\x44\x6F\x20\x6E\x6F\x74\x20\x75\x73\x65\x20\x22\x66\x6C\x6F\x61\x74\x3A\x20\x6C\x65\x66\x74\x22\x20\x74\x6F\x20\x66\x69\x78\x20\x6C\x69\x6E\x65\x20\x62\x72\x65\x61\x6B\x2E\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\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\x36\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\x32\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\x32\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\x32\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x32\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\x32\x2C\x20\x74\x72\x75\x65\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x32\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\x32\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\x32\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\x32\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\x43\x4C\x41\x53\x53\x5F\x45\x44\x49\x54\x4F\x52\x5F\x41\x43\x54\x49\x4F\x4E\x20\x3D\x20\x22\x65\x64\x69\x74\x6F\x72\x5F\x61\x63\x74\x69\x6F\x6E\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\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\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\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\x43\x4F\x4D\x5F\x52\x45\x53\x49\x5A\x45\x20\x3D\x20\x22\x63\x6F\x6D\x5F\x72\x65\x73\x69\x7A\x65\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\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\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\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\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\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\x4D\x41\x58\x5F\x46\x49\x4C\x45\x5F\x53\x49\x5A\x45\x20\x3D\x20\x31\x30\x32\x34\x30\x30\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\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\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\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\x3C\x2F\x64\x69\x76\x3E\x0A\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\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\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\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\x63\x6C\x61\x73\x73\x3D\x22\x61\x77\x77\x61\x6E\x5F\x63\x6F\x6E\x74\x65\x6E\x74\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x62\x6F\x78\x68\x65\x61\x64\x65\x72\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\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\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\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\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\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\x7D\x22\x3E\x26\x23\x39\x38\x36\x38\x3B\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\x45\x44\x49\x54\x4F\x52\x5F\x41\x43\x54\x49\x4F\x4E\x7D\x22\x3E\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x45\x78\x65\x63\x75\x74\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\x52\x65\x6D\x6F\x74\x65\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\x2F\x2F\x20\x63\x75\x72\x72\x65\x6E\x74\x46\x69\x6C\x65\x20\x73\x74\x6F\x72\x65\x20\x74\x68\x65\x20\x73\x65\x6C\x65\x63\x74\x65\x64\x20\x66\x69\x6C\x65\x20\x6E\x6F\x64\x65\x20\x6F\x70\x65\x6E\x65\x64\x20\x69\x6E\x20\x65\x64\x69\x74\x6F\x72\x2E\x0A\x20\x20\x20\x20\x20\x20\x74\x68\x69\x73\x2E\x63\x75\x72\x72\x65\x6E\x74\x46\x69\x6C\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\x79\x20\x3D\x20\x30\x3B\x0A\x20\x20\x20\x20\x20\x20\x6C\x65\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\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\x52\x65\x6D\x6F\x74\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\x74\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\x65\x78\x65\x63\x52\x65\x6D\x6F\x74\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\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\x32\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\x32\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\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\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x65\x6C\x52\x65\x73\x69\x7A\x65\x29\x20\x7B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x6F\x6E\x4D\x6F\x75\x73\x65\x4D\x6F\x76\x65\x20\x3D\x20\x28\x65\x76\x29\x20\x3D\x3E\x20\x74\x68\x69\x73\x2E\x64\x6F\x52\x65\x73\x69\x7A\x65\x28\x65\x76\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6C\x52\x65\x73\x69\x7A\x65\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\x6F\x6E\x4D\x6F\x75\x73\x65\x4D\x6F\x76\x65\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\x6F\x6E\x4D\x6F\x75\x73\x65\x4D\x6F\x76\x65\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\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\x32\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\x32\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x63\x6F\x6E\x73\x74\x20\x72\x65\x73\x32\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\x32\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\x32\x7D\x3A\x20\x24\x7B\x72\x65\x73\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x63\x75\x72\x72\x65\x6E\x74\x46\x69\x6C\x65\x20\x3D\x20\x6E\x6F\x64\x65\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\x52\x65\x6D\x6F\x74\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\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x72\x65\x73\x32\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\x32\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\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\x70\x61\x74\x68\x32\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\x70\x61\x74\x68\x32\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\x32\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\x6E\x75\x6C\x6C\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\x32\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\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\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\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\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\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\x6E\x75\x6C\x6C\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\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\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\x32\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\x3A\x20\x70\x61\x74\x68\x32\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\x32\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\x32\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\x32\x7D\x3A\x20\x24\x7B\x72\x65\x73\x32\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\x32\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\x32\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\x32\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\x52\x65\x6D\x6F\x74\x65\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\x52\x65\x6D\x6F\x74\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\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\x63\x6F\x6D\x4F\x75\x74\x70\x75\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\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\x32\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\x32\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\x32\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\x69\x66\x20\x28\x72\x65\x73\x32\x2E\x64\x61\x74\x61\x2E\x6F\x75\x74\x70\x75\x74\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\x2E\x69\x6E\x6E\x65\x72\x54\x65\x78\x74\x20\x3D\x20\x61\x74\x6F\x62\x28\x72\x65\x73\x32\x2E\x64\x61\x74\x61\x2E\x6F\x75\x74\x70\x75\x74\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\x0A\x20\x20\x20\x20\x20\x20\x69\x66\x20\x28\x72\x65\x73\x32\x2E\x64\x61\x74\x61\x2E\x65\x72\x72\x6F\x72\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\x32\x2E\x64\x61\x74\x61\x2E\x65\x72\x72\x6F\x72\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\x6E\x6F\x74\x69\x66\x2E\x69\x6E\x66\x6F\x28\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x60\x53\x75\x63\x63\x65\x73\x73\x66\x75\x6C\x6C\x79\x20\x65\x78\x65\x63\x75\x74\x65\x20\x24\x7B\x74\x68\x69\x73\x2E\x72\x65\x71\x75\x65\x73\x74\x2E\x73\x63\x72\x69\x70\x74\x7D\x20\x6F\x6E\x20\x24\x7B\x6D\x6F\x64\x65\x7D\x2E\x60\x0A\x20\x20\x20\x20\x20\x20\x20\x20\x29\x3B\x0A\x20\x20\x20\x20\x20\x20\x7D\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x32\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\x28\x65\x76\x29\x20\x7B\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\x73\x63\x72\x65\x65\x6E\x59\x3B\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\x64\x69\x66\x66\x20\x3D\x20\x74\x68\x69\x73\x2E\x5F\x70\x6F\x73\x79\x20\x2D\x20\x65\x76\x2E\x73\x63\x72\x65\x65\x6E\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\x69\x66\x20\x28\x64\x69\x66\x66\x20\x3C\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\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\x73\x63\x72\x65\x65\x6E\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\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\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\x7D\x70\x78\x60\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\x24\x7B\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\x2B\x20\x64\x69\x66\x66\x7D\x70\x78\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\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\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\x7D\x70\x78\x60\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\x24\x7B\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\x2D\x20\x64\x69\x66\x66\x7D\x70\x78\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\x72\x65\x6E\x64\x65\x72\x48\x74\x6D\x6C\x28\x29\x3B\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(1700018192, 860972053)
+ node.SetModTimeUnix(1700105670, 533905104)
node.SetName("main.js")
- node.SetSize(29782)
+ node.SetSize(29786)
return node
}
diff --git a/testdata/http_server/play_ssh_config_changes/.ssh/.gitignore b/testdata/http_server/play_ssh_config_changes/.ssh/.gitignore
new file mode 100644
index 0000000..04204c7
--- /dev/null
+++ b/testdata/http_server/play_ssh_config_changes/.ssh/.gitignore
@@ -0,0 +1 @@
+config
diff --git a/testdata/http_server/play_ssh_config_changes/newhost/play.aww b/testdata/http_server/play_ssh_config_changes/newhost/play.aww
new file mode 100644
index 0000000..c0f13ad
--- /dev/null
+++ b/testdata/http_server/play_ssh_config_changes/newhost/play.aww
@@ -0,0 +1,5 @@
+## Should print working directory on remote server.
+pwd
+
+## Should print working directory on local.
+#local: pwd
diff --git a/testdata/http_server/play_ssh_config_changes/oldhost/play.aww b/testdata/http_server/play_ssh_config_changes/oldhost/play.aww
new file mode 100644
index 0000000..c0f13ad
--- /dev/null
+++ b/testdata/http_server/play_ssh_config_changes/oldhost/play.aww
@@ -0,0 +1,5 @@
+## Should print working directory on remote server.
+pwd
+
+## Should print working directory on local.
+#local: pwd
diff --git a/testdata/http_server/play_ssh_config_changes/test.data b/testdata/http_server/play_ssh_config_changes/test.data
new file mode 100644
index 0000000..138630c
--- /dev/null
+++ b/testdata/http_server/play_ssh_config_changes/test.data
@@ -0,0 +1,80 @@
+
+>>> .ssh/config
+Host oldhost
+ Hostname 127.0.0.1
+ Port 10022
+ User awwanssh
+ IdentityFile ~/.ssh/id_ed25519
+
+>>> play_on_oldhost
+{
+ "mode": "play",
+ "script": "/oldhost/play.aww",
+ "line_range": "1-"
+}
+
+<<< play_on_oldhost:output:json
+{
+ "data": {
+ "mode": "play",
+ "script": "/home/awwan/src/testdata/http_server/play_ssh_config_changes/oldhost/play.aww",
+ "line_range": "1-",
+ "content": null,
+ "error": "",
+ "output": "LSBwbGF5LmF3dyAtLS0gU1NIIGNvbm5lY3Rpb246IGF3d2Fuc3NoQDEyNy4wLjAuMToxMDAyMgotIHBsYXkuYXd3IC0tLSBTU0ggaWRlbnRpdHkgZmlsZTogWy9ob21lL2F3d2FuLy5zc2gvaWRfZWQyNTUxOV0KLSBwbGF5LmF3dyA9PT0gQkVHSU46IHBsYXkgL2hvbWUvYXd3YW4vc3JjL3Rlc3RkYXRhL2h0dHBfc2VydmVyL3BsYXlfc3NoX2NvbmZpZ19jaGFuZ2VzL29sZGhvc3QvcGxheS5hd3cgMS0KLSBwbGF5LmF3dyAtLT4gICAyOiBwd2QKL2hvbWUvYXd3YW5zc2gKLSBwbGF5LmF3dyAtLT4gICA1OiAjbG9jYWw6IHB3ZAovaG9tZS9hd3dhbi9zcmMKLSBwbGF5LmF3dyA9PT0gRU5ECg=="
+ },
+ "code": 200
+}
+
+<<< play_on_oldhost:output
+- play.aww --- SSH connection: awwanssh@127.0.0.1:10022
+- play.aww --- SSH identity file: [/home/awwan/.ssh/id_ed25519]
+- play.aww === BEGIN: play /home/awwan/src/testdata/http_server/play_ssh_config_changes/oldhost/play.aww 1-
+- play.aww --> 2: pwd
+/home/awwanssh
+- play.aww --> 5: #local: pwd
+/home/awwan/src
+- play.aww === END
+
+>>> .ssh/config:newhost
+Host oldhost
+ Hostname 127.0.0.1
+ Port 10022
+ User awwanssh
+ IdentityFile ~/.ssh/id_ed25519
+
+Host newhost
+ Hostname 127.0.0.1
+ Port 10022
+ User awwanssh
+ IdentityFile ~/.ssh/id_ed25519
+
+>>> play_on_newhost
+{
+ "mode": "play",
+ "script": "/newhost/play.aww",
+ "line_range": "1-"
+}
+
+<<< play_on_newhost:output:json
+{
+ "data": {
+ "mode": "play",
+ "script": "/home/awwan/src/testdata/http_server/play_ssh_config_changes/newhost/play.aww",
+ "line_range": "1-",
+ "content": null,
+ "error": "",
+ "output": "LSBwbGF5LmF3dyAtLS0gU1NIIGNvbm5lY3Rpb246IGF3d2Fuc3NoQDEyNy4wLjAuMToxMDAyMgotIHBsYXkuYXd3IC0tLSBTU0ggaWRlbnRpdHkgZmlsZTogWy9ob21lL2F3d2FuLy5zc2gvaWRfZWQyNTUxOV0KLSBwbGF5LmF3dyA9PT0gQkVHSU46IHBsYXkgL2hvbWUvYXd3YW4vc3JjL3Rlc3RkYXRhL2h0dHBfc2VydmVyL3BsYXlfc3NoX2NvbmZpZ19jaGFuZ2VzL25ld2hvc3QvcGxheS5hd3cgMS0KLSBwbGF5LmF3dyAtLT4gICAyOiBwd2QKL2hvbWUvYXd3YW5zc2gKLSBwbGF5LmF3dyAtLT4gICA1OiAjbG9jYWw6IHB3ZAovaG9tZS9hd3dhbi9zcmMKLSBwbGF5LmF3dyA9PT0gRU5ECg=="
+ },
+ "code": 200
+}
+
+<<< play_on_newhost:output
+- play.aww --- SSH connection: awwanssh@127.0.0.1:10022
+- play.aww --- SSH identity file: [/home/awwan/.ssh/id_ed25519]
+- play.aww === BEGIN: play /home/awwan/src/testdata/http_server/play_ssh_config_changes/newhost/play.aww 1-
+- play.aww --> 2: pwd
+/home/awwanssh
+- play.aww --> 5: #local: pwd
+/home/awwan/src
+- play.aww === END