From 93d20d2d2b90aac38fa57e6dcdddd621959b09d9 Mon Sep 17 00:00:00 2001 From: Or Cohen Date: Sun, 5 Feb 2017 17:38:05 +0200 Subject: [PATCH] Improve fuzzy search The fuzzy library didn't try to find a "best match", but settled on the first fuzzy match that exists. This patch includes a modified version of the fuzzy library, which recursivley tries on the rest of the search string to find a better match. If found, returns that one. Another small modification is that if a pattern fully matches, it skips the lookup entirley and returns the highest score possible for that match. --- web/ui/bindata.go | 30 ++--- web/ui/static/js/graph.js | 2 +- web/ui/static/vendor/fuzzy.js | 26 ---- web/ui/static/vendor/fuzzy/fuzzy.js | 182 ++++++++++++++++++++++++++++ web/ui/templates/graph.html | 2 +- 5 files changed, 200 insertions(+), 42 deletions(-) delete mode 100644 web/ui/static/vendor/fuzzy.js create mode 100644 web/ui/static/vendor/fuzzy/fuzzy.js diff --git a/web/ui/bindata.go b/web/ui/bindata.go index 3614378418..57c99bb38f 100644 --- a/web/ui/bindata.go +++ b/web/ui/bindata.go @@ -29,7 +29,7 @@ // web/ui/static/vendor/bootstrap3-typeahead/bootstrap3-typeahead.min.js // web/ui/static/vendor/eonasdan-bootstrap-datetimepicker/bootstrap-datetimepicker.min.css // web/ui/static/vendor/eonasdan-bootstrap-datetimepicker/bootstrap-datetimepicker.min.js -// web/ui/static/vendor/fuzzy.js +// web/ui/static/vendor/fuzzy/fuzzy.js // web/ui/static/vendor/js/jquery.hotkeys.js // web/ui/static/vendor/js/jquery.min.js // web/ui/static/vendor/js/jquery.selection.js @@ -186,7 +186,7 @@ func webUiTemplatesFlagsHtml() (*asset, error) { return a, nil } -var _webUiTemplatesGraphHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xac\x94\xc1\x8e\x9b\x30\x10\x86\xef\x79\x0a\xcb\x77\x40\xd5\x5e\x03\x55\x4f\xbd\xf6\x0d\x56\x83\x3d\x94\x21\xc6\xb8\x9e\x81\x86\x45\xbc\x7b\x45\x12\x48\x5a\x75\xab\xb6\xe1\x94\x89\x3d\xfe\xe6\xff\x31\xfc\xd3\x64\xb1\x22\x8f\x4a\xd7\x08\x56\xcf\xf3\x41\x29\xa5\x8e\x8e\xfc\x49\xc9\x18\x30\xd7\x82\x67\xc9\x0c\xb3\x56\x11\x5d\xae\x59\x46\x87\x5c\x23\x8a\x56\x75\xc4\x2a\xd7\xd3\xa4\x02\x48\xfd\x25\x62\x45\x67\x35\xcf\x19\x0b\x08\x99\xe5\x4c\xf6\x35\x42\xa8\xd3\xe5\x74\x71\xd8\x8f\x3c\xa0\xb7\x5d\xcc\x22\x99\x13\xd7\xf0\x7d\x2b\xd2\x96\xfc\x6d\xd8\xde\xb3\xb0\xf3\xc0\x16\x7c\x52\x76\x9d\xb0\x44\x08\x89\x05\x41\xa1\x16\x03\x99\x13\xc6\xec\xbd\x8d\x07\x51\x57\x55\x6c\x22\x05\x51\x1c\xcd\xdf\x3b\xbc\xfd\xb7\x2f\xe9\xf0\x92\x36\xac\x8b\x63\x76\xc5\x14\x7b\x30\x1d\x8c\x5d\x2f\x17\xa1\x3b\xb1\x7f\xba\x91\xe7\x98\x6d\xd7\xa2\x97\xdb\xcf\x0e\xbc\x27\x6f\xf2\xb9\xe1\x1b\xfa\x25\x59\xde\x4b\x58\x3e\xba\xdf\x2e\xee\x30\xab\xea\xdf\xde\xc6\x5f\x18\xff\xfe\xf4\x7b\x16\x30\x35\x6e\xc5\x0e\xc2\x1a\xce\x9a\x6f\x3d\xc6\x31\x65\x74\x68\x84\xba\xfd\x88\x75\x27\x27\x1c\xf9\xbf\x6d\x37\x6b\x66\x35\xfc\x71\xc8\x3f\xbc\x0b\x21\x9b\xeb\x4b\xe3\xab\x60\x1b\x1c\x08\xea\xc7\xa4\x39\x27\x35\x78\xeb\xb0\x84\xc8\xc9\xd6\xf1\x00\x9b\x26\xf4\x76\x9e\x0f\x87\x7b\x00\x9b\xce\x0b\x7a\xd9\x32\xd8\xd2\xf0\x30\x66\xd9\x05\xf2\x18\xb5\x32\x0e\x98\x73\xbd\xad\x24\x95\xeb\xc9\xae\xa1\x97\x59\x1a\x8a\x3b\xe1\x8f\xcd\xd7\x9e\xe2\x48\x3e\xf4\xb2\xb6\x96\xe2\x55\x29\x3e\x09\x91\x5a\x88\xe3\xea\x8b\xfb\xb2\x25\xd1\x6a\x00\xd7\x63\xae\x3f\x59\xab\x3e\x2f\xca\xf4\x45\x24\x58\xfb\x7a\x11\xba\x98\xbc\x2b\xb8\x96\xab\xd9\x1f\x01\x00\x00\xff\xff\x0a\x10\x6c\xd7\x6d\x06\x00\x00") +var _webUiTemplatesGraphHtml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xac\x94\xc1\xce\x9b\x30\x0c\xc7\xef\x7d\x8a\x28\x77\x40\x53\xaf\x85\x69\xa7\x5d\xf7\x06\x9f\x4c\x62\x86\x69\x08\x2c\x36\xac\x7c\x88\x77\x9f\x28\x85\x76\xd3\x3a\x6d\x2b\x17\x30\x89\xf3\xf3\xdf\x32\xf9\x8f\xa3\xc5\x82\x3c\x2a\x5d\x22\x58\x3d\x4d\x07\xa5\x94\x3a\x39\xf2\x67\x25\x43\x8b\xa9\x16\xbc\x48\x62\x98\xb5\x0a\xe8\x52\xcd\x32\x38\xe4\x12\x51\xb4\x2a\x03\x16\xa9\x1e\x47\xd5\x82\x94\x5f\x02\x16\x74\x51\xd3\x94\xb0\x80\x90\x99\xcf\x24\x5f\x03\xb4\x65\x3c\x9f\xce\x0e\xfb\x91\x7b\xf4\xb6\x09\x49\x20\x73\xe6\x12\xbe\x6f\x41\x5c\x93\xbf\x15\xdb\xbb\x16\x36\x1e\xd8\x82\x8f\xf2\xa6\x11\x96\x00\x6d\x64\x41\x50\xa8\xc6\x96\xcc\x19\x43\xf2\x6c\xe3\x41\xd4\xa2\x8a\x4d\xa0\x56\x14\x07\xf3\xf7\x1d\xde\xbe\xed\x31\xee\x8f\x71\xc5\x3a\x3b\x25\x0b\x26\xdb\x83\xe9\x60\x68\x3a\xb9\x0a\xdd\x89\xfd\xd3\x44\x5e\x63\xd6\x4d\x8d\x5e\x6e\xaf\x1d\x78\x2f\x4e\xf2\xb5\xe2\x1b\xfa\x18\xcd\xff\x25\xcc\x97\xee\xb7\x8b\x3b\xd4\x2a\xba\xf7\xf7\x61\x79\xfe\x42\xfa\xf7\x19\x74\x2c\x60\x4a\xdc\x82\x1d\xe4\x55\x9c\x54\xdf\x3a\x0c\x43\xcc\xe8\xd0\x08\x35\xfb\x11\xcb\x46\xce\x38\xf0\x7f\xb7\x5d\xad\xce\x55\xf1\xc7\x3e\xfd\xf0\x14\x42\x36\xd5\xd7\xc4\x37\xc1\xba\x75\x20\xa8\x1f\xfd\xe6\x12\x95\xe0\xad\xc3\x1c\x02\x47\x5b\xc6\x03\x6c\x1c\xd1\xdb\x69\x3a\x1c\xee\x36\x6c\x1a\x2f\xe8\x65\x73\x62\x4b\xfd\x43\x99\x79\x17\xc8\x63\xd0\xca\x38\x60\x4e\xf5\xb6\x12\x15\xae\x23\xbb\x5a\x5f\x62\xa9\xcf\xee\x84\x3f\x26\x2f\x39\xd9\x89\x7c\xdb\xc9\x9a\x9a\x8b\x57\xb9\xf8\xa8\x0d\x54\x43\x18\xd6\xbe\xb8\xcb\x6b\x12\xad\x7a\x70\x1d\xa6\xfa\x93\xb5\xea\xf3\xac\x4c\x5f\x45\x82\xb5\x6f\x57\xa1\x73\x93\x77\x05\x4b\xb8\x36\xfb\x23\x00\x00\xff\xff\x61\xc2\x4a\x1a\x73\x06\x00\x00") func webUiTemplatesGraphHtmlBytes() ([]byte, error) { return bindataRead( @@ -201,7 +201,7 @@ func webUiTemplatesGraphHtml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "web/ui/templates/graph.html", size: 1645, mode: os.FileMode(420), modTime: time.Unix(1482843351, 0)} + info := bindataFileInfo{name: "web/ui/templates/graph.html", size: 1651, mode: os.FileMode(436), modTime: time.Unix(1486307910, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -406,7 +406,7 @@ func webUiStaticJsAlertsJs() (*asset, error) { return a, nil } -var _webUiStaticJsGraphJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xe4\x3c\xfd\x77\xdb\x36\x92\xbf\xfb\xaf\x98\xb0\x79\x11\x55\xcb\x94\x9d\xee\xf6\x76\x65\xcb\xbd\x34\x1f\x9b\xec\xe6\x6b\x1d\x77\xb7\x7d\x8e\xd7\x0f\x22\x21\x11\x31\x45\xb2\x00\x68\x5b\x4d\xf4\xbf\xdf\xc3\x00\x20\x01\x92\xb2\xd4\xf6\x6e\xdf\xdd\xbb\xfc\x20\x87\xe0\x60\x30\x18\x0c\x06\xf3\x05\xde\x10\x0e\xef\x79\xb1\xa4\x32\xa5\x95\x80\xa9\xfb\xf0\xe5\x0b\x7c\x5e\x1f\xef\x29\x90\x05\x27\x65\x7a\x4e\x97\x65\x46\x24\x3d\xde\xc3\xb6\x0f\xcf\x9f\xbe\x7b\xfb\x0c\xa6\x70\x74\x78\x78\x78\xbc\xb7\xd7\xf4\x8c\xfe\xa2\xc0\x61\x0a\xf3\x2a\x8f\x25\x2b\xf2\x90\x66\x74\x49\x73\x39\x82\xa2\x54\xcf\x62\x04\x29\xc9\x93\x8c\x3e\x4d\x49\xbe\xa0\xf6\xe9\x8c\x2e\x8b\x1b\x3a\x84\xcf\x7b\x00\x32\x65\x22\xa2\x19\x4c\xc1\xf4\x3d\xb6\x8d\x48\xcb\xcb\xf3\x37\xaf\x61\x0a\x79\x95\x65\xf5\x0b\x83\x1b\xa6\x76\x94\xfa\x8d\x3b\x18\x4c\xbd\xb1\x5b\x30\x9a\x04\x97\x74\x4d\x0e\x78\x24\x86\xaa\xc7\x50\x75\x5d\xd7\xfd\x39\x8b\xaf\x45\x4a\x6e\xed\xdc\x3d\xd2\x12\x22\x09\x4c\xe1\xe2\xf2\x78\xcf\x36\xb1\x9c\x49\x46\x32\xf6\x0b\x0d\x87\xc7\x7b\xeb\x1e\x06\x46\x92\x2d\xe9\x0b\x12\xcb\x82\xab\x49\x29\x32\x82\x55\x30\x81\x6f\x0f\xe1\x6b\xfd\xf3\xf8\x0f\xf0\x35\x7c\xf3\xed\x1f\x47\xea\xd5\x6d\xf7\xd5\x7f\xe0\x8b\xa4\xf5\x02\x1b\xd3\xa6\x11\x9f\x97\xf8\x8c\xff\x15\xc1\x04\x8e\xfa\x29\x12\x92\x96\xff\x20\x59\x45\x15\x41\x17\x0a\xf8\x48\x04\x23\x08\x8e\x0e\xf5\x9f\xa5\xfa\xfd\x23\xfe\x1e\xe9\x3f\xdf\x1c\xea\xa7\x54\xfd\x3e\xc6\xdf\x6f\xf1\xf7\x48\x3f\x1c\x25\xf8\x22\x09\x70\xe8\xa3\x5b\x7c\xc2\xdf\x3f\xe0\xef\x9f\xf0\xf7\x68\x85\xed\xab\x60\xef\xb2\x8f\xac\xbc\x5a\xe2\x7f\x14\x55\x7d\xa2\x18\x95\xbc\x90\x85\x5c\x95\xd4\x61\x7b\x77\x91\x95\x54\x0b\x9a\xcd\x61\x8a\x4b\xa4\x56\x4f\x3d\x46\x2c\xf1\x36\x46\x7b\xd0\xfd\x7d\x5c\xd5\xf1\x18\x3e\x50\x09\x09\x9d\x93\x2a\x93\x56\x06\x23\x8b\xc4\x3e\x23\x32\x83\xf6\xb8\xfd\x92\x2b\x91\xbc\x62\x79\x59\x49\x0b\xd5\xf7\xea\xcb\x17\xe4\xa8\xea\xce\xe6\x10\x7a\x70\x92\xcc\x60\x3a\x9d\x42\x95\x27\x74\xce\x72\x9a\x58\x01\xee\x42\xc1\x11\x8a\xb0\x21\xfe\x19\x27\xb7\x7a\xa3\x43\x5c\xe4\x92\x17\x99\x00\x92\x27\xf8\x40\x58\x4e\x39\xcc\x79\xb1\x84\x97\xb8\x0f\x66\x84\x0b\x90\x46\x21\x44\x7b\x86\x79\xcd\x0e\xfc\x3c\x28\x89\x4c\xdf\x73\x3a\x67\x77\x83\x09\xbc\x7f\x72\xfe\xf2\xea\xfd\xd9\xf3\x17\xaf\x7e\xc4\x1d\xf3\xe9\xef\x15\xe5\xab\x88\xde\x49\x9a\x27\x61\xad\x14\x5c\x12\x87\x35\x73\xdc\x0d\xff\x30\x7c\x53\x09\x49\xe2\x94\x46\x9c\xe6\x09\xe5\xa1\xa7\x9a\x6a\x05\x33\x6c\xba\xd3\x2c\x22\x65\xa9\xc6\xf1\xb1\x0d\xed\xaa\xfd\x85\x4a\xe0\x74\x4e\x39\xcd\x63\x2a\x40\x16\x40\xb2\x0c\x64\x4a\x81\xe5\x92\x72\x2a\x24\xcb\x17\x56\x0d\x09\x60\x39\xbe\x6b\x38\xa5\x99\x43\xf2\x44\xa3\x9b\xb1\x3c\x01\x7a\x43\x73\x69\x74\x06\x47\x21\xa8\xd5\xe8\x3f\xb9\x22\x87\xdb\xf5\xa5\x59\x34\x67\x79\x12\x06\x5f\xe1\xdb\xab\x5b\xfd\x3a\x80\x7d\x2b\x25\xcd\x54\x7e\x56\x5c\x7b\x51\xf0\x25\x4c\x3d\x5c\x06\x83\x7e\x7f\x35\x2f\xf8\x32\xd0\xb3\xd3\x23\xdc\x95\xbc\xbf\x83\xa4\x77\x92\x70\x4a\x2e\x72\xb2\xa4\x53\x05\x77\x19\x38\x8c\xbb\x2b\x79\x74\x4d\x57\x25\xa7\x42\x84\x8d\x2e\xb7\x02\x35\x1e\xc3\x73\xc5\x20\xb8\x25\x02\x10\x88\x26\x70\xcb\x64\x5a\x54\x12\x59\x24\x52\x36\x97\x70\x4d\x57\x11\xc2\x2b\x51\xa5\xd1\x6d\xca\xe2\x14\xa6\x53\x38\xfa\x06\x1e\x3d\x82\x07\x34\x42\xb0\xbf\xd1\x95\xc5\xdb\x9e\x6c\x24\xaa\xd9\x92\xc9\x10\x29\x53\xff\x68\x54\x72\x64\xf0\x33\xbd\xd7\xec\x1b\x94\x64\xa4\xeb\x49\x25\x8b\x03\x4e\x85\xda\xe6\x8a\x12\x35\x51\x50\x33\x85\x22\x07\xdc\x43\x9a\x24\x14\xda\xf9\x5c\x50\x69\xf6\x7c\xa4\x9f\x5e\x52\xb6\x48\x25\x1c\xe8\xb6\x38\x63\x34\x37\x6d\xc7\x75\x3f\x8d\xfe\xdc\xb0\xd0\x3f\xed\x9a\xa9\x00\x3c\x54\xcf\x51\x2c\x44\x38\x48\x11\xc5\x60\x04\x03\x52\xc9\x62\xd0\x6e\xa5\x59\x24\x62\x5e\x64\x99\x19\x7e\xdf\xd0\x66\xa7\xa7\xff\x3c\xd4\xa7\x4f\x54\xe4\xe1\xe0\x9a\xae\xaa\x52\x4f\x68\x30\xf2\xd4\x59\x8b\x3c\x73\x62\xc1\x5a\x9f\x5a\xad\x45\x8e\xf1\x28\xd4\xfb\xc3\x3d\x1c\x1d\x21\x42\xf5\xf3\xca\x55\x4c\xcd\xfa\x68\x61\x42\x2a\xb4\x24\x39\xba\xca\x15\x28\xb5\x71\xaf\x69\xf2\xbd\xcc\x37\xe1\xb0\x20\x57\x33\x99\x77\x3b\xee\x30\xb2\x81\x74\x47\x65\xb9\xa0\x5c\xbe\xa1\x92\xb3\x78\x13\x06\x41\x33\x1a\x1b\x14\x1a\xfe\x6a\x89\x1d\x5c\x44\x9c\xce\x39\x15\xe9\x2b\x25\xf3\x37\x24\xdb\x05\x97\xe9\x72\xe9\x6e\xc7\xb8\xc8\x45\x91\xd1\x73\xd4\xc0\x7d\xbb\xd8\x00\x04\x2d\x0d\xa8\x3a\xc0\x86\x2e\x5a\x75\xd4\xca\xc8\x1d\x4e\x92\x99\xe8\xef\x45\x2e\x94\x59\x72\x20\x8b\xc5\x22\xa3\xd3\x81\x24\xb3\x81\x3b\x5d\xd5\x31\xa2\x3f\x77\x4e\x97\xa1\xfa\x09\x03\x91\x16\xb7\x6d\xe8\x22\xd7\xed\x79\x34\x43\xd0\xc0\x91\xc9\x5a\x6d\xa8\xbd\x23\x09\x5f\xe0\x9e\x7b\x18\xd2\x48\x3f\x18\x21\xef\x39\xa5\xf4\xfb\xa8\x24\x9c\xe6\x32\x1c\x46\x2c\x4f\xe8\x5d\xe8\xc2\xbb\x32\x6b\x5f\x28\x6d\xf3\x30\x0c\xbe\x52\x8a\xd4\x60\x20\x52\xf2\x30\x20\x9c\x91\x03\x7b\xc2\x05\xc3\x61\x94\x12\xf1\x34\x23\x42\x84\x01\xa7\x59\x41\x92\x60\xd8\xd2\x44\x5a\xff\xe0\x91\xd5\xa8\x1a\xbd\x8b\xb4\xca\x3f\xa3\xb2\xe2\x39\x28\xd3\x50\xc0\xbc\x88\x2b\x01\x33\x12\x5f\xab\xa3\x04\x95\x2f\xcb\x85\xa4\x24\x81\x62\x0e\x1a\x97\x3a\x51\xa2\x3e\x01\x8d\x66\xb8\x34\xd7\x74\x95\x14\xb7\xb9\x32\x7a\x38\xe2\xee\xe5\x64\xb3\x81\x71\x4c\x8f\x25\xd8\x7c\x43\xb2\xd0\x7f\x1a\x1a\x18\x8d\x75\x83\x26\x5d\x0f\x9b\xb3\x83\xf3\x62\xc3\xe1\xa1\xdf\x05\xc3\x28\x65\x89\xe1\x7a\x23\xac\x4f\xb4\x4a\xdc\x2c\xab\x4a\x29\xb5\x25\xdc\xee\xa8\x1a\x83\xd7\xc5\x81\x5e\x3d\xb9\x63\x62\x23\xf4\xea\x8a\xdc\x31\xe1\x80\x67\x74\x41\xf3\x64\x03\x39\xfa\xa5\xab\x6c\x4a\x96\xe7\x74\xd3\xa4\xcd\x5b\xf7\x98\xbc\x21\xd9\x07\x49\xe4\x86\x5d\x86\xef\xaf\x84\x02\xf0\x0e\xe5\x3c\x79\x46\x24\xed\xef\xe3\x28\x34\x9a\x27\x5d\x45\x6a\x3a\x2b\xb7\x82\x2a\x27\xa1\x64\xf1\x35\xe5\xa1\x96\x8a\xac\x88\x49\x46\x27\x30\xa0\xf9\x60\x84\x2d\xca\x20\x20\x72\x02\x83\x9f\x7e\xfa\xe9\xa7\x83\x37\x6f\x0e\x9e\x3d\x83\x97\x2f\x27\xcb\xa5\x79\x2f\x8b\x22\x9b\x11\xfe\x3e\x23\x31\xda\x38\x13\x18\xcc\x0a\x29\x0b\xfb\x5e\xb0\x84\x7e\xbf\xfa\xc0\x12\x3a\x01\xc9\x2b\x6a\x5a\xd3\xe2\xf6\xbc\x48\xc8\xea\xfb\x4a\xca\x22\x6f\xbf\x7a\x9a\x51\xc2\xbb\x8d\x85\x70\x90\xe8\x73\xa8\x63\xc2\xd6\x73\xf6\x05\xbd\x99\x34\x09\x07\xea\xbf\xe7\x6c\x49\xdf\xe3\xd4\x07\x43\xe4\xc5\x26\x34\xda\xcc\x6d\xe1\x51\xca\x2a\x29\xcd\xd9\x17\xb4\x4e\xcf\x9e\x7d\xef\x9e\x9a\xad\xa3\xc0\x1e\xa0\x5d\x14\x55\xa9\xe8\x3a\xd3\xe0\x16\x49\xbd\xf1\xc5\x87\xfa\x60\xeb\xf8\x9b\x66\x87\xba\xe7\x9f\xde\xc1\x68\xdd\x0f\x8e\x06\xc6\xfd\xb4\x7e\x8b\x5c\x65\x14\xd1\xe9\xe3\xb5\x83\x4f\x01\xb1\xb8\xa8\x8f\xde\xe6\x30\xd6\x42\x37\x88\x16\xd9\xaa\x4c\x15\xc8\xc0\x51\xa1\x3e\xa1\x61\x47\x35\x36\x58\x48\x92\x18\x35\x3a\x93\xf9\x41\xc9\xd9\x92\xf0\x55\x50\x1b\x6d\x0a\xb1\x03\x53\x0f\x76\x10\xa7\x34\xbe\x6e\xc1\x71\x74\xb3\x3b\xa0\x55\x8e\xc0\x34\xb1\xe0\x6b\xa0\x99\xa0\x1b\x49\xf2\xd0\xfc\x3a\xaa\x3a\x43\xdd\x4f\x99\x37\x89\xb5\x0d\x0c\x78\x8b\x12\x3a\x2b\xef\xd0\x18\x67\x2c\xbe\x0e\x3b\xcb\xd5\xc7\x7b\x65\x2f\x37\x2a\xef\xaf\x1f\xde\xbd\x6d\x56\x63\x3c\x86\x57\x73\xc7\x31\x51\x36\xb9\x19\x65\x84\xcd\x05\x67\x0b\x96\x93\x0c\x04\xe5\x8c\x0a\xc0\x90\xc4\xa2\x90\xb0\xac\x24\x91\x34\x69\xf0\x84\x42\x29\x90\x64\x88\xde\xdf\x2d\x85\x9c\xd2\x44\x1d\x65\x9c\x2a\xcb\x44\xf2\x2a\x96\xc0\xa4\xf6\x06\x3d\xcc\x8a\x22\xc4\x1b\xb9\xeb\x61\x62\x1f\xda\x4a\xe0\x24\x17\x4a\x1d\x3d\x53\x9b\xb8\x35\x97\x86\x79\xd0\x15\xfb\x0e\x2f\xbe\x83\xc1\xe1\x00\x26\x6a\x27\xd8\x73\xaf\xcd\xed\x1a\x91\xde\x85\xe8\xad\x87\xb5\x01\xdc\x71\xaa\xac\x9f\xd1\x59\x8b\x96\xd9\xe6\xc8\x8b\x35\x18\x9c\xb1\xac\xad\x76\x3f\x54\x8f\x49\x61\x36\xfc\x9c\x64\x82\xb6\x8c\x74\x73\xe8\xd4\x27\x6d\x97\x74\x7d\x6e\xcc\x50\x13\x5b\x33\x36\xbe\x42\x3b\xfc\x32\x18\xf6\x08\x99\x35\x3d\x62\x4e\x89\xa0\x67\xc6\x72\x72\x07\xbd\x0f\x79\x42\x77\x40\x9e\xd0\x1e\xe4\xbb\x92\x4e\xf3\x64\x17\xc2\x9f\xe7\xc9\xaf\x24\x7b\x0b\x62\x4b\xb4\x83\xb8\xd7\x4e\xeb\xd1\xf8\x2d\xe3\x4b\xfb\x01\xea\x5d\xc0\x69\xa9\xce\xd6\x60\x04\x9f\x95\x27\x3a\xe9\xc1\x87\xaa\x7d\x04\xcb\x42\x1d\xb2\xc1\x8c\xce\x0b\x4e\x83\x75\xc7\xa2\xb3\x86\x9e\xda\xa7\x9c\xe2\x13\xcb\x17\x8d\x44\x6b\xc7\x54\xa9\x28\x7d\x0c\xf4\x18\x17\xd6\x33\x51\x40\xc6\xa8\xa8\x7b\x6c\xd2\x46\xe6\xd0\xc3\xd8\xe7\x3d\xe2\x6a\x39\x55\x16\x65\x95\x11\x49\x5f\xe1\x0c\xc9\x2c\xa3\x7a\x96\xc2\x08\x6f\xad\xdc\x1c\xbb\xd4\x1d\xa9\xb3\x3b\xd6\xfd\xe1\xc8\x26\xac\xb7\x71\xc4\x9d\xa2\x7c\x0f\x23\xf2\x89\xdc\x85\x56\x97\xaa\x41\x8a\x64\x02\xc1\x5f\x9e\x9f\x07\x23\xd3\x58\xf1\xcc\x8b\x63\xc1\x3e\x04\x63\x52\xb2\xf1\xcd\xd1\x38\x23\x33\x9a\x8d\xaf\xae\x14\x67\xaf\xae\xc6\x37\x18\x21\xad\x7b\x2a\x05\x78\xbe\x2a\xd5\xba\x7e\x12\x45\x5e\xb7\x8b\x2a\x8e\xa9\x10\x93\x86\x40\xf5\x7a\x84\xc1\x0a\x65\x50\x56\xc2\x0d\x23\x28\x9e\xa9\xf7\x4a\x2b\xca\x4a\xc0\x83\xe9\x14\x02\x83\x22\x70\x01\x2d\x0f\xd3\xe2\xf6\xb9\xb2\xd0\xc3\x00\xff\x80\xd2\x41\x2c\x5f\x00\xb9\x21\x2c\x53\x1c\x02\xed\xe2\x8a\x07\xcd\x11\xd7\x2c\x6c\xd3\xb2\xae\xff\xa7\x38\xb7\xac\xd9\x8a\xc4\xa8\xb9\x35\xa0\xf3\x82\x43\x88\x86\x06\x06\x62\x81\xc1\x89\xed\x10\x65\x34\x5f\xc8\xf4\x18\xd8\xfe\x7e\x0f\xb5\xee\x5e\xb8\x38\xbc\xac\x6d\x38\x92\x24\x61\x4e\x6f\xe1\x1d\x3e\x87\x06\xd9\x05\xbb\x1c\x41\xf3\xff\xe1\xd0\xa5\x76\xcf\x43\x3c\xaf\x7e\xf9\x65\x75\x46\x45\x95\x49\x13\x43\xb7\xff\x50\x51\x4c\x30\x4e\x3f\xf2\xa6\xaf\x60\xbb\xed\x4b\x52\x4e\xe0\xf3\x7a\xe3\x40\x28\xca\x4a\x16\x49\x4a\x49\x12\x7a\x33\x2c\x2a\x1e\xd3\x89\xa5\xd8\xc5\xca\x24\x5d\x8a\x09\x04\x24\xcb\x02\x7f\x34\x19\xa7\x94\x3b\xb2\xa1\x20\x7d\xc6\xd9\x43\xff\x96\x42\x4a\x6e\xa8\xa1\x1c\x17\x21\xae\xb8\x72\x96\xf5\x1c\x47\x20\xae\x59\xe9\x75\xac\x37\xa0\xc3\x1e\xad\x39\xd1\xba\x54\x73\x87\x2f\x5f\x3a\x1c\x34\x20\x4a\xf4\x30\x30\x86\x8f\x6d\xa2\xba\x8c\xb7\x98\x9d\x4e\xc7\xdb\xba\x2c\x49\xa9\xd6\x6b\xbd\x15\x90\xdb\xb5\xc5\xc6\x68\xce\x32\x49\x79\xd8\x8c\x14\x19\xe5\x1b\x8e\x61\xbc\x18\xc1\x60\x30\xac\x45\x67\xd4\xa1\x1c\xa0\xe4\xca\x75\x3a\x11\x92\x17\xf9\xe2\x74\x30\xea\x02\x14\x42\x39\x48\x27\x63\x0b\xd2\x82\x58\x0f\x77\x24\x39\x9a\x17\xfc\x39\x89\xd3\x46\xdb\xf2\x2e\x2b\xfb\x39\x73\xc1\x23\x6b\x74\x5d\xc2\x14\x78\x7b\xc4\x36\x0d\x8e\xac\x42\xa3\xba\x95\x44\x01\xcb\x7b\x47\x70\xfb\xaf\x47\x7b\x9e\x30\x73\xd9\x11\x4c\xd1\xa6\x1c\x1b\x23\x05\xdb\x4c\x8f\x8c\x66\xdd\x09\x5a\x6d\xd1\x3b\xcd\xd9\x65\x24\xe2\x82\x53\x38\xe8\x7f\x4f\xcc\xfb\xf6\xfc\xed\x04\x51\x98\x0f\xe1\x3b\x20\x91\xf6\x8a\x9f\x16\xcb\x92\x70\x1a\xce\x86\x30\x01\xd6\x62\x52\x8b\x69\x0e\x97\xc4\x66\x76\xa4\x6c\x91\x66\x6c\x91\x7a\x3c\x81\xde\xdd\x6a\x10\x3e\x0c\x07\x27\x09\xbb\x39\x1d\xd8\x08\x7f\x7b\x56\xaa\xef\x65\x24\x24\x57\xda\x7a\x5f\x89\x1a\x82\x0f\x7d\x1a\xfa\xc8\x1e\x8f\xe1\x3c\x65\x02\x2d\x76\x4c\x64\xa4\x98\xf9\x00\x32\x97\x94\x03\x91\x92\xc4\xa9\x42\x8a\x21\x71\xab\xaa\xa0\xcc\xaa\x05\xcb\x47\x40\x04\x30\xe9\xe2\x2a\x64\x4a\xf9\x2d\x13\x14\x66\x9c\x92\x6b\xd1\xea\x67\x67\x4b\x32\x26\x57\x51\x8f\x36\xf4\xa2\x52\x0e\xd1\x18\x38\x9a\x74\x5d\x54\xf8\x5d\x67\xd7\xda\x46\x14\xb6\x98\x0a\x0b\x2a\xdf\xd5\x79\xaa\xed\xb6\x41\x2b\xaf\xd5\x78\xdc\xba\x11\x43\xe2\x36\x1b\x0a\x10\x38\xa1\x6f\xa3\xd0\x83\x3a\x0e\x61\x1b\x84\xa4\x65\xbb\x05\xdd\x9a\x60\x0f\xe0\x72\xb3\x8d\xac\xbb\x0c\x23\xea\x69\x0d\x0c\x87\x8e\x6c\x7e\xca\x75\xf7\x95\x39\xd2\x24\xd0\x23\xf5\xe8\xc4\x46\x23\x96\x3f\xe1\x9c\xac\x42\xd5\x3e\xf2\xa6\x33\x84\xd3\x29\x1c\x36\xcb\x82\x99\x1b\x83\x05\x8d\x1b\x73\x9a\xc3\xa9\x0b\x05\x96\x4f\x68\x61\x5e\x3a\x23\x63\x9f\x7a\x9d\xbc\x00\x6a\xdd\xc9\xa6\xa9\x5a\x76\xa1\x0b\xa1\xc3\xc1\xed\x08\xb1\x36\x60\x71\x6b\xd5\x79\xff\x6d\xd6\x22\xe1\x82\x3e\xab\x38\xc1\xcd\xea\x48\x01\xae\xde\x39\xbd\x93\x8d\x38\x60\xd3\xd9\x73\x98\x82\xb2\x43\xce\xe8\xe2\xf9\x5d\x19\x06\xff\x0a\x2f\x0e\x0f\xfe\x7c\xb9\x3f\x0c\x2f\x56\xb7\x49\xba\x14\x97\xfb\xc3\x87\x5a\x16\xd1\x4a\xc2\xe3\x5b\x89\x45\x8d\x31\xc2\xb6\xd0\xa0\xab\x03\x5f\x0f\x0c\xa8\x4e\xd9\xa0\xe5\x85\xbc\x51\xef\xcc\x2b\xcb\xec\x07\x53\xf8\xa6\x15\x1d\xfa\xf6\xd0\x86\xb6\xd4\xa8\xc8\x66\x98\x02\x4e\xef\x55\x2e\x2d\x82\x8b\xa3\xcb\x9a\xb2\x2a\x67\xea\xb0\xb4\x6f\x1e\x5f\x3a\xec\xd3\xfd\xbf\xee\xa6\xba\x9d\x42\x84\x0b\x85\xe0\x72\x2b\x87\x3d\xc7\x72\xe7\x7d\x86\xcc\xf9\x40\xe3\x22\x4f\xea\xf0\xae\xb7\x56\x61\x2b\x17\xe5\xc4\xb4\xfb\x6c\xcf\x7b\xea\x17\xfa\xec\x51\xc5\x73\x8f\x84\x93\x3e\x12\xee\x41\x8a\xb6\xa8\x1f\x8d\x6a\xd1\xba\xa5\xf3\xb1\xb3\xe1\x36\x38\x48\x70\x4f\x08\xa1\x31\xd6\x5d\x23\x7e\xbd\x8b\x03\xe5\x39\xeb\xff\xfe\x05\xdb\xbe\x52\x70\x00\x47\x6a\x55\x4f\xf5\xea\x1e\x1c\x6c\x5c\xb5\xd3\xff\x3f\xab\xb6\xa0\xf2\x79\x9d\x48\xd8\xbe\x64\xa8\x70\xbc\xf4\xc3\x97\x2f\xe0\x35\xf8\x54\x73\x9b\xd7\x5a\x62\xe6\xcd\xea\x1a\x37\x34\xbd\x4b\x54\x7e\xb7\x33\x99\x7f\xf8\x75\x93\x51\x4d\x89\x06\xd6\x81\xb7\xba\xbb\x93\x8c\x12\x4d\xa3\x82\x1d\x3a\xda\x2e\xc1\x52\xb6\x2d\x84\x89\x5e\x9a\x10\xd5\xbd\x25\x43\xbb\xb0\xc5\x10\xb4\xa3\x26\x7d\x9e\xf7\xa4\x09\x36\xb0\x25\xa7\xb7\x86\x64\xb3\x74\x96\x41\x2e\x93\xcd\x36\x34\xb0\xe8\x69\xef\xbc\x7f\x61\x0c\x8f\x47\x30\x10\x7a\xc7\x0d\x7a\xf9\x6d\x10\x3b\xef\x7c\xd1\xdf\x51\x21\xfd\x4f\xcf\x5b\x54\x33\xc9\x49\x2c\xff\x57\x4d\xde\x81\xde\xbd\x4c\x2d\xce\x28\xe1\xda\x6c\x1e\xb6\x76\x7b\x47\x1f\x35\x9a\x66\xbd\xd7\x8e\x32\x2b\xeb\x3b\xec\xc9\x6f\x46\x74\x59\xca\x55\x38\x74\x72\x4e\x84\x4b\x25\xd7\xc6\x38\xd2\xdc\x55\xfc\x56\x8d\xe1\xf0\xbf\xe3\x94\x30\x95\x36\x45\x56\x19\x5b\x6d\xb3\x65\x6c\x2b\x40\xac\x71\x7d\x19\x0c\x4d\xc6\xec\xcb\x17\x78\x43\x64\x1a\x2d\xc9\x5d\x88\xff\x99\x67\x45\xc1\xfd\x53\x63\x0c\x8f\xff\x78\x38\x1c\xc1\x51\x3d\x6c\x93\xa2\xed\xe8\x17\x18\xdb\xaa\x57\x47\xeb\x23\x51\x3f\xa6\xdc\x0b\x65\xda\xc6\x88\xcc\x94\x33\x3c\x74\xed\xb5\x8a\x67\x76\x2c\x13\xc8\xb3\x8f\x25\xe1\x64\x29\xea\x80\x55\x80\x58\x82\x49\xdb\x38\xb6\x79\xa6\x8d\x45\x80\xb5\x75\xae\x11\x46\xb8\x62\xca\x30\x37\x53\x3b\xf0\xd6\xe6\xd8\x05\xd5\x19\x73\x03\x78\xec\x23\xa1\xa5\xb2\x6c\xeb\x55\xd1\x6f\x2b\x9e\xa9\x83\xbc\x3f\x42\xaa\x2b\xd3\x70\xb0\xc0\xc4\xb4\xf5\x8c\x5d\xf1\xee\x09\x7f\xba\xf5\x1d\xb8\x49\xce\xa8\x28\x8b\x5c\xd0\x2e\xf0\xb1\xe6\x85\x97\x12\x34\x14\x4b\x2d\xa3\x8d\xbc\xda\xe5\xdb\x8d\xee\xdf\x4c\xf1\x53\x9d\x33\xda\x4e\xb3\xef\xf2\xfd\x98\x2a\x47\x68\x43\x50\xba\x25\xff\xba\xa6\x45\xbf\x0c\x86\x5e\xb0\xba\xe2\xd9\xb6\x10\xb4\x6a\x9f\x18\x2e\xfd\xbb\xc3\xd2\xd8\x0b\x43\x01\x3b\x86\x9f\x0d\xd6\xb0\x0e\x3c\xfb\xac\xdc\x16\x65\xb8\x4b\xf9\x48\x09\x6d\xd9\x26\x5f\xb5\x29\xe7\x2a\xc0\x2d\xda\x22\x1a\x15\x01\xf7\x22\x6c\xaa\xcf\x5d\xca\x23\x6e\x96\x15\xd3\x9e\x0f\xfa\x4a\x6e\xed\x3f\xca\xd5\x82\xb6\xfb\xe8\xc9\x7b\xa1\x25\x3f\x9d\xdd\xee\xac\x59\xac\x9c\x49\xaf\xd3\xd6\xc8\x3f\xbd\xa3\x71\x85\x45\xac\x26\xe6\x1d\xc0\xbe\x42\x3b\xec\x72\xb9\xe6\x5e\x5c\x2c\xcb\x8c\x4a\xba\x33\x03\xa7\x1b\x18\x78\x7f\x3a\x21\x69\x9c\xf0\xbe\x13\x04\x0e\x9a\x4d\x7b\xdc\x8a\x30\xd5\xc7\x52\x2a\x97\x59\x18\xbc\x2e\x48\x02\x6a\xa3\xeb\xe9\xd5\x88\xf7\x21\x58\x0a\x38\x99\x71\x18\x9f\xc2\x59\xad\xb3\x34\x94\x73\xb2\xec\x43\x20\xdc\x44\x48\x6f\xe2\xb5\x99\xc2\x0e\x81\xa6\x7a\x1d\x5c\x8d\xb1\x14\x8b\x2d\x96\xa3\xea\x11\x29\xc1\x46\xd8\x56\xbb\x3d\x9b\xb7\x0c\xdd\x98\x02\xbf\x75\xec\xc1\xa0\x3d\xb4\xe5\xc1\x96\xa1\xbd\x8a\x97\x1d\x8c\x17\xf7\xf8\x52\xcb\x57\x54\xf2\xd5\x33\x2b\x42\xb7\x2c\x4f\x8a\x5b\x3d\x9d\x73\xfd\xb2\x0d\x59\xeb\x4f\xd6\xaa\xcb\xec\xb3\x30\x5a\x65\x3b\x8d\x99\x81\xb6\x92\xc5\xe0\xc7\x62\xea\x0a\x47\x3b\x24\x4c\x2d\x5d\x42\xcb\xa9\xa2\xaa\x3f\x65\xda\xe3\xed\xf5\x96\x05\xa9\x39\x8c\x9a\x19\x7c\x6d\x2e\xd7\x6c\xe7\xb6\x2e\x82\x7f\x4d\x66\x34\xf3\x0e\x26\xcc\x48\x8a\x86\xe5\xf8\xfc\x01\x43\xca\xc2\x5c\x44\x71\x3c\x70\x7c\x0b\x2c\x07\xb7\x9b\x66\x8a\x7e\xa5\xb4\xa3\x4d\x6f\x3a\xfb\xdb\xc5\x1a\x95\x95\x48\xc3\xc0\x66\x4e\xd4\xee\xd2\x7d\xf7\x21\xa8\x93\x25\x46\xf5\x88\x98\x94\xf4\xe5\xf9\x9b\xd7\x86\xce\x0b\xfc\x53\xe7\xf1\xd6\xbe\x9f\x99\xd9\xd9\x05\x27\x09\xbb\x81\x38\x23\x42\x4c\x3f\x06\xba\xf9\x63\xd0\x0c\x65\x29\xf9\x54\xb0\x3c\x0c\x4e\x66\xfc\x34\x18\xea\xe1\x13\x76\x73\x1a\x6c\x65\xa6\x8e\x29\x9f\x17\xe7\xe2\xad\x8e\x9c\x6e\x64\xa7\xb4\x10\xe6\x4d\x64\x99\xa3\x4c\xcd\xc1\x00\x47\xfd\x1c\x1c\xdf\xc7\xfc\xad\xdc\xdf\xce\xfe\x1e\xfe\xd7\x2c\x9f\x7e\x0c\x6a\xbe\x58\xfe\xaa\xf6\x8f\x41\xad\xe4\x50\x13\xab\x1f\x33\x9b\xfd\x69\x1f\x1b\x47\x9a\x87\xeb\xc0\x71\x9d\x75\x87\xdd\xc2\xac\xff\x30\x41\xc9\x9a\x97\x18\x65\x6c\x58\xa9\x77\x2c\x82\xbe\xc8\x0a\x22\xcd\x7b\xbb\x29\x99\x78\x4b\xde\xaa\xb6\xa1\x73\xed\x20\xd8\x7f\x95\xcf\x83\x11\x04\x07\xe6\x2f\x3e\xc3\x2d\xcb\x32\x98\x51\x8d\x2c\x51\xdb\xa9\x80\xb7\xe4\x2d\xcc\x56\x2e\xfe\x61\x04\xe7\x29\xb5\xa8\x62\x92\x0f\xa4\xea\x84\x95\x12\x34\x19\x81\x28\xb0\x54\x11\x64\x4a\x97\x40\x04\x2c\x48\x29\x20\xcc\xab\x2c\x1b\x46\x6e\x54\xc4\x5e\xf0\x5a\x7b\x01\xd4\xad\x4c\xf1\x4a\xa0\xda\xb6\xe4\xbd\xde\x6d\x49\x32\x2a\xa5\x75\xb6\xce\xcc\x7d\xb3\xe8\x69\x91\x15\x3c\x7a\xaf\x5f\x36\x9e\x1f\x5a\x49\x3a\xd3\xa8\x2c\x3f\x94\xa1\x25\x91\x9c\xdd\x05\xbe\x8a\x6a\xac\x05\x93\x26\x67\x02\xf2\x42\x42\x31\x07\x0d\x8f\x29\x9f\x07\xf0\x3e\x53\xee\x38\x50\xbc\xf2\x41\x20\x2e\x38\xa7\xb1\xc4\x02\x67\x2a\x04\x2b\xf2\x28\xf0\x4b\x43\xb4\x9c\xaf\x9b\x50\x0d\xb1\x55\x03\xbc\x4e\x76\x35\x7a\x53\x8a\x76\xea\xe2\xb8\x7e\xd2\x52\xdc\xe4\x2e\xa4\x30\x7b\xb5\xce\x56\x37\x9b\xc2\x24\x3d\x02\x11\x93\x8c\xf0\xe0\xd8\x55\x55\xc2\x49\x29\xb7\x6c\x2d\x9b\x2b\x69\x54\x13\x72\xc7\x57\x09\xcd\xc0\x4d\xc9\x41\x8d\xb8\x7e\xe7\xd6\xb1\x19\x56\xb8\xa3\x4c\xf0\x77\xe4\x75\x9f\x98\xbf\xbe\x5d\x2e\x85\xce\x9c\x08\x9f\x53\xce\x06\x72\x4d\x2c\xcf\xea\xba\x9b\xe8\x68\xfe\xc5\xe1\xa5\x9b\xc2\x5e\x4d\x9c\xb3\x11\x77\xa6\xc6\x76\x71\x74\xd9\xa4\x17\xeb\x9c\xfb\x7a\xd8\x58\x83\x99\xb2\xa5\x8d\x04\x46\xf8\x18\xea\x1e\xeb\xa6\x56\xad\x16\xc9\x0f\x58\x62\x18\xfd\x42\x79\xf1\x82\x65\x59\xa8\xa6\xd3\x0a\xbd\x91\x1d\x0d\x89\xce\x55\xd2\x7b\x83\x9b\x75\xc1\xa1\x0d\x1a\x5b\x27\xd8\x3f\xcf\xb1\x64\x1f\x2f\x7a\x92\x7c\x05\x92\x93\x98\x0a\x25\xef\x24\x07\x7a\xc7\xf4\x7d\x2f\xd4\x07\x91\x5f\x42\xde\x44\x40\x9c\xe1\x9a\xfa\xf3\x38\x65\x59\xc2\x69\x1e\x0e\x7b\xf2\x63\x0d\x6c\xab\x90\x0a\x5f\x60\x45\xbb\xf7\x62\xdd\x2e\x8d\x37\x79\x63\x73\xfe\x05\xba\x26\xfe\xd4\x26\x87\x8f\xdb\xb5\xf1\x2d\x70\x53\x14\xdf\x85\x6f\xc8\xef\xdc\x92\xdb\x06\x84\x43\x35\xe1\x20\x9a\x27\x26\x18\xb4\x31\x5e\xa2\x38\xff\xb4\xc8\x6f\x28\x97\x20\x0b\xf8\xe1\xed\xab\x1f\xd1\x66\x17\x92\x2c\x4b\x7b\x4b\xce\xf1\x09\x76\x8f\xc9\x7d\xf9\x02\xdf\x7c\x6b\x46\x38\x4a\xed\x2d\xcc\xa8\x27\x52\x65\xc9\x3c\xa8\x07\xaa\xa7\x89\x92\xd3\x29\xcb\x10\xce\xc9\xf3\x9e\x24\x98\x88\x36\x45\xb4\xb7\x4c\xa6\xc0\xf2\x1b\x26\xd8\x2c\xa3\x10\x28\x55\x14\xe8\x9d\x27\x80\xe8\x5b\x70\x71\x91\xcf\xd9\xa2\xe2\x34\x81\xbb\x03\xb5\x08\x30\x2b\xaa\x3c\x21\x88\x80\xe6\xa2\xe2\x54\x58\xf4\x32\x25\x52\x4b\x9e\x00\xc2\x29\x24\x4c\x94\x19\x59\x99\x7b\x75\x40\x60\xce\xee\x1a\x3c\xc8\x05\xef\x72\x49\x4e\xca\x12\x13\xfc\x05\x0e\x5d\xa7\xcb\x6b\xfc\x6a\xe2\xb6\x1b\x82\x34\xe5\xba\x28\xd0\xc8\x82\x8b\xc3\xcb\xe8\x0e\x4e\x1b\xae\x39\xd9\x11\xcd\xa3\x2a\xc7\x4b\x7b\xe1\xe7\xbb\x49\x03\x35\x02\x53\x4e\xb5\xf6\x4a\x79\x1d\xbc\xc2\xdb\x9b\x07\x70\xa4\xc6\x39\xb1\x2b\xd2\x19\x05\x2d\x1a\x35\x84\x01\xe8\x1d\xa0\xb9\x85\xf3\xb6\xb8\x85\x98\x53\x22\xf5\x9d\x3f\x75\x48\xfa\x9b\xb8\x73\x45\xdb\x3d\x46\x75\x75\xb0\xa6\xc0\xe4\xad\x27\x8e\xf0\xd7\x8a\x54\xdf\xd6\x9b\x34\x01\x45\x67\x63\xa3\xb3\xa8\x2f\xef\x85\xc3\x91\x12\x79\xa3\x41\x6f\x59\x22\xd3\x7b\xfa\xfc\x53\xbd\x47\x77\xf7\x4f\x87\x23\x78\x5c\xf7\xd3\xe6\x3d\xe5\x93\x9e\x62\xf0\xef\x4c\xd9\x40\x00\x13\x08\x32\x96\x53\x1b\xfe\x41\x37\xa2\x2c\x32\x62\xfc\x5c\xf5\x8e\x70\x13\xf3\xd1\x82\x3b\x69\xe4\x5d\x37\x2f\x99\x82\x24\x95\x2c\x82\x91\x5f\x4d\x7a\x67\xf4\x49\x97\x59\x11\xea\x2c\x74\xd4\x3f\x6b\x4e\x4f\xfa\xf8\xec\xe0\x5a\x6d\xc1\xf5\x93\xe1\xff\x46\x64\x9a\xd8\x82\x33\x9a\xcb\x7a\x7a\x74\x6e\xeb\x28\x24\x8b\xaf\x5f\x98\xcb\x2e\x35\xfe\x17\xec\x4e\xaa\x3d\x16\xbd\xad\x96\x33\xca\x23\x7d\x1b\xe6\x6f\x6f\xbe\x3f\x1f\xf5\x2c\x36\x92\x68\x16\xdb\x2d\x69\xf5\xc8\xb0\x77\x8f\x9b\x99\xa5\xc5\x0d\xe5\xcf\xa8\x24\x2c\xeb\x9f\xdf\xcb\x06\x60\xb7\x49\x6a\x32\xfd\x52\x2b\xbd\x78\x23\xb8\x1b\x81\x53\x76\xe7\x24\xc2\x06\x27\xa2\x24\xb9\xd5\xf9\xaa\x31\xc0\x3a\xa3\x3a\xb6\x72\x07\x5f\xa3\x26\x1e\x46\xb2\xf8\xe1\xfc\xa9\x36\xf5\xc3\xa1\x2e\x33\x52\x7d\x4f\x07\xc7\x0e\x5a\x71\x4b\x64\x9c\x76\x11\xe3\x3c\xae\xf4\xdb\x40\x17\xde\x4f\x83\x19\x89\xaf\x17\x5c\xe9\xb6\x03\x63\x2f\xe8\x12\x27\xb4\x05\xb0\x45\x0d\xa3\x8e\xa0\xee\x40\x71\x91\x4b\x9a\xe3\xdd\x52\x3d\xe4\x3e\x98\xd9\x46\x7d\x1e\x16\x6a\x58\xed\x66\x4d\xc0\x75\x39\x57\x66\x26\xa6\x36\xef\xd8\x4b\xac\x6a\x2e\x29\x80\x19\x47\xb6\xd8\x51\x9d\x26\x13\x27\x68\xbc\x6a\x9f\x8c\xae\xe2\x41\xfb\xd4\x5e\x30\xeb\x59\xf8\xd7\xf8\xae\x57\xb1\xe8\x6e\xb5\x66\xb9\x57\x20\x9c\xd1\x9c\x92\xb3\xfe\x21\xbf\xa7\x29\xb9\x61\x05\xb7\x76\xd8\x4b\xdb\x21\x84\x9d\x44\x4f\xd3\x35\x31\x7f\xfd\xc1\x45\x4a\xb3\x1b\x75\xc4\xec\x34\xf2\x39\xde\x2d\xdd\x4d\xe0\x37\x8d\xea\xc6\xd3\xeb\x1b\x9e\x5b\xc3\x22\x82\xfd\xf2\x5b\x6c\x47\x5f\x75\x3d\x68\x79\x17\x3d\x9a\xa0\x3e\xdd\xeb\x40\xfd\x6f\xd5\xf5\x5e\xb1\xff\x26\x75\xb3\x43\x4d\x40\x4f\xb2\x64\x4b\xca\xa2\x9f\x27\xca\x48\x36\x54\x98\x3b\x42\x02\x4a\x82\x97\xfc\xdd\x2b\x44\xf3\x82\xdb\x8b\x46\xc6\x72\x41\x17\xda\xb9\x37\x24\xc8\x0d\xdd\x33\xe6\x8d\x73\x5b\xe8\xc9\x5f\x9f\xfc\x08\x36\x1e\xae\xcc\x91\x82\x27\x94\xeb\x8b\x46\x07\xb5\x97\x0c\x4c\x6a\x47\xde\x19\x53\x23\xbb\x4d\xa9\x36\x61\x2a\x41\xb9\xb2\x94\x94\xa1\xa3\x6b\x14\x91\x1e\xf7\x8a\x6d\x7d\xc9\xc8\x78\xa0\x9e\xc5\xd7\x7f\x39\x09\xdd\xf1\xad\x7e\x45\xaf\x1f\xfd\xb6\x40\x32\xcb\x82\xe5\x52\xc0\x5c\x69\xc4\x96\x6f\xdc\x35\xf0\xcf\xc9\xcc\xbf\x5b\xe6\x5e\x1a\x72\x62\x86\xf5\x25\xa6\x9d\xa4\xa0\x95\x80\x6a\xd5\x30\x90\x9d\xe4\x40\xe7\x96\x9b\xdb\x4f\xf7\x53\xe9\x72\x5a\x47\x48\x6c\xc8\xec\xfb\x22\x59\x59\x56\x3b\xe8\xfc\x4b\xef\x57\x78\x77\x03\xe4\xac\x48\xcc\x2d\x3d\xec\xe7\xa5\x9e\xc5\x2d\x93\x71\x8a\x13\x70\x02\x1c\x9a\xfe\x98\x08\x0a\xc1\x0d\x8d\x65\xc1\x83\x49\x6d\x7f\x3a\xb0\xbd\x2b\x68\x87\x31\xde\x4d\x70\x22\xf9\xe9\x89\x4c\x94\xdf\xab\xce\xaa\xe9\xe0\xf1\xe0\xf4\x84\x9d\xe6\x7a\x61\x4f\xc6\xec\xf4\x64\x2c\x13\xf5\xc3\x4f\x9b\xa4\x41\xbb\x7c\xa7\xbf\x28\xad\x4b\x4b\xeb\x52\x04\xae\x01\x4c\x5d\xc0\x0b\x76\xe9\x9e\x96\x75\xf8\xb1\x2f\x46\x51\x87\x28\x8e\xef\x9b\xda\x69\x2b\x10\xab\x51\x9a\x70\xa9\x9a\x9a\x01\x31\x21\x88\x8b\xa3\xcb\xe6\x95\x3b\x6b\x3d\x4f\xac\x0f\x3e\xae\xf9\x6f\xe2\x4c\xff\x87\xf9\x7f\xf3\xdb\xf9\x7f\xd3\xe6\x7f\x5d\x9a\x79\x4e\xef\x94\x85\x13\xd4\x41\xa9\x9a\xbc\x4f\x9a\xbc\x4f\x70\x02\x37\x36\xe6\x63\x69\xfb\xe4\x5f\x98\x69\x30\xed\x4f\x6b\xe0\x8b\x4f\x97\x66\x85\xe0\x3f\xd5\xaa\xb9\xed\x87\x7a\xe5\x66\x7c\x7c\x1a\xb4\x0b\xce\x7e\x97\x68\x38\x94\xec\x2c\x19\x26\x2a\xa7\x25\xa3\x7f\x74\x0d\xe2\x8d\xe4\xae\xc4\x26\x41\x6c\x0f\x84\x96\xed\xfd\x03\x21\x88\x37\x90\x33\x6b\x7f\xcc\xe1\x96\x41\x4d\xbc\x61\xd2\x7b\x1e\xfc\x90\x8b\xaa\x2c\x0b\x2e\x69\x62\x6a\x6c\x31\xa2\xda\x41\xb2\xf5\x68\xe7\x1b\xbe\x4e\xd6\x77\xa5\xad\xfd\xb5\x23\x2f\xb8\xe4\xd8\x54\x67\xfd\xcd\xbe\xa9\x55\x5f\x6c\x70\xe3\xa3\xc8\xbe\x86\x00\x9a\x4b\x26\x57\x6f\xf4\xbd\x1d\x9c\x58\xf0\x28\x98\x40\xf0\x88\x2c\xcb\x63\x5b\xe8\x7e\x82\x2d\x99\xac\x1b\x4e\xb1\x61\x51\x37\x0c\x82\xc1\x04\x06\x8f\x7e\xae\x0a\x79\x6c\x6e\xdf\x04\x83\x40\x35\x7d\xf5\xcd\x9f\xeb\x96\xb1\x6e\xb9\x7b\xfc\xe2\x78\x50\x5f\x83\x37\x46\xbe\xf1\x69\x0c\x79\xcd\xf5\x9f\x8b\x47\x27\xa7\xc1\xe0\xe3\xf8\x72\xbc\x18\x39\x37\x35\x44\xab\xd8\xb1\x9e\xc6\x85\xb8\xb4\xa1\xcd\xb5\xb7\x2a\xef\x49\x5f\x85\x6c\xf3\x6d\x3a\x9b\xe3\x69\x2d\xa6\xea\xd6\xfa\x10\x59\xff\x4a\x22\x92\xe6\x8a\x02\x22\xc6\x18\xd8\x0f\x67\xaf\x9b\xd8\xa3\x0b\xd5\xab\x53\x3d\x00\x1d\x4a\x59\x37\xd9\x52\xef\xad\x0d\x79\xe1\x50\x24\x49\xb4\x55\x0e\xe6\x2b\x77\x28\x4d\xc1\x57\x24\x49\xae\xcc\x87\x38\xcc\x35\x51\x0f\x5c\x7f\xb9\x44\x35\x8d\xe0\xf3\x7a\xd8\xb5\x50\x5a\xf3\xb7\x33\xea\xf2\x40\xcd\xce\x24\x58\xb3\x22\x46\x37\x3f\x12\x94\x70\xfd\xd9\xa8\x20\x68\x2d\x98\x4d\x33\x18\xee\x61\x89\xc3\x7b\x5b\x3f\xd5\x8f\x27\x12\xd5\x4c\xcb\x47\x78\x34\x8c\x44\x99\x31\x19\x0e\x1e\x0d\xea\xca\xaf\x06\xc7\x4b\x9a\x95\xb5\x9b\xd5\x9e\xcc\xdf\x5b\x60\xa1\x1b\xe3\x6e\xe3\xd0\x13\x6e\xba\x88\xd0\xa1\x74\x2b\xb7\x2c\x97\x5d\x6e\xd9\x4f\x9d\xf9\x82\xd3\xa5\x55\x9b\x8c\xc8\xb2\x87\xf5\x67\xc6\x9c\x6f\x05\x99\xa0\x8a\xf9\x08\x9b\x56\x98\x6a\x65\xb5\xc1\xf9\xc3\xd9\xeb\x66\x69\x87\xce\x6b\xad\x4f\x5a\x6b\x3f\xdc\x03\x18\x36\x1f\x39\xd4\xfb\x41\x4b\x5f\x13\x52\x7e\x68\x96\x77\x68\xfc\xb4\x6e\xf2\xdc\xc6\xc9\x6b\x2f\xae\xb9\xb6\xaf\xf8\x34\x1e\xc3\xdb\x77\xe7\xcf\x27\xad\xdb\x4e\x33\x0a\xd7\xb4\x94\x78\xa7\x6d\x95\xc7\x3a\x66\x3a\xae\x24\xcb\xc6\x42\x72\xfb\x37\x2e\xf2\x9b\x68\x51\x4c\x10\xef\x6b\x96\x5f\xbf\x28\xf8\xf3\x3a\x89\x75\xcf\x1a\xd4\xfc\xe8\xdf\xb6\xb8\x9c\x5a\xf9\xd8\x5d\x6b\xa6\xef\x65\x6f\x16\x7a\x6f\xe1\xad\x1d\x37\xe3\xd5\xda\xf5\x9a\x03\xcd\x5d\x25\x9b\x2d\xf8\xdd\xe2\xe9\xa0\x78\x37\xfb\x44\x63\xa5\x84\x3a\xb2\xba\xa0\x39\xe5\x44\x6a\x71\xd5\x60\x9e\xc2\xb1\xf4\x7b\xf9\xbe\x87\x11\x16\x92\x85\x0e\x6e\x5b\xd9\xa0\xbf\x58\xa6\x13\xca\x8f\xcc\x67\x70\x52\x26\x64\xc1\x57\x28\x1c\xca\x05\xa1\xe1\xe7\xf5\x08\x82\x60\x04\x3a\xb7\xf1\x9d\x3a\x90\x1d\xa6\x6e\xdd\x23\x8e\x40\xba\x2b\xa4\xe5\xae\x47\x47\xbb\x4b\x64\xae\x8d\x36\x9d\x86\xf0\xd9\x4c\x6b\x81\x61\x00\x84\xeb\x29\xfa\xe9\xe5\x74\x4b\x40\x76\xe9\xd2\xd6\x8c\x7f\xf7\xd4\x58\x8d\xcd\xd5\x19\xb5\xe4\xa1\xe3\x4c\x13\xbf\x0b\xce\x4e\x4f\xeb\x55\x7e\x43\x32\x96\xf4\xa8\x1d\x7d\x43\xd3\x55\x5b\xba\x1b\x95\xb1\x5d\xea\x17\xbc\x58\xbe\xd3\x03\x18\x04\xdd\xe1\x46\x70\xb8\x23\x67\xa2\x66\x74\x1d\xa8\x85\x29\x8c\xff\xb5\xf8\x98\xec\x7f\x8c\xa2\xfd\x69\xb4\xff\x70\xfc\xeb\x98\xd5\x33\x43\x97\x5f\x28\x91\xe7\x55\x99\x51\xc3\x2f\x33\x4d\xa7\xbd\xb3\xf6\xcd\xbb\xd6\x49\xf3\xab\x27\x17\x49\x2a\xa4\x8b\xef\xb8\xbf\x72\x6c\xeb\x24\xef\x5b\x8f\x0d\xe2\x31\xd2\x22\xfb\xaa\xd1\x33\xea\x5c\x75\x00\x1a\xa3\xa1\xb1\x19\xfa\x8f\xd4\x12\x3f\xe3\xf9\x6e\xae\xb4\x2d\xe2\xf3\xae\x72\x23\x36\xfd\xa5\xcf\xd0\x19\xb2\xae\xc9\xc7\xa8\xfb\xbb\xb9\x1e\xf4\x45\xc1\x15\x16\xbb\x49\x5d\x72\x76\x5e\x86\xe6\x85\xae\x67\x16\xff\x64\x32\x0d\x3b\x44\x1a\x66\x5b\x3f\xca\x16\x9a\xdd\x47\xcf\x76\x4e\x6c\x9b\x84\xb2\x25\x62\x1a\x1e\x8e\xee\x99\xb7\x56\x7f\xbd\xa8\xba\x8d\xfe\xe1\xb1\x13\x4f\x6a\xdb\xa6\xc3\x12\xc3\x0b\xf7\x13\x38\xfe\xf5\xd6\xc6\xd6\x74\x76\xf7\xbb\xf9\xbb\xdc\x9c\xc2\x5d\xfa\xea\x75\xd6\x48\x9e\xc4\x71\xb5\xac\x32\x22\xb1\xf2\x70\x07\x65\xb2\x41\x62\x61\xdf\x14\xe2\x77\xd0\xd6\xb9\xc7\xe6\x3b\xb1\xed\x0b\xa0\x0e\xf4\xaf\xde\x6a\x9b\x27\xbf\x5d\x0d\x7b\xb7\x84\xc1\x17\xee\x76\x52\x59\xba\x8b\xd8\xf4\x56\x9e\xf6\x93\x3c\xb1\x45\x53\x52\xaf\xa8\x36\x50\xa7\x03\xe7\x00\x6f\xc0\xeb\xef\x5d\xbb\x7d\x2f\x0e\xf5\x3d\x62\x17\xd8\x22\x4d\x68\x5c\x24\xf4\x87\xb3\x57\x4f\x8b\x65\x59\xe4\x34\xb7\xbc\xf4\x10\x1c\x5d\x36\xae\xd3\xc7\x7d\xe5\x33\x05\x10\x0c\x87\x06\xab\xda\x49\x2e\x09\x53\x08\x24\x99\x39\xb5\x69\xfe\x90\xf5\x8d\x54\xa7\x59\x7f\xc4\x46\x92\x19\x30\x81\x39\xcb\x05\xe5\x26\x70\xe0\x1a\xa4\x17\xcd\x30\x97\xf5\x54\xff\x61\x2f\x14\xaf\x7b\x96\xbf\x7b\xff\x77\xdb\xa2\xb7\xf5\x98\xbb\xd4\x8e\xa1\x66\x46\x09\x16\xca\x32\x61\x46\x4c\x83\xa8\x5b\x58\xb8\x6d\xbc\x1e\xf3\xaa\x63\xb1\xb4\x2c\xad\x5a\xca\x4a\x4b\x61\xbf\x06\x66\x9e\xf2\xf5\xcd\x3c\x2d\x96\xfa\x31\xba\xa6\x2b\xe1\x8d\x34\xec\x0a\xe9\x75\xf3\x51\x5e\x07\xd3\x85\x21\x61\x1f\xae\xe9\xea\xd2\xda\xaa\x06\xcb\x85\x6a\x6b\x4a\x82\x5c\x67\x48\xf7\x6e\x05\x14\x94\x1b\x6c\x8c\x68\x7d\xe1\xe1\x03\x95\x55\x69\x92\x29\x31\x89\x53\x3a\xd1\xdf\x18\x6a\x16\xdb\xbb\x18\xd1\xfb\x59\x1e\x21\x89\x64\xf1\xf8\x93\x18\x6b\x67\xa7\xfe\x50\x75\x6a\x3f\x5e\x6d\xb3\xe1\x9d\xbb\x0e\x58\xaa\x04\x9f\xed\x27\x1e\xbc\xaf\x4b\x9b\x98\xa0\x0d\xa2\xd5\x5f\xa2\x46\xe9\x6e\x8a\x9c\xec\xfe\x60\xe2\x19\x2d\x39\x8d\x89\xa4\xda\x79\x43\xff\xdd\x2f\xdc\x4a\x18\xa7\xb1\x3c\x2f\xde\xb0\x85\x12\x88\xa4\x76\xf1\xa1\xef\x3a\x00\x7e\xad\x5f\x47\x1f\x7a\x0c\xfe\xd0\xa9\x5e\x47\x09\xd4\xbc\xf5\x63\x7e\xeb\x26\xa4\x81\x7e\xd4\x79\x4a\x05\x05\x79\x5b\x98\x0b\x26\xa2\x9f\x6e\xfc\x16\x5c\x2f\xb9\x43\x85\x85\x70\x0a\x24\x49\x68\x02\x45\x9e\xad\x30\xae\x39\x23\xf1\xf5\x2d\xe1\x09\xde\x24\x20\x92\xcd\x58\xc6\xe4\x4a\xb9\x69\x45\x96\x68\x81\x30\x39\xee\xc8\x91\x86\x5e\x96\x6d\x8c\x0a\xa4\x44\xa4\xf7\x98\x31\xcd\xb7\xa9\xec\x49\xa7\x55\x5f\xf2\x82\x93\xc5\x52\xa7\x9b\x7b\x94\x61\xdf\x28\x3a\x15\xc1\x57\xf5\x62\xe0\x05\x0e\xb3\xf0\x3e\x52\x73\x00\x87\x47\x43\xad\xe1\x12\x5e\x94\x98\x95\x52\x78\xe0\x2b\xbc\xa2\x14\x63\x8e\x3b\x74\x4a\x5e\xba\x24\x37\x26\x39\x57\xba\x6e\xed\x6c\x9a\x0d\x72\x53\xeb\x88\xdf\x37\xcd\x1e\x6f\xf4\xf7\xcc\xb6\x5f\x0f\xb5\x43\x50\x9e\x99\x53\xf8\xba\xaf\x39\x24\x6b\xe5\xd7\xa3\x83\x15\x8c\xab\xdb\x8a\x5d\xd4\xda\xfd\x8a\xad\x68\xe9\x34\xf0\xbe\x9f\x5d\x4f\x0c\x2f\x6b\xf5\xfb\xbe\x2d\x26\x2b\xca\xc7\x2d\xef\x16\x97\xf6\x61\xa8\x36\xeb\xf0\x78\xef\xbf\x02\x00\x00\xff\xff\x67\x7d\x1a\x81\x91\x63\x00\x00") +var _webUiStaticJsGraphJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xe4\x3c\xfd\x77\xdb\x36\x92\xbf\xfb\xaf\x98\xb0\x79\x11\x55\xcb\x94\x9d\xee\xf6\x76\x65\xcb\xbd\x34\x1f\x9b\xec\xe6\x6b\x1d\x77\xb7\x7d\x8e\xd7\x0f\x22\x21\x11\x31\x45\xb2\x00\x68\x5b\x4d\xf4\xbf\xdf\xc3\x00\x20\x01\x92\xb2\xd4\xf6\x6e\xdf\xdd\xbb\xfc\x20\x87\xe0\x60\x30\x18\x0c\x06\xf3\x05\xde\x10\x0e\xef\x79\xb1\xa4\x32\xa5\x95\x80\xa9\xfb\xf0\xe5\x0b\x7c\x5e\x1f\xef\x29\x90\x05\x27\x65\x7a\x4e\x97\x65\x46\x24\x3d\xde\xc3\xb6\x0f\xcf\x9f\xbe\x7b\xfb\x0c\xa6\x70\x74\x78\x78\x78\xbc\xb7\xd7\xf4\x8c\xfe\xa2\xc0\x61\x0a\xf3\x2a\x8f\x25\x2b\xf2\x90\x66\x74\x49\x73\x39\x82\xa2\x54\xcf\x62\x04\x29\xc9\x93\x8c\x3e\x4d\x49\xbe\xa0\xf6\xe9\x8c\x2e\x8b\x1b\x3a\x84\xcf\x7b\x00\x32\x65\x22\xa2\x19\x4c\xc1\xf4\x3d\xb6\x8d\x48\xcb\xcb\xf3\x37\xaf\x61\x0a\x79\x95\x65\xf5\x0b\x83\x1b\xa6\x76\x94\xfa\x8d\x3b\x18\x4c\xbd\xb1\x5b\x30\x9a\x04\x97\x74\x4d\x0e\x78\x24\x86\xaa\xc7\x50\x75\x5d\xd7\xfd\x39\x8b\xaf\x45\x4a\x6e\xed\xdc\x3d\xd2\x12\x22\x09\x4c\xe1\xe2\xf2\x78\xcf\x36\xb1\x9c\x49\x46\x32\xf6\x0b\x0d\x87\xc7\x7b\xeb\x1e\x06\x46\x92\x2d\xe9\x0b\x12\xcb\x82\xab\x49\x29\x32\x82\x55\x30\x81\x6f\x0f\xe1\x6b\xfd\xf3\xf8\x0f\xf0\x35\x7c\xf3\xed\x1f\x47\xea\xd5\x6d\xf7\xd5\x7f\xe0\x8b\xa4\xf5\x02\x1b\xd3\xa6\x11\x9f\x97\xf8\x8c\xff\x15\xc1\x04\x8e\xfa\x29\x12\x92\x96\xff\x20\x59\x45\x15\x41\x17\x0a\xf8\x48\x04\x23\x08\x8e\x0e\xf5\x9f\xa5\xfa\xfd\x23\xfe\x1e\xe9\x3f\xdf\x1c\xea\xa7\x54\xfd\x3e\xc6\xdf\x6f\xf1\xf7\x48\x3f\x1c\x25\xf8\x22\x09\x70\xe8\xa3\x5b\x7c\xc2\xdf\x3f\xe0\xef\x9f\xf0\xf7\x68\x85\xed\xab\x60\xef\xb2\x8f\xac\xbc\x5a\xe2\x7f\x14\x55\x7d\xa2\x18\x95\xbc\x90\x85\x5c\x95\xd4\x61\x7b\x77\x91\x95\x54\x0b\x9a\xcd\x61\x8a\x4b\xa4\x56\x4f\x3d\x46\x2c\xf1\x36\x46\x7b\xd0\xfd\x7d\x5c\xd5\xf1\x18\x3e\x50\x09\x09\x9d\x93\x2a\x93\x56\x06\x23\x8b\xc4\x3e\x23\x32\x83\xf6\xb8\xfd\x92\x2b\x91\xbc\x62\x79\x59\x49\x0b\xd5\xf7\xea\xcb\x17\xe4\xa8\xea\xce\xe6\x10\x7a\x70\x92\xcc\x60\x3a\x9d\x42\x95\x27\x74\xce\x72\x9a\x58\x01\xee\x42\xc1\x11\x8a\xb0\x21\xfe\x19\x27\xb7\x7a\xa3\x43\x5c\xe4\x92\x17\x99\x00\x92\x27\xf8\x40\x58\x4e\x39\xcc\x79\xb1\x84\x97\xb8\x0f\x66\x84\x0b\x90\x46\x21\x44\x7b\x86\x79\xcd\x0e\xfc\x3c\x28\x89\x4c\xdf\x73\x3a\x67\x77\x83\x09\xbc\x7f\x72\xfe\xf2\xea\xfd\xd9\xf3\x17\xaf\x7e\xc4\x1d\xf3\xe9\xef\x15\xe5\xab\x88\xde\x49\x9a\x27\x61\xad\x14\x5c\x12\x87\x35\x73\xdc\x0d\xff\x30\x7c\x53\x09\x49\xe2\x94\x46\x9c\xe6\x09\xe5\xa1\xa7\x9a\x6a\x05\x33\x6c\xba\xd3\x2c\x22\x65\xa9\xc6\xf1\xb1\x0d\xed\xaa\xfd\x85\x4a\xe0\x74\x4e\x39\xcd\x63\x2a\x40\x16\x40\xb2\x0c\x64\x4a\x81\xe5\x92\x72\x2a\x24\xcb\x17\x56\x0d\x09\x60\x39\xbe\x6b\x38\xa5\x99\x43\xf2\x44\xa3\x9b\xb1\x3c\x01\x7a\x43\x73\x69\x74\x06\x47\x21\xa8\xd5\xe8\x3f\xb9\x22\x87\xdb\xf5\xa5\x59\x34\x67\x79\x12\x06\x5f\xe1\xdb\xab\x5b\xfd\x3a\x80\x7d\x2b\x25\xcd\x54\x7e\x56\x5c\x7b\x51\xf0\x25\x4c\x3d\x5c\x06\x83\x7e\x7f\x35\x2f\xf8\x32\xd0\xb3\xd3\x23\xdc\x95\xbc\xbf\x83\xa4\x77\x92\x70\x4a\x2e\x72\xb2\xa4\x53\x05\x77\x19\x38\x8c\xbb\x2b\x79\x74\x4d\x57\x25\xa7\x42\x84\x8d\x2e\xb7\x02\x35\x1e\xc3\x73\xc5\x20\xb8\x25\x02\x10\x88\x26\x70\xcb\x64\x5a\x54\x12\x59\x24\x52\x36\x97\x70\x4d\x57\x11\xc2\x2b\x51\xa5\xd1\x6d\xca\xe2\x14\xa6\x53\x38\xfa\x06\x1e\x3d\x82\x07\x34\x42\xb0\xbf\xd1\x95\xc5\xdb\x9e\x6c\x24\xaa\xd9\x92\xc9\x10\x29\x53\xff\x68\x54\x72\x64\xf0\x33\xbd\xd7\xec\x1b\x94\x64\xa4\xeb\x49\x25\x8b\x03\x4e\x85\xda\xe6\x8a\x12\x35\x51\x50\x33\x85\x22\x07\xdc\x43\x9a\x24\x14\xda\xf9\x5c\x50\x69\xf6\x7c\xa4\x9f\x5e\x52\xb6\x48\x25\x1c\xe8\xb6\x38\x63\x34\x37\x6d\xc7\x75\x3f\x8d\xfe\xdc\xb0\xd0\x3f\xed\x9a\xa9\x00\x3c\x54\xcf\x51\x2c\x44\x38\x48\x11\xc5\x60\x04\x03\x52\xc9\x62\xd0\x6e\xa5\x59\x24\x62\x5e\x64\x99\x19\x7e\xdf\xd0\x66\xa7\xa7\xff\x3c\xd4\xa7\x4f\x54\xe4\xe1\xe0\x9a\xae\xaa\x52\x4f\x68\x30\xf2\xd4\x59\x8b\x3c\x73\x62\xc1\x5a\x9f\x5a\xad\x45\x8e\xf1\x28\xd4\xfb\xc3\x3d\x1c\x1d\x21\x42\xf5\xf3\xca\x55\x4c\xcd\xfa\x68\x61\x42\x2a\xb4\x24\x39\xba\xca\x15\x28\xb5\x71\xaf\x69\xf2\xbd\xcc\x37\xe1\xb0\x20\x57\x33\x99\x77\x3b\xee\x30\xb2\x81\x74\x47\x65\xb9\xa0\x5c\xbe\xa1\x92\xb3\x78\x13\x06\x41\x33\x1a\x1b\x14\x1a\xfe\x6a\x89\x1d\x5c\x44\x9c\xce\x39\x15\xe9\x2b\x25\xf3\x37\x24\xdb\x05\x97\xe9\x72\xe9\x6e\xc7\xb8\xc8\x45\x91\xd1\x73\xd4\xc0\x7d\xbb\xd8\x00\x04\x2d\x0d\xa8\x3a\xc0\x86\x2e\x5a\x75\xd4\xca\xc8\x1d\x4e\x92\x99\xe8\xef\x45\x2e\x94\x59\x72\x20\x8b\xc5\x22\xa3\xd3\x81\x24\xb3\x81\x3b\x5d\xd5\x31\xa2\x3f\x77\x4e\x97\xa1\xfa\x09\x03\x91\x16\xb7\x6d\xe8\x22\xd7\xed\x79\x34\x43\xd0\xc0\x91\xc9\x5a\x6d\xa8\xbd\x23\x09\x5f\xe0\x9e\x7b\x18\xd2\x48\x3f\x18\x21\xef\x39\xa5\xf4\xfb\xa8\x24\x9c\xe6\x32\x1c\x46\x2c\x4f\xe8\x5d\xe8\xc2\xbb\x32\x6b\x5f\x28\x6d\xf3\x30\x0c\xbe\x52\x8a\xd4\x60\x20\x52\xf2\x30\x20\x9c\x91\x03\x7b\xc2\x05\xc3\x61\x94\x12\xf1\x34\x23\x42\x84\x01\xa7\x59\x41\x92\x60\xd8\xd2\x44\x5a\xff\xe0\x91\xd5\xa8\x1a\xbd\x8b\xb4\xca\x3f\xa3\xb2\xe2\x39\x28\xd3\x50\xc0\xbc\x88\x2b\x01\x33\x12\x5f\xab\xa3\x04\x95\x2f\xcb\x85\xa4\x24\x81\x62\x0e\x1a\x97\x3a\x51\xa2\x3e\x01\x8d\x66\xb8\x34\xd7\x74\x95\x14\xb7\xb9\x32\x7a\x38\xe2\xee\xe5\x64\xb3\x81\x71\x4c\x8f\x25\xd8\x7c\x43\xb2\xd0\x7f\x1a\x1a\x18\x8d\x75\x83\x26\x5d\x0f\x9b\xb3\x83\xf3\x62\xc3\xe1\xa1\xdf\x05\xc3\x28\x65\x89\xe1\x7a\x23\xac\x4f\xb4\x4a\xdc\x2c\xab\x4a\x29\xb5\x25\xdc\xee\xa8\x1a\x83\xd7\xc5\x81\x5e\x3d\xb9\x63\x62\x23\xf4\xea\x8a\xdc\x31\xe1\x80\x67\x74\x41\xf3\x64\x03\x39\xfa\xa5\xab\x6c\x4a\x96\xe7\x74\xd3\xa4\xcd\x5b\xf7\x98\xbc\x21\xd9\x07\x49\xe4\x86\x5d\x86\xef\xaf\x84\x02\xf0\x0e\xe5\x3c\x79\x46\x24\xed\xef\xe3\x28\x34\x9a\x27\x5d\x45\x6a\x3a\x2b\xb7\x82\x2a\x27\xa1\x64\xf1\x35\xe5\xa1\x96\x8a\xac\x88\x49\x46\x27\x30\xa0\xf9\x60\x84\x2d\xca\x20\x20\x72\x02\x83\x9f\x7e\xfa\xe9\xa7\x83\x37\x6f\x0e\x9e\x3d\x83\x97\x2f\x27\xcb\xa5\x79\x2f\x8b\x22\x9b\x11\xfe\x3e\x23\x31\xda\x38\x13\x18\xcc\x0a\x29\x0b\xfb\x5e\xb0\x84\x7e\xbf\xfa\xc0\x12\x3a\x01\xc9\x2b\x6a\x5a\xd3\xe2\xf6\xbc\x48\xc8\xea\xfb\x4a\xca\x22\x6f\xbf\x7a\x9a\x51\xc2\xbb\x8d\x85\x70\x90\xe8\x73\xa8\x63\xc2\xd6\x73\xf6\x05\xbd\x99\x34\x09\x07\xea\xbf\xe7\x6c\x49\xdf\xe3\xd4\x07\x43\xe4\xc5\x26\x34\xda\xcc\x6d\xe1\x51\xca\x2a\x29\xcd\xd9\x17\xb4\x4e\xcf\x9e\x7d\xef\x9e\x9a\xad\xa3\xc0\x1e\xa0\x5d\x14\x55\xa9\xe8\x3a\xd3\xe0\x16\x49\xbd\xf1\xc5\x87\xfa\x60\xeb\xf8\x9b\x66\x87\xba\xe7\x9f\xde\xc1\x68\xdd\x0f\x8e\x06\xc6\xfd\xb4\x7e\x8b\x5c\x65\x14\xd1\xe9\xe3\xb5\x83\x4f\x01\xb1\xb8\xa8\x8f\xde\xe6\x30\xd6\x42\x37\x88\x16\xd9\xaa\x4c\x15\xc8\xc0\x51\xa1\x3e\xa1\x61\x47\x35\x36\x58\x48\x92\x18\x35\x3a\x93\xf9\x41\xc9\xd9\x92\xf0\x55\x50\x1b\x6d\x0a\xb1\x03\x53\x0f\x76\x10\xa7\x34\xbe\x6e\xc1\x71\x74\xb3\x3b\xa0\x55\x8e\xc0\x34\xb1\xe0\x6b\xa0\x99\xa0\x1b\x49\xf2\xd0\xfc\x3a\xaa\x3a\x43\xdd\x4f\x99\x37\x89\xb5\x0d\x0c\x78\x8b\x12\x3a\x2b\xef\xd0\x18\x67\x2c\xbe\x0e\x3b\xcb\xd5\xc7\x7b\x65\x2f\x37\x2a\xef\xaf\x1f\xde\xbd\x6d\x56\x63\x3c\x86\x57\x73\xc7\x31\x51\x36\xb9\x19\x65\x84\xcd\x05\x67\x0b\x96\x93\x0c\x04\xe5\x8c\x0a\xc0\x90\xc4\xa2\x90\xb0\xac\x24\x91\x34\x69\xf0\x84\x42\x29\x90\x64\x88\xde\xdf\x2d\x85\x9c\xd2\x44\x1d\x65\x9c\x2a\xcb\x44\xf2\x2a\x96\xc0\xa4\xf6\x06\x3d\xcc\x8a\x22\xc4\x1b\xb9\xeb\x61\x62\x1f\xda\x4a\xe0\x24\x17\x4a\x1d\x3d\x53\x9b\xb8\x35\x97\x86\x79\xd0\x15\xfb\x0e\x2f\xbe\x83\xc1\xe1\x00\x26\x6a\x27\xd8\x73\xaf\xcd\xed\x1a\x91\xde\x85\xe8\xad\x87\xb5\x01\xdc\x71\xaa\xac\x9f\xd1\x59\x8b\x96\xd9\xe6\xc8\x8b\x35\x18\x9c\xb1\xac\xad\x76\x3f\x54\x8f\x49\x61\x36\xfc\x9c\x64\x82\xb6\x8c\x74\x73\xe8\xd4\x27\x6d\x97\x74\x7d\x6e\xcc\x50\x13\x5b\x33\x36\xbe\x42\x3b\xfc\x32\x18\xf6\x08\x99\x35\x3d\x62\x4e\x89\xa0\x67\xc6\x72\x72\x07\xbd\x0f\x79\x42\x77\x40\x9e\xd0\x1e\xe4\xbb\x92\x4e\xf3\x64\x17\xc2\x9f\xe7\xc9\xaf\x24\x7b\x0b\x62\x4b\xb4\x83\xb8\xd7\x4e\xeb\xd1\xf8\x2d\xe3\x4b\xfb\x01\xea\x5d\xc0\x69\xa9\xce\xd6\x60\x04\x9f\x95\x27\x3a\xe9\xc1\x87\xaa\x7d\x04\xcb\x42\x1d\xb2\xc1\x8c\xce\x0b\x4e\x83\x75\xc7\xa2\xb3\x86\x9e\xda\xa7\x9c\xe2\x13\xcb\x17\x8d\x44\x6b\xc7\x54\xa9\x28\x7d\x0c\xf4\x18\x17\xd6\x33\x51\x40\xc6\xa8\xa8\x7b\x6c\xd2\x46\xe6\xd0\xc3\xd8\xe7\x3d\xe2\x6a\x39\x55\x16\x65\x95\x11\x49\x5f\xe1\x0c\xc9\x2c\xa3\x7a\x96\xc2\x08\x6f\xad\xdc\x1c\xbb\xd4\x1d\xa9\xb3\x3b\xd6\xfd\xe1\xc8\x26\xac\xb7\x71\xc4\x9d\xa2\x7c\x0f\x23\xf2\x89\xdc\x85\x56\x97\xaa\x41\x8a\x64\x02\xc1\x5f\x9e\x9f\x07\x23\xd3\x58\xf1\xcc\x8b\x63\xc1\x3e\x04\x63\x52\xb2\xf1\xcd\xd1\x38\x23\x33\x9a\x8d\xaf\xae\x14\x67\xaf\xae\xc6\x37\x18\x21\xad\x7b\x2a\x05\x78\xbe\x2a\xd5\xba\x7e\x12\x45\x5e\xb7\x8b\x2a\x8e\xa9\x10\x93\x86\x40\xf5\x7a\x84\xc1\x0a\x65\x50\x56\xc2\x0d\x23\x28\x9e\xa9\xf7\x4a\x2b\xca\x4a\xc0\x83\xe9\x14\x02\x83\x22\x70\x01\x2d\x0f\xd3\xe2\xf6\xb9\xb2\xd0\xc3\x00\xff\x80\xd2\x41\x2c\x5f\x00\xb9\x21\x2c\x53\x1c\x02\xed\xe2\x8a\x07\xcd\x11\xd7\x2c\x6c\xd3\xb2\xae\xff\xa7\x38\xb7\xac\xd9\x8a\xc4\xa8\xb9\x35\xa0\xf3\x82\x43\x88\x86\x06\x06\x62\x81\xc1\x89\xed\x10\x65\x34\x5f\xc8\xf4\x18\xd8\xfe\x7e\x0f\xb5\xee\x5e\xb8\x38\xbc\xac\x6d\x38\x92\x24\x61\x4e\x6f\xe1\x1d\x3e\x87\x06\xd9\x05\xbb\x1c\x41\xf3\xff\xe1\xd0\xa5\x76\xcf\x43\x3c\xaf\x7e\xf9\x65\x75\x46\x45\x95\x49\x13\x43\xb7\xff\x50\x51\x4c\x30\x4e\x3f\xf2\xa6\xaf\x60\xbb\xed\x4b\x52\x4e\xe0\xf3\x7a\xe3\x40\x28\xca\x4a\x16\x49\x4a\x49\x12\x7a\x33\x2c\x2a\x1e\xd3\x89\xa5\xd8\xc5\xca\x24\x5d\x8a\x09\x04\x24\xcb\x02\x7f\x34\x19\xa7\x94\x3b\xb2\xa1\x20\x7d\xc6\xd9\x43\xff\x96\x42\x4a\x6e\xa8\xa1\x1c\x17\x21\xae\xb8\x72\x96\xf5\x1c\x47\x20\xae\x59\xe9\x75\xac\x37\xa0\xc3\x1e\xad\x39\x51\xae\x30\xea\x85\x8f\xed\x11\xbb\x5c\x35\xdd\xdc\x4e\xc7\xdb\xba\x2c\x49\xa9\x16\x63\xbd\x15\x90\xdb\x85\xc3\xc6\x68\xce\x32\x49\x79\xd8\x8c\x14\x19\xcd\x1a\x8e\x61\xbc\x18\xc1\x60\x30\xac\xe5\x62\xd4\xa1\x1c\xa0\xe4\xca\x2f\x3a\x11\x92\x17\xf9\xe2\x74\x30\xea\x02\x14\x42\x79\x3f\x27\x63\x0b\xd2\x82\x58\x0f\x77\x24\x39\x9a\x17\xfc\x39\x89\xd3\x46\x95\xf2\x2e\x2b\xfb\x39\x73\xc1\x23\x6b\x51\x5d\xc2\x14\x78\x7b\xc4\x36\x0d\x8e\x20\x42\xa3\x97\x95\xb8\x00\xcb\x7b\x47\x70\xfb\xaf\x47\x7b\x9e\xa4\x72\xd9\x91\x3a\xd1\xa6\x1c\x1b\x23\x05\xdb\x4c\x8f\x8c\x66\xdd\x09\x5a\x55\xd0\x3b\xcd\xd9\x65\x24\xe2\x82\x53\x38\xe8\x7f\x4f\xcc\xfb\xf6\xfc\xed\x04\xd1\x0f\x3a\x84\xef\x80\x44\xda\xe5\x7d\x5a\x2c\x4b\xc2\x69\x38\x1b\xc2\x04\x58\x8b\x49\x2d\xa6\x39\x5c\x12\x9b\xd9\x91\xb2\x45\x9a\xb1\x45\xea\xf1\x04\x7a\xb7\xa2\x41\xf8\x30\x1c\x9c\x24\xec\xe6\x74\x60\xc3\xf7\xed\x59\xa9\xbe\x97\x91\x90\x5c\xa9\xe2\x7d\x25\x6a\x08\x3e\xf4\x69\xe8\x23\x7b\x3c\x86\xf3\x94\x09\x34\xc7\x31\x4b\x91\x62\x5a\x03\xc8\x5c\x52\x0e\x44\x4a\x12\xa7\x0a\x29\xc6\xbb\xad\x1e\x82\x32\xab\x16\x2c\x1f\x01\x11\xc0\xa4\x8b\xab\x90\x29\xe5\xb7\x4c\x50\x98\x71\x4a\xae\x45\xab\x9f\x9d\x2d\xc9\x98\x5c\x45\x3d\xaa\xce\x0b\x39\x39\x44\x63\x54\x68\xd2\xf5\x3f\xe1\x77\x1d\x4c\x6b\x1b\x2e\xd8\x62\x07\x2c\xa8\x7c\x57\x27\xa1\xb6\x1f\xfc\xad\xa4\x55\xe3\x4e\xeb\x46\x8c\x77\xdb\x54\x27\x40\xe0\xc4\xb5\x8d\xb6\x0e\xea\x20\x83\x6d\x10\x92\x96\xed\x16\xf4\x59\x82\x3d\x80\xcb\xcd\x06\xb0\xee\x32\x8c\xa8\xa7\x35\x30\xd6\x39\xb2\xc9\x27\xd7\x97\x57\xb6\x46\x93\x1d\x8f\xd4\xa3\x13\xf8\x8c\x58\xfe\x84\x73\xb2\x0a\x55\xfb\xc8\x9b\xce\x10\x4e\xa7\x70\xd8\x2c\x0b\xa6\x65\x0c\x16\xb4\x5c\xcc\x51\x0d\xa7\x2e\x14\x58\x3e\xa1\xf9\x78\xe9\x8c\x8c\x7d\xea\x75\xf2\xa2\xa3\x75\x27\x9b\x83\x6a\x19\x7d\x2e\x84\x8e\xf5\xb6\xc3\xbf\xda\x3a\xc5\xad\x55\x27\xf5\xb7\x99\x82\x84\x0b\xfa\xac\xe2\x04\x37\xab\x23\x05\xb8\x7a\xe7\xf4\x4e\x36\xe2\x80\x4d\x67\xcf\x61\x0a\xca\xc8\x38\xa3\x8b\xe7\x77\x65\x18\xfc\x2b\xbc\x38\x3c\xf8\xf3\xe5\xfe\x30\xbc\x58\xdd\x26\xe9\x52\x5c\xee\x0f\x1f\x6a\x59\x44\x13\x08\xcf\x66\x25\x16\x35\xc6\x08\xdb\x42\x83\xae\x8e\x6a\x3d\x30\xa0\x3a\x1f\x83\x66\x15\xf2\x46\xbd\x33\xaf\x2c\xb3\x1f\x4c\xe1\x9b\x56\xe8\xe7\xdb\x43\x1b\xb7\x52\xa3\x22\x9b\x61\x0a\x38\xbd\x57\xb9\xb4\x08\x2e\x8e\x2e\x6b\xca\xaa\x9c\xa9\xc3\xd2\xbe\x79\x7c\xe9\xb0\x4f\xf7\xff\xba\x9b\xc7\x76\xaa\x0c\x2e\x14\x82\xcb\xad\x1c\xf6\xbc\xc6\x9d\xf7\x19\x32\xe7\x03\x8d\x8b\x3c\xa9\x63\xb7\xde\x5a\x85\xad\x44\x93\x13\xb0\xee\x33\x2c\xef\x29\x4e\xe8\x33\x36\x15\xcf\x3d\x12\x4e\xfa\x48\xb8\x07\x29\x1a\x9a\x7e\xa8\xa9\x45\xeb\x96\xce\xc7\xce\x86\xdb\xe0\xfd\xc0\x3d\xf1\x81\xc6\x12\x77\x2d\xf4\xf5\x2e\xde\x91\xe7\x89\xff\xfb\x17\x6c\xfb\x4a\xc1\x01\x1c\xa9\x55\x3d\xd5\xab\x7b\x70\xb0\x71\xd5\x4e\xff\xff\xac\xda\x82\xca\xe7\x75\x96\x60\xfb\x92\xa1\xc2\xf1\x72\x0b\x5f\xbe\x80\xd7\xe0\x53\xcd\x6d\xd2\x6a\x89\x69\x35\xab\x6b\xdc\xb8\xf3\x2e\x21\xf7\xdd\xce\x64\xfe\xe1\xd7\x4d\x46\x35\x25\x1a\x58\x47\xd5\xea\xee\x4e\xa6\x49\x34\x8d\x0a\x76\xe8\x68\xbb\x04\xeb\xd4\xb6\x10\x26\x7a\x69\x42\x54\xf7\xd6\x03\xed\xc2\x16\x43\xd0\x8e\x9a\xf4\x79\xde\x93\x03\xd8\xc0\x96\x9c\xde\x1a\x92\xcd\xd2\x59\x06\xb9\x4c\x36\xdb\xd0\xc0\xa2\x1b\xbd\xf3\xfe\x85\x31\x3c\x1e\xc1\x40\xe8\x1d\x37\xe8\xe5\xb7\x41\xec\xbc\xf3\x45\x7f\x47\x85\xf4\x3f\x3d\x6f\x51\xcd\x24\x27\xb1\xfc\x5f\x35\x79\x07\x7a\xf7\x1a\xb4\x38\xa3\x84\x6b\xb3\x79\xd8\xda\xed\x1d\x7d\xd4\x68\x9a\xf5\x5e\x3b\x84\xac\xac\xef\xb0\x27\x79\x19\xd1\x65\x29\x57\xe1\xd0\x49\x28\x11\x2e\x95\x5c\x1b\xe3\x48\x73\x57\xf1\x5b\x35\x86\xc3\xff\x8e\x53\xc2\x94\xd1\x14\x59\x65\x6c\xb5\xcd\x96\xb1\x2d\xef\xb0\xc6\xf5\x65\x30\x34\xe9\xb0\x2f\x5f\xe0\x0d\x91\x69\xb4\x24\x77\x21\xfe\x67\x9e\x15\x05\xf7\x4f\x8d\x31\x3c\xfe\xe3\xe1\x70\x04\x47\xf5\xb0\x4d\xfe\xb5\xa3\x5f\x60\x6c\x4b\x5a\x1d\xad\x8f\x44\xfd\x98\x72\x2f\x4e\x69\x1b\x23\x32\x53\xce\xf0\xd0\xb5\xd7\x2a\x9e\xd9\xb1\x4c\x94\xce\x3e\x96\x84\x93\xa5\xa8\xa3\x51\x01\x62\x09\x26\x6d\xe3\xd8\x26\x91\x36\x56\xf8\xd5\xd6\xb9\x46\x18\xe1\x8a\x29\xc3\xdc\x4c\xed\xc0\x5b\x9b\x63\x17\x54\xa7\xc3\x0d\xe0\xb1\x8f\x84\x96\xca\xb2\xad\x57\x45\xbf\xad\x78\xa6\x0e\xf2\xfe\xf0\xa7\x2e\x3b\xc3\xc1\x02\x13\xb0\xd6\x33\x76\xc5\xbb\x27\xb6\xe9\x16\x6f\xe0\x26\x39\xa3\xa2\x2c\x72\x41\xbb\xc0\xc7\x9a\x17\x5e\xbe\xcf\x50\x2c\xb5\x8c\x36\xf2\x6a\x97\x6f\x37\xba\x7f\x33\xc5\x4f\x75\x42\x68\x3b\xcd\xbe\xcb\xf7\x63\xaa\x1c\xa1\x0d\x11\xe7\x96\xfc\xeb\x82\x15\xfd\x32\x18\x7a\x91\xe8\x8a\x67\xdb\xe2\xcb\xaa\x7d\x62\xb8\xf4\xef\x8e\x39\x63\x2f\x0c\x05\xec\x18\x5b\x36\x58\xc3\x3a\xaa\xec\xb3\x72\x5b\x94\xe1\x2e\xe5\x23\x25\xb4\x65\x9b\x7c\xd5\xa6\x9c\xab\x00\xb7\x68\x8b\x68\x54\x04\xdc\x8b\xb0\xa9\x3e\x77\x29\x8f\xb8\x59\x56\xcc\x69\x3e\xe8\xab\xa7\xb5\xff\x28\x57\x0b\xda\xee\xa3\x27\xef\x85\x96\xfc\x5c\x75\xbb\xb3\x66\xb1\x72\x26\xbd\x4e\x5b\xc3\xfa\xf4\x8e\xc6\x15\x56\xa8\x9a\x80\x76\x00\xfb\x0a\xed\xb0\xcb\xe5\x9a\x7b\x71\xb1\x2c\x33\x2a\xe9\xce\x0c\x9c\x6e\x60\xe0\xfd\xb9\x82\xa4\x71\xc2\xfb\x4e\x10\x38\x68\x36\xed\x71\x2b\xc2\x54\x1f\x4b\xa9\x5c\x66\x61\xf0\xba\x20\x09\xa8\x8d\xae\xa7\x57\x23\xde\x87\x60\x29\xe0\x64\xc6\x61\x7c\x0a\x67\xb5\xce\xd2\x50\xce\xc9\xb2\x0f\x81\x70\xb3\x1c\xbd\x59\xd5\x66\x0a\x3b\x04\x9a\xea\x75\x70\x35\xc6\x52\x2c\xb6\x58\x8e\xaa\x47\xa4\x04\x1b\x61\x5b\xed\xf6\x6c\xde\x32\x74\x63\x0a\xfc\xd6\xb1\x07\x83\xf6\xd0\x96\x07\x5b\x86\xf6\xca\x59\x76\x30\x5e\xdc\xe3\x4b\x2d\x5f\x51\xc9\x57\xcf\xac\x08\xdd\xb2\x3c\x29\x6e\xf5\x74\xce\xf5\xcb\x36\x64\xad\x3f\x59\xab\xe8\xb2\xcf\xc2\x68\xd5\xe4\x34\x66\x06\xda\x4a\x16\x83\x1f\x8b\xa9\xcb\x17\xed\x90\x30\xb5\x74\x09\x2d\xa7\x8a\xaa\xfe\x7c\x68\x8f\xb7\xd7\x5b\xf3\xa3\xe6\x30\x6a\x66\xf0\xb5\xb9\x39\xb3\x9d\xdb\xba\xc2\xfd\x35\x99\xd1\xcc\x3b\x98\x30\xdd\x28\x1a\x96\xe3\xf3\x07\x0c\x29\x0b\x73\xcb\xc4\xf1\xc0\xf1\x2d\xb0\x1c\xdc\x6e\x9a\x29\xfa\x95\xd2\x8e\x36\x77\xe9\xec\x6f\x17\x6b\x54\x56\x22\x0d\x03\x9b\x39\x51\xbb\x4b\xf7\xdd\x87\xa0\x4e\x96\x18\xd5\x23\x62\x52\xd2\x97\xe7\x6f\x5e\x1b\x3a\x2f\xf0\x4f\x9d\xa4\x5b\xfb\x7e\x66\x66\x67\x17\x9c\x24\xec\x06\xe2\x8c\x08\x31\xfd\x18\xe8\xe6\x8f\x41\x33\x94\xa5\xe4\x53\xc1\xf2\x30\x38\x99\xf1\xd3\x60\xa8\x87\x4f\xd8\xcd\x69\xb0\x95\x99\x3a\xa6\x7c\x5e\x9c\x8b\xb7\x3a\x72\xba\x91\x9d\xd2\x42\x98\x37\x91\x65\x8e\x32\x35\x07\x03\x1c\xf5\x73\x70\x7c\x1f\xf3\xb7\x72\x7f\x3b\xfb\x7b\xf8\x5f\xb3\x7c\xfa\x31\xa8\xf9\x62\xf9\xab\xda\x3f\x06\xb5\x92\x43\x4d\xac\x7e\xcc\x6c\xf6\xa7\x7d\x6c\x1c\x69\x1e\xae\x03\xc7\x75\xd6\x1d\x76\x0b\xb3\xfe\xc3\x04\x25\x6b\x5e\x62\x94\xb1\x61\xa5\xde\xb1\x08\xfa\x22\x2b\x88\x34\xef\xed\xa6\x64\xe2\x2d\x79\xab\xda\x86\xce\x9d\x82\x60\xff\x55\x3e\x0f\x46\x10\x1c\x98\xbf\xf8\x0c\xb7\x2c\xcb\x60\x46\x35\xb2\x44\x6d\xa7\x02\xde\x92\xb7\x30\x5b\xb9\xf8\x87\x11\x9c\xa7\xd4\xa2\x8a\x49\x3e\x90\xaa\x13\x96\x41\xd0\x64\x04\xa2\xc0\x3a\x44\x90\x29\x5d\x02\x11\xb0\x20\xa5\x80\x30\xaf\xb2\x6c\x18\xb9\x51\x11\x7b\x7b\x6b\xed\x05\x50\xb7\x32\xc5\xab\x6f\x6a\xdb\x92\xf7\x7a\xb7\x25\xc9\xa8\x94\xd6\xd9\x3a\x33\x97\xc9\xa2\xa7\x45\x56\xf0\xe8\xbd\x7e\xd9\x78\x7e\x68\x25\xe9\x4c\xa3\xb2\xfc\x50\x86\x96\x44\x72\x76\x17\xf8\x2a\xaa\xb1\x16\x4c\x0e\x9c\x09\xc8\x0b\x09\xc5\x1c\x34\x3c\xa6\x7c\x1e\xc0\xfb\x4c\xb9\xe3\x40\xf1\x3e\x07\x81\xb8\xe0\x9c\xc6\x12\xab\x97\xa9\x10\xac\xc8\xa3\xc0\xaf\xfb\xd0\x72\xbe\x6e\x42\x35\xc4\x96\x04\xf0\x3a\xd9\xd5\xe8\x4d\x29\xda\xa9\x8b\xe3\xfa\x49\x4b\x71\x93\xbb\x90\xc2\xec\x55\x74\x72\x70\x69\xea\x4d\x61\x92\x1e\x81\x88\x49\x46\x78\x70\xec\xaa\x2a\xe1\xa4\x94\x5b\xb6\x96\xcd\x95\x34\xaa\x09\xb9\xe3\xab\x84\x66\xe0\xa6\x9e\xa0\x46\x5c\xbf\x73\x8b\xd4\x0c\x2b\xdc\x51\x26\xf8\x3b\xf2\xba\x4f\xcc\x5f\xdf\x2e\x97\x42\x67\x4e\x84\xcf\x29\x67\x03\xb9\x26\x96\x67\x75\xdd\x4d\x74\x34\xff\xe2\xf0\xd2\x4d\x61\xaf\x26\xce\xd9\x88\x3b\x53\x63\xbb\x38\xba\x6c\xd2\x8b\x75\xce\x7d\x3d\x6c\xac\xc1\x4c\xd9\xd2\x46\x02\x23\x7c\x0c\x75\x8f\x75\x53\x88\x56\x8b\xe4\x07\xac\x1f\x8c\x7e\xa1\xbc\x78\xc1\xb2\x2c\x54\xd3\x69\x85\xde\xc8\x8e\x86\x44\xe7\x9e\xe8\xbd\xc1\xcd\xba\x9a\xd0\x06\x8d\xad\x13\xec\x9f\xe7\x58\x8f\x8f\xb7\x38\x49\xbe\x02\xc9\x49\x4c\x85\x92\x77\x92\x03\xbd\x63\xfa\x32\x17\xea\x83\xc8\xaf\x0f\x6f\x22\x20\xce\x70\x4d\x71\x79\x9c\xb2\x2c\xe1\x34\x0f\x87\x3d\xf9\xb1\x06\xb6\x55\x25\x85\x2f\xb0\x5c\xdd\x7b\xb1\x6e\xd7\xbd\x9b\xbc\xb1\x39\xff\x02\x5d\xf0\x7e\x6a\x93\xc3\xc7\xed\xc2\xf7\x16\xb8\xa9\x78\xef\xc2\x37\xe4\x77\xae\xc0\x6d\x03\xc2\xa1\x9a\x70\x10\xcd\x13\x13\x0c\xda\x18\x2f\x51\x9c\x7f\x5a\xe4\x37\x94\x4b\x90\x05\xfc\xf0\xf6\xd5\x8f\x68\xb3\x0b\x49\x96\xa5\xbd\x02\xe7\xf8\x04\xbb\xc7\xe4\xbe\x7c\x81\x6f\xbe\x35\x23\x1c\xa5\xf6\x8a\x65\xd4\x13\xa9\xb2\x64\x1e\xd4\x03\xd5\xd3\x44\xc9\xe9\x94\x65\x08\xe7\xe4\x79\x4f\x12\x4c\x44\x9b\x0a\xd9\x5b\x26\x53\x60\xf9\x0d\x13\x6c\x96\x51\x08\x94\x2a\x0a\xf4\xce\x13\x40\xf4\x15\xb7\xb8\xc8\xe7\x6c\x51\x71\x9a\xc0\xdd\x81\x5a\x04\x98\x15\x55\x9e\x10\x44\x40\x73\x51\x71\x2a\x2c\x7a\x99\x12\xa9\x25\x4f\x00\xe1\x14\x12\x26\xca\x8c\xac\xcc\xa5\x39\x20\x30\x67\x77\x0d\x1e\xe4\x82\x77\x73\x24\x27\x65\x89\x09\xfe\x02\x87\xae\xd3\xe5\x35\x7e\x35\x71\xdb\x0d\x41\x9a\x5a\x5c\x14\x68\x64\xc1\xc5\xe1\x65\x74\x07\xa7\x0d\xd7\x9c\xec\x88\xe6\x51\x95\xe3\x8d\xbc\xf0\xf3\xdd\xa4\x81\x1a\x81\xa9\x95\x5a\x7b\x75\xba\x0e\x5e\xe1\xed\xcd\x03\x38\x52\xe3\x9c\xd8\x15\xe9\x8c\x82\x16\x8d\x1a\xc2\x00\xf4\x0e\xd0\x5c\xb1\x79\x5b\xdc\x42\xcc\x29\x91\xfa\x42\x9f\x3a\x24\xfd\x4d\xdc\xb9\x7f\xed\x1e\xa3\xba\xf4\x57\x53\x60\xf2\xd6\x13\x47\xf8\x6b\x45\xaa\xaf\xe2\x4d\x9a\x80\xa2\xb3\xb1\xd1\x59\xd4\x37\xf3\xc2\xe1\x48\x89\xbc\xd1\xa0\xb7\x2c\x91\xe9\x3d\x7d\xfe\xa9\xde\xa3\xbb\xfb\xa7\xc3\x11\x3c\xae\xfb\x69\xf3\x9e\xf2\x49\x4f\xa5\xf7\x77\xa6\x6c\x20\x80\x09\x04\x19\xcb\xa9\x0d\xff\xa0\x1b\x51\x16\x19\x31\x7e\xae\x7a\x47\xb8\x89\xf9\x68\xc1\x9d\x34\xf2\xae\x9b\x97\x4c\x41\x92\x4a\x16\xc1\xc8\x2f\x15\xbd\x33\xfa\xa4\xcb\xac\x08\x75\x16\x3a\xea\x9f\x35\xa7\x27\x7d\x7c\x76\x70\xad\xb6\xe0\xfa\xc9\xf0\x7f\x23\x32\x4d\x6c\xc1\x19\xcd\x65\x3d\x3d\x3a\xb7\x75\x14\x92\xc5\xd7\x2f\xcc\x4d\x96\x1a\xff\x0b\x76\x27\xd5\x1e\x8b\xde\x56\xcb\x19\xe5\x91\xbe\xea\xf2\xb7\x37\xdf\x9f\x8f\x7a\x16\x1b\x49\x34\x8b\xed\xd6\xab\x7a\x64\xd8\x8b\xc5\xcd\xcc\xd2\xe2\x86\xf2\x67\x54\x12\x96\xf5\xcf\xef\x65\x03\xb0\xdb\x24\x35\x99\x7e\xa9\x95\x5e\xbc\x11\xdc\x8d\xc0\x29\xbb\x73\x12\x61\x83\x13\x51\x92\xdc\xea\x7c\xd5\x18\x60\x9d\x51\x1d\x5b\xb9\x83\xaf\x51\x13\x0f\x23\x59\xfc\x70\xfe\x54\x9b\xfa\xe1\x50\x97\x19\xa9\xbe\xa7\x83\x63\x07\xad\xb8\x25\x32\x4e\xbb\x88\x71\x1e\x57\xfa\x6d\xa0\xab\xea\xa7\xc1\x8c\xc4\xd7\x0b\xae\x74\xdb\x81\xb1\x17\x74\x89\x13\xda\x02\xd8\xa2\x86\x51\x47\x50\x77\xa0\xb8\xc8\x25\xcd\xf1\xe2\xa8\x1e\x72\x1f\xcc\x6c\xa3\x3e\x0f\x0b\x35\xac\x76\xb3\x26\xe0\xba\x9c\x2b\x33\x13\x53\x9b\x77\xec\x25\x56\x35\x97\x14\xc0\x8c\x23\x5b\xec\xa8\x4e\x93\x89\x13\x34\x5e\xb5\x4f\x46\x57\xf1\xa0\x7d\x6a\x6f\x8f\xf5\x2c\xfc\x6b\x7c\xd7\xab\x58\x74\xb7\x5a\xb3\xdc\x2b\x10\xce\x68\x4e\xc9\x59\xff\x90\xdf\xd3\x94\xdc\xb0\x82\x5b\x3b\xec\xa5\xed\x10\xc2\x4e\xa2\xa7\xe9\x9a\x98\xbf\xfe\xe0\x22\xa5\xd9\x8d\x3a\x62\x76\x1a\xf9\x1c\x2f\x8e\xee\x26\xf0\x9b\x46\x75\xe3\xe9\xf5\xf5\xcd\xad\x61\x11\xc1\x7e\xf9\x2d\xb6\xa3\xaf\xba\x1e\xb4\xbc\x8b\x1e\x4d\x50\x9f\xee\x75\xa0\xfe\xb7\xea\x7a\xaf\x92\x7f\x93\xba\xd9\xa1\x26\xa0\x27\x59\xb2\x25\x65\xd1\xcf\x13\x65\x24\x1b\x2a\xcc\x05\x20\x01\x25\xc1\x1b\xfc\xee\xfd\xa0\x79\xc1\xed\x2d\x22\x63\xb9\xa0\x0b\xed\x5c\x0a\x12\xe4\x86\xee\x19\xf3\xc6\xb9\x0a\xf4\xe4\xaf\x4f\x7e\x04\x1b\x0f\x57\xe6\x48\xc1\x13\xca\xf5\x2d\xa2\x83\xda\x4b\x06\x26\xb5\x23\xef\x8c\xa9\x91\xdd\xa6\x54\x9b\x30\x95\xa0\x5c\x59\x4a\xca\xd0\xd1\x35\x8a\x48\x8f\x7b\x7f\xb6\xbe\x41\x64\x3c\x50\xcf\xe2\xeb\xbf\x79\x84\xee\xf8\x56\xbf\xa2\xd7\x8f\x7e\x5b\x20\x99\x65\xc1\x72\x29\x60\xae\x34\x62\xcb\x37\xee\x1a\xf8\xe7\x64\xe6\x5f\x1c\x73\x6f\x04\x39\x31\xc3\xfa\x86\xd2\x4e\x52\xd0\x4a\x40\xb5\x6a\x18\xc8\x4e\x72\xa0\x73\xcb\xcd\xd5\xa6\xfb\xa9\x74\x39\xad\x23\x24\x36\x64\xf6\x7d\x91\xac\x2c\xab\x1d\x74\xfe\x8d\xf6\x2b\xbc\x98\x01\x72\x56\x24\xe6\x0a\x1e\xf6\xf3\x52\xcf\xe2\x96\xc9\x38\xc5\x09\x38\x01\x0e\x4d\x7f\x4c\x04\x85\xe0\x86\xc6\xb2\xe0\xc1\xa4\xb6\x3f\x1d\xd8\xde\x15\xb4\xc3\x18\xef\x26\x38\x91\xfc\xf4\x44\x26\xca\xef\x55\x67\xd5\x74\xf0\x78\x70\x7a\xc2\x4e\x73\xbd\xb0\x27\x63\x76\x7a\x32\x96\x89\xfa\xe1\xa7\x4d\xd2\xa0\x5d\xbe\xd3\x5f\x94\xd6\xa5\xa5\x75\xe3\x01\xd7\x00\xa6\x2e\xe0\x05\xbb\x74\x4f\xcb\x3a\xfc\xd8\x17\xa3\xa8\x43\x14\xc7\xf7\x4d\xed\xb4\x15\x88\xd5\x28\x4d\xb8\x54\x4d\xcd\x80\x98\x10\xc4\xc5\xd1\x65\xf3\xca\x9d\xb5\x9e\x27\xd6\x07\x1f\xd7\xfc\x37\x71\xa6\xff\xc3\xfc\xbf\xf9\xed\xfc\xbf\x69\xf3\xbf\x2e\xcd\x3c\xa7\x77\xca\xc2\x09\xea\xa0\x54\x4d\xde\x27\x4d\xde\x27\x38\x81\x1b\x1b\xf3\xb1\xb4\x7d\xf2\x6f\xc3\x34\x98\xf6\xa7\x35\xf0\xc5\xa7\x4b\xb3\x42\xf0\x9f\x6a\xd5\xdc\xf6\x43\xbd\x72\x33\x3e\x3e\x0d\xda\x05\x67\xbf\x4b\x34\x1c\x4a\x76\x96\x0c\x13\x95\xd3\x92\xd1\x3f\xba\x06\xf1\x46\x72\x57\x62\x93\x20\xb6\x07\x42\xcb\xf6\xfe\x81\x10\xc4\x1b\xc8\x99\xb5\x3f\xe6\x70\xcb\xa0\x26\xde\x30\xe9\x3d\x0f\x7e\xc8\x45\x55\x96\x05\x97\x34\x31\x35\xb6\x18\x51\xed\x20\xd9\x7a\xb4\xf3\x0d\x9f\x1e\xeb\xbb\xaf\xd6\xfe\x94\x91\x17\x5c\x72\x6c\xaa\xb3\xfe\x66\xdf\xd4\xaa\x2f\x36\xb8\xf1\x51\x64\x5f\x43\x00\xcd\x25\x93\xab\x37\xfa\xde\x0e\x4e\x2c\x78\x14\x4c\x20\x78\x44\x96\xe5\xb1\x2d\x74\x3f\xc1\x96\x4c\xd6\x0d\xa7\xd8\xb0\xa8\x1b\x06\xc1\x60\x02\x83\x47\x3f\x57\x85\x3c\x36\xb7\x6f\x82\x41\xa0\x9a\xbe\xfa\xe6\xcf\x75\xcb\x58\xb7\xdc\x3d\x7e\x71\x3c\xa8\xef\xb8\x1b\x23\xdf\xf8\x34\x86\xbc\xe6\xfa\xcf\xc5\xa3\x93\xd3\x60\xf0\x71\x7c\x39\x5e\x8c\x9c\x9b\x1a\xa2\x55\xec\x58\x4f\xe3\x42\x5c\xda\xd0\xe6\xda\x5b\x95\xf7\xa4\xaf\x42\xb6\xf9\xf0\x9c\xcd\xf1\xb4\x16\x53\x75\x6b\x7d\x65\xac\x7f\x25\x11\x49\x73\x45\x01\x11\x63\x0c\xec\x87\xb3\xd7\x4d\xec\xd1\x85\xea\xd5\xa9\x1e\x80\x0e\xa5\xac\x9b\x6c\xa9\xf7\xd6\x86\xbc\x70\x28\x92\x24\xda\x2a\x07\xf3\x09\x3b\x94\xa6\xe0\x2b\x92\x24\x57\xe6\x2b\x1b\xe6\x0e\xa8\x07\xae\x3f\x4b\xa2\x9a\x46\xf0\x79\x3d\xec\x5a\x28\xad\xf9\xdb\x19\x75\x79\xa0\x66\x67\x12\xac\x59\x11\xa3\x9b\x1f\x09\x4a\xb8\xfe\x26\x54\x10\xb4\x16\xcc\xa6\x19\x0c\xf7\xb0\xc4\xe1\xbd\xad\x9f\xea\xc7\x13\x89\x6a\xa6\xe5\x23\x3c\x1a\x46\xa2\xcc\x98\x0c\x07\x8f\x06\x75\xe5\x57\x83\xe3\x25\xcd\xca\xda\xcd\x6a\x4f\xe6\xef\x2d\xb0\xd0\x8d\x71\xb7\x71\xe8\x09\x37\x5d\x44\xe8\x50\xba\x95\x5b\x96\xcb\x2e\xb7\xec\x77\xcc\x7c\xc1\xe9\xd2\xaa\x4d\x46\x64\xd9\xc3\xfa\x1b\x62\xce\x87\x80\x4c\x50\xc5\x7c\x61\x4d\x2b\x4c\xb5\xb2\xda\xe0\xfc\xe1\xec\x75\xb3\xb4\x43\xe7\xb5\xd6\x27\xad\xb5\x1f\xee\x01\x0c\x9b\x2f\x18\xea\xfd\xa0\xa5\xaf\x09\x29\x3f\x34\xcb\x3b\x34\x7e\x5a\x37\x79\x6e\xe3\xe4\xb5\x17\xd7\xdc\xc9\x57\x7c\x1a\x8f\xe1\xed\xbb\xf3\xe7\x93\xd6\x6d\xa7\x19\x85\x6b\x5a\x4a\xbc\xd3\xb6\xca\x63\x1d\x33\x1d\x57\x92\x65\x63\x21\xb9\xfd\x1b\x17\xf9\x4d\xb4\x28\x26\x88\xf7\x35\xcb\xaf\x5f\x14\xfc\x79\x9d\xc4\xba\x67\x0d\x6a\x7e\xf4\x6f\x5b\x5c\x4e\xad\x7c\xec\xae\x35\xd3\xf7\xb2\x37\x0b\xbd\xb7\xf0\xd6\x8e\x9b\xf1\x6a\xed\x7a\xcd\x81\xe6\xae\x92\xcd\x16\xfc\x6e\xf1\x74\x50\xbc\x9b\x7d\xa2\xb1\x52\x42\x1d\x59\x5d\xd0\x9c\x72\x22\xb5\xb8\x6a\x30\x4f\xe1\x58\xfa\xbd\x7c\xdf\xc3\x08\x0b\xc9\x42\x07\xb7\xad\x6c\xd0\x9f\x23\xd3\x09\xe5\x47\xe6\x1b\x37\x29\x13\xb2\xe0\x2b\x14\x0e\xe5\x82\xd0\xf0\xf3\x7a\x04\x41\x30\x02\x9d\xdb\xf8\x4e\x1d\xc8\x0e\x53\xb7\xee\x11\x47\x20\xdd\x15\xd2\x72\xd7\xa3\xa3\xdd\x25\x32\xd7\x46\x9b\x4e\x43\xf8\x6c\xa6\xb5\xc0\x30\x00\xc2\xf5\x14\xfd\xf4\x72\xba\x25\x20\xbb\x74\x69\x6b\xc6\xbf\x7b\x6a\xac\xc6\xe6\xea\x8c\x5a\xf2\xd0\x71\xa6\x89\xdf\x05\x67\xa7\xa7\xf5\x2a\xbf\x21\x19\x4b\x7a\xd4\x8e\xbe\xa1\xe9\xaa\x2d\xdd\x8d\xca\xd8\x2e\xf5\x0b\x5e\x2c\xdf\xe9\x01\x0c\x82\xee\x70\x23\x38\xdc\x91\x33\x51\x33\xba\x0e\xd4\xc2\x14\xc6\xff\x5a\x7c\x4c\xf6\x3f\x46\xd1\xfe\x34\xda\x7f\x38\xfe\x75\xcc\xea\x99\xa1\xcb\x2f\x94\xc8\xf3\xaa\xcc\xa8\xe1\x97\x99\xa6\xd3\xde\x59\xfb\xe6\x5d\xeb\xa4\xf9\xd5\x93\x8b\x24\x15\xd2\xc5\x77\xdc\x5f\x39\xb6\x75\x92\xf7\xad\xc7\x06\xf1\x18\x69\x91\x7d\xd5\xe8\x19\x75\xae\x3a\x00\x8d\xd1\xd0\xd8\x0c\xfd\x47\x6a\x89\xdf\xe8\x7c\x37\x57\xda\x16\xf1\x79\x57\xb9\x11\x9b\xfe\x8c\x67\xe8\x0c\x59\xd7\xe4\x63\xd4\xfd\xdd\x5c\x0f\xfa\xa2\xe0\x0a\x8b\xdd\xa4\x2e\x39\x3b\x2f\x43\xf3\x42\xd7\x33\x8b\x7f\x32\x99\x86\x1d\x22\x0d\xb3\xad\x1f\x65\x0b\xcd\xee\xa3\x67\x3b\x27\xb6\x4d\x42\xd9\x12\x31\x0d\x0f\x47\xf7\xcc\x5b\xab\xbf\x5e\x54\xdd\x46\xff\xf0\xd8\x89\x27\xb5\x6d\xd3\x61\x89\xe1\x85\xfb\x7d\x1b\xff\x7a\x6b\x63\x6b\x3a\xbb\xfb\xdd\xfc\x5d\x6e\x4e\xe1\x2e\x7d\xf5\x3a\x6b\x24\x4f\xe2\xb8\x5a\x56\x19\x91\x58\x79\xb8\x83\x32\xd9\x20\xb1\xb0\x6f\x0a\xf1\x3b\x68\xeb\xdc\x63\xf3\x11\xd8\xf6\x05\x50\x07\xfa\x57\x6f\xb5\xcd\x93\xdf\xae\x86\xbd\x5b\xc2\xe0\x0b\x77\x3b\xa9\x2c\xdd\x45\x6c\x7a\x2b\x4f\xfb\x49\x9e\xd8\xa2\x29\xa9\x57\x54\x1b\xa8\xd3\x81\x73\x80\x37\xe0\xf5\xc7\xac\xdd\xbe\x17\x87\xfa\x1e\xb1\x0b\x6c\x91\x26\x34\x2e\x12\xfa\xc3\xd9\xab\xa7\xc5\xb2\x2c\x72\x9a\x5b\x5e\x7a\x08\x8e\x2e\x1b\xd7\xe9\xe3\xbe\xf2\x99\x02\x08\x86\x43\x83\x55\xed\x24\x97\x84\x29\x04\x92\xcc\x9c\xda\x34\x7f\xc8\xfa\x46\xaa\xd3\xac\xbf\x50\x23\xc9\x0c\x98\xc0\x9c\xe5\x82\x72\x13\x38\x70\x0d\xd2\x8b\x66\x98\xcb\x7a\xaa\xff\xb0\x17\x8a\xd7\x3d\xcb\xdf\xbd\xff\xbb\x6d\xd1\xdb\x7a\xcc\x5d\x6a\xc7\x50\x33\xa3\x04\x0b\x65\x99\x30\x23\xa6\x41\xd4\x2d\x2c\xdc\x36\x5e\x8f\x79\xd5\xb1\x58\x5a\x96\x56\x2d\x65\xa5\xa5\xb0\x5f\x03\x33\x4f\xf9\xfa\x66\x9e\x16\x4b\xfd\x18\x5d\xd3\x95\xf0\x46\x1a\x76\x85\xf4\xba\xf9\xe2\xae\x83\xe9\xc2\x90\xb0\x0f\xd7\x74\x75\x69\x6d\x55\x83\xe5\x42\xb5\x35\x25\x41\xae\x33\xa4\x7b\xb7\x02\x0a\xca\x0d\x36\x46\xb4\xbe\xf0\xf0\x81\xca\xaa\x34\xc9\x94\x98\xc4\x29\x9d\xe8\x0f\x08\x35\x8b\xed\x5d\x8c\xe8\xfd\xe6\x8e\x90\x44\xb2\x78\xfc\x49\x8c\xb5\xb3\x53\x7f\x85\x3a\xb5\x5f\xa6\xb6\xd9\xf0\xce\x5d\x07\x2c\x55\x82\xcf\xf6\x13\x0f\xde\xa7\xa3\x4d\x4c\xd0\x06\xd1\xea\xcf\x4c\xa3\x74\x37\x45\x4e\x76\x7f\x30\xf1\x8c\x96\x9c\xc6\x44\x52\xed\xbc\xa1\xff\xee\x17\x6e\x25\x8c\xd3\x58\x9e\x17\x6f\xd8\x42\x09\x44\x52\xbb\xf8\xd0\x77\x1d\x00\x3f\xc5\xaf\xa3\x0f\x3d\x06\x7f\xe8\x54\xaf\xa3\x04\x6a\xde\xfa\x31\xbf\x75\x13\xd2\x40\x3f\xea\x3c\xa5\x82\x82\xbc\x2d\xcc\x05\x13\xd1\x4f\x37\x7e\xe8\xad\x97\xdc\xa1\xc2\x42\x38\x05\x92\x24\x34\x81\x22\xcf\x56\x18\xd7\x9c\x91\xf8\xfa\x96\xf0\x04\x6f\x12\x10\xc9\x66\x2c\x63\x72\xa5\xdc\xb4\x22\x4b\xb4\x40\x98\x1c\x77\xe4\x48\x43\x2f\xcb\x36\x46\x05\x52\x22\xd2\x7b\xcc\x98\xe6\xc3\x53\xf6\xa4\xd3\xaa\x2f\x79\xc1\xc9\x62\xa9\xd3\xcd\x3d\xca\xb0\x6f\x14\x9d\x8a\xe0\xab\x7a\x31\xf0\x02\x87\x59\x78\x1f\xa9\x39\x80\xc3\xa3\xa1\xd6\x70\x09\x2f\x4a\xcc\x4a\x29\x3c\xf0\x15\x5e\x51\x8a\x31\xc7\x1d\x3a\x25\x2f\x5d\x92\x1b\x93\x9c\x2b\x5d\xb7\x76\x36\xcd\x06\xb9\xa9\x75\xc4\xef\x9b\x66\x8f\x37\xfa\x7b\x66\xdb\xaf\x87\xda\x21\x28\xcf\xcc\x29\x7c\xdd\xd7\x1c\x92\xb5\xf2\xeb\xd1\xc1\x0a\xc6\xd5\x6d\xc5\x2e\x6a\xed\x7e\xc5\x56\xb4\x74\x1a\x78\x1f\xc7\xae\x27\x86\x97\xb5\xfa\x7d\xdf\x16\x93\x15\xe5\xe3\x96\x77\x8b\x4b\xfb\x30\x54\x9b\x75\x78\xbc\xf7\x5f\x01\x00\x00\xff\xff\x29\x38\x0c\x64\x6e\x63\x00\x00") func webUiStaticJsGraphJsBytes() ([]byte, error) { return bindataRead( @@ -421,7 +421,7 @@ func webUiStaticJsGraphJs() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "web/ui/static/js/graph.js", size: 25489, mode: os.FileMode(436), modTime: time.Unix(1486301905, 0)} + info := bindataFileInfo{name: "web/ui/static/js/graph.js", size: 25454, mode: os.FileMode(436), modTime: time.Unix(1486308429, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -686,22 +686,22 @@ func webUiStaticVendorEonasdanBootstrapDatetimepickerBootstrapDatetimepickerMinJ return a, nil } -var _webUiStaticVendorFuzzyJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x74\x56\xdf\x6f\xa3\x48\x12\x7e\xcf\x5f\x51\xe3\x87\x95\x91\x19\x3b\x99\xdd\xd9\x19\xc5\x87\x4e\xc4\xc6\x31\x3a\x1b\x2c\x20\x9b\x8b\xa2\x3c\xb4\xa1\x30\x3d\x8b\xbb\x51\x77\x93\xc4\x6b\xf3\xbf\x9f\xba\xc1\x3f\x72\xbb\xf3\x02\x74\x55\x7d\x5f\x55\x7d\x55\x6d\x79\x34\x82\x09\xaf\x76\x82\x6e\x0a\x05\xfd\xd4\x82\x2f\xd7\x37\x5f\x60\x49\x94\x82\x27\x2e\xfe\xbc\x1a\x8d\xae\x46\x23\x58\xa1\xd8\x52\x29\x29\x67\x40\x25\x14\x28\x70\xbd\x83\x8d\x20\x4c\x61\x66\x43\x2e\x10\x81\xe7\x90\x16\x44\x6c\xd0\x06\xc5\x81\xb0\x1d\x54\x28\x24\x67\x1a\xce\xd7\x8a\x50\x46\xd9\x06\x08\xa4\xbc\xda\xe9\x60\x55\x50\x09\x92\xe7\xea\x8d\x08\x04\xc2\x32\x20\x52\xf2\x94\x12\x85\x19\x64\x3c\xad\xb7\xc8\x14\x51\xb4\x65\xc8\x69\x89\x12\xfa\xaa\x40\xe8\xc5\x1d\xa8\x67\x99\x54\x19\x92\x12\x28\x03\xed\x3b\xba\xe0\x8d\xaa\x82\xd7\x4a\x43\x05\x4a\x25\x68\xaa\x99\x6c\xa0\x2c\x2d\xeb\x4c\x57\xd2\x45\x40\x49\xb7\xb4\xcd\x63\x18\x8c\x10\x52\xf3\xd6\x12\x6d\x8d\xd7\x05\xdb\xb0\xe5\x19\xcd\xf5\x1b\x4d\x8b\x55\xbd\x2e\xa9\x2c\x6c\xc8\xa8\x66\x5f\xd7\x0a\x6d\x90\xda\x98\x22\x93\x68\xeb\x86\x46\x5c\x80\xc4\xb2\xec\x48\x28\xca\xb6\xef\x73\x99\x26\x4c\xe7\xaa\xb4\xbe\xaa\x53\xcc\x64\x7f\x2b\xf8\x56\xc7\x6a\xf0\xa9\x2b\x2a\x21\xaf\x05\xa3\xb2\x40\x03\xcb\x38\x48\x6e\xf2\xfe\xc0\x54\x69\x8b\x66\xcf\x79\x59\xf2\x37\xca\x36\x6d\x62\x96\x51\xdd\x9d\xbc\xed\x66\x99\x14\x08\x64\xcd\x5f\xd1\x74\xd6\x0e\x9e\x71\x45\xd3\x76\x0a\x66\x2e\xd5\x79\xde\x9d\x4b\x16\xa4\x2c\x61\x6d\xea\x69\x45\xc4\x4c\xab\xae\xad\xc7\xe6\x84\xae\x44\x2a\xc2\x14\x25\x25\x54\x5c\x98\xbc\xff\xdf\xf4\xf0\x58\xc7\xdc\x83\x38\x9c\x25\x8f\x6e\xe4\x81\x1f\xc3\x2a\x0a\xff\xf0\xa7\xde\x14\x7a\x6e\x0c\x7e\xdc\xb3\xe1\xd1\x4f\xe6\xe1\x43\x02\x8f\x6e\x14\xb9\x41\xf2\x04\xe1\x0c\xdc\xe0\x09\xfe\xe3\x07\x53\x33\x1a\xef\xbf\xab\xc8\x8b\x63\x08\x23\xf0\x97\xab\x85\xef\x4d\x6d\xf0\x83\xc9\xe2\x61\xea\x07\xf7\x70\xf7\x90\x40\x10\x26\xb0\xf0\x97\x7e\xe2\x4d\x21\x09\x4d\xce\x8e\xcd\xf7\x62\x4d\x11\xce\x60\xe9\x45\x93\xb9\x1b\x24\xee\x9d\xbf\xf0\x93\x27\x1b\x66\x7e\x12\x68\xda\x59\x18\x81\x0b\x2b\x37\x4a\xfc\xc9\xc3\xc2\x8d\x60\xf5\x10\xad\xc2\xd8\x03\x37\x98\x6a\x6c\x10\x06\x7e\x30\x8b\xfc\xe0\xde\x5b\x7a\x41\x32\x04\x3f\x80\x20\x04\xef\x0f\x2f\x48\x20\x9e\xbb\x8b\x85\x49\xe8\x3e\x24\xf3\x30\x32\x55\x4e\xc2\xd5\x53\xe4\xdf\xcf\x13\x0d\x9f\x87\x8b\xa9\x17\xc5\x70\xe7\xc1\xc2\x77\xef\x16\x5e\x9b\x30\x78\x82\xc9\xc2\xf5\x97\x36\x4c\xdd\xa5\x7b\xef\x19\x60\x98\xcc\xbd\xc8\x84\xb5\x35\x6a\xfc\xe3\xdc\x33\x56\x3f\x00\x37\x00\x77\x92\xf8\x61\xa0\xfb\x99\x84\x41\x12\xb9\x93\xc4\x86\x24\x8c\x92\x13\xfa\xd1\x8f\x3d\x1b\xdc\xc8\x8f\xfd\xe0\x5e\xe3\x67\x51\xb8\xb4\x41\x0b\x1c\xce\x8c\x84\x81\x86\x06\x5e\x4b\xa4\xc5\xff\x38\xa3\x30\x32\xe7\x87\x58\x7f\x1a\xed\x4c\xfa\xa9\xe7\x2e\xfc\xe0\x3e\xd6\xf8\xcb\xf8\xe3\x9c\x0b\xa5\x2a\x79\x3b\x1a\x6d\xa8\x2a\xea\xf5\x30\xe5\xdb\xd1\x96\x28\xb5\xe3\xe2\xcf\x51\x5e\xff\xf5\xd7\x6e\xb4\x2e\xf9\x7a\xf4\xeb\xef\x37\xbf\x5e\x7f\xff\x9d\x90\xdf\xae\xd3\x9b\xef\xd7\x29\xf9\xf6\xe5\x0b\x41\x92\xff\xf6\x3d\xc5\xfc\xeb\xb7\xaf\x59\xfa\xf5\x1b\xae\xbf\x66\x2d\xe6\xf3\x96\xb2\xe1\x0f\x79\x75\xd5\xcf\x6b\x66\xee\x76\xdf\xda\xbf\x12\x01\x82\x73\xe5\xe8\x1d\x1e\xeb\x93\x89\x75\xf6\xcd\x98\xe6\x7d\xb5\xab\x90\xe7\x80\xef\x7a\x31\xe5\x27\xc7\xe9\xd5\x2c\xc3\x9c\x32\xcc\x7a\xd6\x7e\xcb\xb3\xba\xc4\x61\xe7\x75\x0c\xb0\xc1\x52\xe2\x5e\x33\x0e\x5b\xa2\xd6\x6a\x9e\x43\x49\xb7\x55\x89\x33\x5a\x2a\x14\xce\xa9\x88\x8a\x28\x85\x82\xd9\x44\x08\xb2\xb3\xf6\x02\x55\x2d\x18\x98\xd3\x30\x37\xb1\xe7\x82\xa5\x12\xa7\x88\x96\x53\xa1\x54\x27\x0a\xed\x6e\xac\x66\x7c\x76\xfd\x3d\xcd\xdf\x29\xb6\x44\xa5\xc5\x07\xff\x27\xc7\x61\x75\x59\x1e\x89\x4c\xc0\x3f\x32\xd9\xbc\x52\xd2\xda\xeb\xa7\xa3\x1f\x87\xc3\xbe\x31\x2a\x76\x31\x7e\xf6\xee\x5c\xdb\x02\x65\x5d\x2a\xe7\xf9\xc5\x2e\x91\x39\x52\x89\x61\x89\x6c\xa3\x0a\x5b\x71\x45\xca\x38\xe5\x02\x9d\x6b\x3b\xad\x85\x38\x7e\x57\x02\x0d\xdf\xb0\x12\x78\x38\xf4\x7a\x76\xc5\xa5\xea\x2c\x5c\x2a\x63\x4a\xf9\xb6\x22\x02\x63\x25\x28\xdb\xb4\xbe\x94\x48\x8c\x91\x49\xaa\xe8\x2b\xfe\xf2\x8b\x54\xe2\x70\xd0\xe9\x14\x5f\xf0\x37\x14\x13\x22\xb1\x6f\xd9\x69\x31\xee\xca\xfb\x47\x54\xe7\x3b\x1c\xba\x8f\x8f\xe8\x71\xce\x45\x5f\x77\x48\x75\x6b\x63\x9a\xbd\xff\xab\x44\xa6\xdf\x83\x81\xb5\x4f\x0b\xdd\xde\x33\xcd\xde\x5f\xf4\xfe\x7c\x28\xd1\x58\x1d\xc7\xe9\x68\x9f\xcf\x12\xbd\x18\x60\x25\x70\x90\x16\x03\xdd\xdf\xf8\xec\x1b\x38\x37\xe3\x93\x32\x03\xe7\x66\x70\x3a\xb4\xab\x76\xa1\x5a\x73\x96\x73\xe0\x9c\xec\xe3\x56\xfd\xe7\xf6\xd5\x29\xff\xe2\xa4\x45\x43\xf3\xfe\xc5\x98\x4e\x85\x75\x21\xd6\xfe\x62\x3a\x1f\xb5\x3e\x85\xfe\xdb\x67\x39\x65\x54\xed\x6e\xcf\xb1\xe3\x76\xb7\xf6\x02\x59\x86\x02\xb3\xdb\x2e\xf1\x0f\x4e\x59\xbf\xd7\xb3\x6c\xa9\xa3\x2e\x00\x4d\xd3\x6d\xe3\xe5\xca\xe5\x3f\xbf\x24\xdd\xce\xd1\xbc\xff\x89\x08\x71\x38\x10\x71\xdc\x27\xc7\x71\xae\x8f\xbb\xfd\xfc\xd2\x9c\x2f\x70\x87\xd6\x17\x58\x9a\x16\x7a\x97\xf7\xac\xf9\xb8\xbe\x67\xc7\x50\x60\x56\xa7\x78\xbe\x7e\x95\xc0\x57\x1b\x4b\xd4\xff\x33\x6c\x9a\xbd\xeb\x72\xda\xdf\x10\xa9\x84\xd3\x39\xf4\xe0\xcd\x5e\xe1\xbb\x12\x24\x55\xd6\x5e\x3b\x2f\x2d\xfd\x2e\xd2\x6a\xcc\xcf\x4f\x27\x94\xf3\x93\xdb\xd8\xf6\xab\x59\x8f\x91\x9f\xcc\xed\xb4\xf6\xba\x9c\x67\xfd\x38\x4d\x75\xdf\xb6\x77\x7b\x8c\x1c\x1e\x3f\x3a\xd5\x4f\x76\x73\xb4\x29\xcb\xf0\xfd\x56\x37\xc2\x05\xdd\x50\x46\xca\xdb\xae\xb4\xd3\x50\x34\x7d\x63\x3f\xbf\x58\x43\xc9\x85\x3a\x4b\x41\xec\x75\xdb\x79\xb7\x1a\xce\xba\xe5\xfc\x4c\xda\xf7\xc5\xfa\x5b\x1d\x55\x77\x3c\x09\x3c\x34\xe9\x3f\xaf\xdb\x77\x63\x35\x8d\xd5\xb7\xc6\x57\xff\x0b\x00\x00\xff\xff\x7a\x87\x58\x86\x5f\x0a\x00\x00") +var _webUiStaticVendorFuzzyFuzzyJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x84\x58\x5b\x53\xdb\x48\x16\x7e\xf7\xaf\x38\x93\x87\xd8\x1e\x14\x99\x64\x26\x33\x53\x30\xce\x94\x03\x26\xa8\xd6\xc8\x94\x2d\x26\x9b\xa2\xa8\x75\x4b\x6a\x59\x3d\x91\xbb\x55\xdd\x2d\xc0\x13\xd8\xdf\xbe\x75\xfa\x22\xcb\x5e\xb2\xcb\x03\x48\xad\x73\xbe\x73\xbf\x34\xa3\x1f\x7b\xf0\x23\x5c\x34\x7f\xff\xbd\xc5\x87\x52\xeb\x5a\x9d\x8c\x46\x6b\xa6\xcb\x26\x0d\x33\xb1\x19\x6d\xb6\x42\x7e\x1d\x15\x8e\x02\x89\xce\x44\xbd\x95\x6c\x5d\x6a\x18\x64\x43\x78\x77\xfc\xf6\x1d\x5c\x11\xad\xe1\x8b\x90\x5f\x1d\xc9\x35\x95\x1b\xa6\x14\x13\x1c\x98\x82\x92\x4a\x9a\x6e\x61\x2d\x09\xd7\x34\x0f\xa0\x90\x94\x82\x28\x20\x2b\x89\x5c\xd3\x00\xb4\x00\xc2\xb7\x50\x53\xa9\x04\x47\x76\x91\x6a\xc2\x38\xe3\x6b\x20\x90\x89\x7a\x8b\xc4\xba\x64\x0a\x94\x28\xf4\x03\x91\x14\x08\xcf\x81\x28\x25\x32\x46\x34\xcd\x21\x17\x59\xb3\xa1\x5c\x13\xcd\x2c\x42\xc1\x2a\xaa\x60\xa0\x4b\x0a\xaf\x96\x8e\xe9\xd5\xd0\x88\xca\x29\xa9\x80\x71\xc0\x6f\xfe\x13\x3c\x30\x5d\x8a\x46\x23\xab\xa4\x4a\x4b\x96\x21\x52\x00\x8c\x67\x55\x93\xa3\x26\x8e\x02\x2a\xb6\x61\x56\x8e\x41\x30\x8e\x50\x88\xdb\x28\x1a\x20\x3f\x2a\x1c\xc0\x46\xe4\xac\xc0\xbf\xd4\x98\x58\x37\x69\xc5\x54\x19\x40\xce\x10\x3d\x6d\x34\x0d\x40\xe1\x61\x46\xb9\xa2\x01\x1a\x34\x12\x12\x14\xad\x2a\x07\xc2\xa8\xb2\x76\xef\xd4\x34\x64\x28\xab\x46\xff\x6a\xe7\x31\x23\xfd\xa1\x14\x1b\xa4\x45\xe6\xd6\x2a\xa6\xa0\x68\x24\x67\xaa\xa4\x86\x2d\x17\xa0\x84\x91\xfb\x17\xcd\x34\x9e\x20\x7a\x21\xaa\x4a\x3c\x30\xbe\xb6\x82\x79\xce\xd0\x3a\x75\xe2\x62\x99\x94\x14\x48\x2a\xee\xa9\xb1\xcc\x06\x9e\x0b\xcd\x32\x1b\x05\x13\x97\x7a\x17\x6f\xf7\x49\x95\xa4\xaa\x20\x35\xfa\x58\x27\xd2\x1c\xbd\x8e\xa7\xde\x38\x89\x9a\x28\x4d\xb8\x66\xa4\x82\x5a\x48\x23\xf7\xd0\xe8\xd0\xeb\x71\x39\x85\xe5\xfc\x22\xf9\x3c\x59\x4c\x21\x5a\xc2\xf5\x62\xfe\x67\x74\x3e\x3d\x87\x57\x93\x25\x44\xcb\x57\x01\x7c\x8e\x92\xcb\xf9\x4d\x02\x9f\x27\x8b\xc5\x24\x4e\xbe\xc0\xfc\x02\x26\xf1\x17\xf8\x47\x14\x9f\x9b\xd0\x4c\xff\x79\xbd\x98\x2e\x97\x30\x5f\x40\x74\x75\x3d\x8b\xa6\xe7\x01\x44\xf1\xd9\xec\xe6\x3c\x8a\x3f\xc1\xc7\x9b\x04\xe2\x79\x02\xb3\xe8\x2a\x4a\xa6\xe7\x90\xcc\x8d\x4c\x87\x16\x4d\x97\x08\x31\xbf\x80\xab\xe9\xe2\xec\x72\x12\x27\x93\x8f\xd1\x2c\x4a\xbe\x04\x70\x11\x25\x31\xc2\x5e\xcc\x17\x30\x81\xeb\xc9\x22\x89\xce\x6e\x66\x93\x05\x5c\xdf\x2c\xae\xe7\xcb\x29\x4c\xe2\x73\xe4\x8d\xe7\x71\x14\x5f\x2c\xa2\xf8\xd3\xf4\x6a\x1a\x27\x21\x44\x31\xc4\x73\x98\xfe\x39\x8d\x13\x58\x5e\x4e\x66\x33\x23\x70\x72\x93\x5c\xce\x17\x46\xcb\xb3\xf9\xf5\x97\x45\xf4\xe9\x32\x41\xf6\xcb\xf9\xec\x7c\xba\x58\xc2\xc7\x29\xcc\xa2\xc9\xc7\xd9\xd4\x0a\x8c\xbf\xc0\xd9\x6c\x12\x5d\x05\x70\x3e\xb9\x9a\x7c\x9a\x1a\xc6\x79\x72\x39\x5d\x18\x32\xab\x23\xf2\x7f\xbe\x9c\x9a\xd3\x28\x86\x49\x0c\x93\xb3\x24\x9a\xc7\x68\xcf\xd9\x3c\x4e\x16\x93\xb3\x24\x80\x64\xbe\x48\x5a\xee\xcf\xd1\x72\x1a\xc0\x64\x11\x2d\xa3\xf8\x93\xe9\x12\x8b\xf9\x55\x00\xe8\xe0\xf9\x85\x71\x61\x8c\xac\xf1\xd4\x02\xa1\xf3\xf7\x63\x34\x5f\x98\xf7\x9b\x25\x3e\x1a\xdf\x19\xf1\xe7\xd3\xc9\x2c\x8a\x3f\x2d\x91\xbf\x4b\xef\xe3\x3c\x01\x55\x61\x92\x55\x5b\x5b\x44\x8c\xe6\x70\x4f\xa5\x49\x2e\x51\xbc\xd8\xa2\x88\xd6\xbb\x2e\x35\x4a\x2b\x91\x8e\x7e\xfa\xe5\xed\x4f\xc7\xbf\xfd\x42\xc8\xcf\xc7\xd9\xdb\xdf\x8e\x33\xf2\xeb\xbb\x77\x84\x92\xe2\xe7\xdf\x32\x5a\xbc\xff\xf5\x7d\x9e\xbd\xff\x95\xa6\xef\xf3\x51\xc5\x52\xcb\x17\xfe\xa5\x7a\xf0\xe3\xa8\xd7\x1b\x14\x0d\x37\xe5\x3f\x18\xc2\xb7\x5e\xef\x9e\x48\x90\x42\x68\x18\x9b\x5c\x3f\xb5\x27\x86\x05\xc6\xf0\xed\xf9\xb4\xd7\x1b\x8d\xe0\x46\x51\x4c\x6f\x2e\x72\x8a\x89\xcd\x38\xa4\x52\x3c\x28\x2a\x7b\xac\x80\x81\xde\xd6\x54\x14\x40\x1f\x31\xc9\x15\xfc\x30\x1e\x43\xbf\xe1\x39\x2d\x18\xa7\x79\x1f\xc5\x00\x1a\xdb\x54\x34\xf4\x34\x63\x2b\xe2\xb4\xf7\x0c\xb4\x52\xd4\x90\xa0\x1a\xa1\x97\xec\x3f\x1b\xf1\x0b\xaa\x1b\x69\xab\x8b\x56\x14\x5b\xa1\xa9\xa3\x15\x91\x92\x6c\x57\xa0\x4b\xa2\xa1\x24\xf7\x14\x88\xe5\x43\x9e\x0d\xd1\x59\x09\x64\x4d\x18\x57\x1a\x56\x35\xd1\x9a\x4a\xbe\x0a\x7b\xd6\x1d\x8a\x6d\xea\x8a\x5e\xb0\x4a\x53\x69\xc4\x39\xa7\x38\xba\x00\x0c\xb6\xd5\x5d\x3a\xf1\x78\x12\x16\x86\x65\xe7\x45\xa5\xa5\xa5\x6a\xe9\xac\x00\x4d\x95\xde\xa1\x21\xd5\x69\x0f\xe0\x79\x78\xda\x73\x3e\x3d\x17\x54\xed\xf4\x72\x2e\xb7\x5a\xaf\x94\x96\xab\x3f\x7a\x3b\xa0\x17\x35\x6c\x25\xef\xc9\x35\x08\x07\x44\x18\x11\xde\x54\x55\x2b\x3b\x2a\x3a\x92\x0d\x07\xea\x82\x52\x03\x78\x90\xa4\x06\x4a\xb2\xd2\x7e\xc0\xe9\x80\xa3\x8c\x64\x9a\x4a\xe4\x65\x1c\x56\xa2\xd6\x2a\xac\x25\x5d\x99\x26\xe9\x5e\x85\xd2\xab\x10\xa1\xb9\xb0\xac\x81\xd7\x0c\x65\xf7\x3a\xea\x7d\xcf\x9c\x00\x10\x29\x80\x7f\x15\x52\x6c\x22\x9e\xd3\x47\x6b\x20\x9e\xc2\xd8\xfe\x79\x7a\x32\x59\x09\x80\x79\xea\x98\xa3\xfc\x11\xc6\x70\x6c\x82\x80\x42\x55\x53\xa1\xcb\x6e\xef\xdc\x49\x45\x39\x8c\x51\x40\x58\x51\xbe\xd6\xa5\x3b\x6e\xa5\xc0\xb8\x23\x12\x25\x78\x28\x2d\x34\xa9\x96\x99\x90\xb4\x83\x9f\x35\x52\xee\x9f\x8d\x46\x50\x4b\x5a\xb0\x47\x47\x51\x9b\x6f\xde\x49\x08\xd8\xef\x7b\x42\xd5\x14\x1d\x42\x61\x62\xdb\xfa\x6f\x9f\x74\xa9\x25\x7a\x5f\x0b\xc8\xc4\xa6\x36\x8b\x81\x4d\xe7\x10\x12\x9c\x4b\x1b\x33\xad\x52\x4c\xfb\x4a\x3c\x50\x99\x11\x45\xbb\xcd\xc4\x0c\x4c\x0b\x25\xc9\x03\xda\x6f\xc6\xa0\x35\xc2\x22\x3a\x11\x63\xeb\xe3\x10\x11\x96\x94\x2b\xa6\xd9\x3d\x85\xd7\xaf\x91\x07\x75\x42\xd7\x69\x31\x43\x21\x67\x44\xd1\xc1\xd0\xa3\x94\xa7\xbd\x1e\xf8\x30\x78\x4b\xfe\x0b\xc5\x7f\x7f\x7a\xf2\x8f\xfb\x68\x06\xc4\xa6\xa5\xc6\x75\xaa\xaf\x80\x70\xa0\x8f\x24\xd3\x3e\x93\x48\x9e\xa3\x5b\x47\xe8\xa5\x00\x36\xe4\x11\x70\x5d\x51\x26\x0c\x98\x83\xea\x2b\xab\xcd\x60\xad\x84\xf8\xda\xd4\x3d\x00\xec\x4c\x07\x56\x8e\xc7\x5e\xfe\x41\xc9\xda\x17\x7c\xe5\x39\x95\x34\x3f\x31\x21\x3c\xda\xf7\x52\xa8\xea\x8a\xe9\x41\xbf\x3f\x0c\xff\x12\x8c\x0f\x50\x95\xa3\x5a\xd2\x21\x1c\x99\x40\x06\x0e\xc4\x28\x75\x02\x11\x2f\x18\x67\x7a\x6b\x4e\x4d\xc6\x3e\x3b\x33\x2f\x84\xb4\x05\xd6\xd6\x95\xdf\xd8\x6c\x88\x02\xa0\x0c\xfd\x60\x8c\x66\xed\x26\x63\xf3\xda\x42\x08\x69\xeb\x14\xf9\xe8\xa6\xae\x88\xa6\x68\x30\xd3\x7d\x65\x68\x39\x7d\xd4\x0e\xcd\x63\x3b\xcb\x7b\x00\x85\x90\x03\xac\x1e\x66\xcb\xe6\xd4\x3c\xfc\x8e\x55\x62\x1e\x8f\x8e\xbc\x77\x4c\xa5\x2a\x2d\x6f\x59\xfe\x78\x77\x6a\x8e\x58\x31\x40\xea\x0f\xe3\x4e\xf5\xbc\x7e\xbd\xef\x28\x43\xde\xf5\xf6\xed\xae\x4e\xef\x86\xad\xb3\x0d\xba\xf3\x73\xe9\x7c\x78\xea\xbe\x75\x0a\xfb\x68\x0c\x6f\x4d\x82\xb8\x54\xce\x04\x57\x34\x6b\x4c\x6e\xb5\x0e\x54\xa0\x4a\xd1\x54\xb8\x84\x65\x92\x62\x1d\x18\x77\x9a\xf4\xd8\xe0\x2f\x5d\x12\x0e\x15\xe3\x94\xc8\x6a\xeb\x15\x68\x0b\x19\x65\xa0\x1a\xfe\xc0\xaa\xd1\x99\x4d\xfb\xe4\xe8\x34\x4b\x61\x7e\x77\xba\xc4\xd1\xf8\x10\xc4\x46\xed\xd6\xfe\x71\xfd\xe7\x0e\xc6\xa6\x74\x76\x29\xe1\xf2\xd0\xe7\x5f\x1b\xba\x02\x1e\xa8\x1f\x6d\xb6\x75\x16\x98\x3c\xf7\x54\x6e\x8d\xf1\x26\xcf\x07\xdd\x36\xb8\xf3\xba\x13\xe6\x1d\x8e\x11\xc7\xb4\xb8\x16\x4a\xb1\xb4\xa2\xae\x23\x32\x0c\xe1\xbc\xc5\xb8\x3d\xbe\x0b\xbe\x7b\xde\x69\xcb\x47\xf0\x76\xe8\xfc\x12\x40\x46\x78\xce\x72\xa2\xa9\x8b\x93\x2d\xe5\xda\x09\x0a\x40\xcb\x2d\x26\x71\xc1\xf0\x5e\x03\x29\x45\x44\x3f\xa0\xb5\xcf\x6d\xed\x57\xe3\x4e\x9f\xc2\x1a\xde\xd3\xf9\x03\xbc\x79\xeb\xfa\x92\x33\x0f\xde\xec\x5b\xf5\xe1\x7b\xf6\x5b\x0f\xb4\xaa\xfa\x1d\xe3\x85\x81\xe9\xc7\x50\x17\x77\xe8\x03\xde\x6d\x1b\x3b\x30\x2c\x01\xff\x12\xda\xb4\xfb\xd0\xcd\x8b\x3f\x3a\xb4\x27\x2f\xb4\x1b\x97\x1e\xa6\xaf\xf4\xfb\xc3\xc0\x37\x91\x1d\xc4\x41\x1b\xe9\x4c\xd6\x76\xaa\xe3\x5d\x86\x0b\xb9\x21\x15\x50\x8e\x3e\xaf\x05\xe3\x3a\x04\xbb\xe5\x28\xb3\x2f\xad\x4c\x02\xf9\x91\xff\xc2\x7a\x84\xb1\xd3\x0e\xde\xb4\x61\xb3\xf6\x98\x0b\xe2\x6e\x21\xb8\x27\x55\xb3\xbb\xc0\xe1\xfe\x77\xd2\x1b\x8d\x90\x17\x7f\x6e\xbf\xf9\x27\xd3\x0e\x4d\x38\x4f\x00\xa0\xff\x7b\xfa\xa1\x22\x65\x1f\x9c\xae\x07\xd9\xbe\x63\xc2\x9b\x69\x4e\x1f\x91\x07\xde\x79\x1c\xc7\x64\xbe\x78\xc9\x6e\x1b\x34\x3b\x09\x1a\xd7\x85\x10\x92\xad\x19\x27\xd5\x09\xf4\x53\x23\xb5\x85\xf0\x5f\xbe\xcb\xfe\x7c\xe7\xac\x31\x9b\xcd\x0a\x6f\x9a\x84\x63\x52\x30\x81\x6c\x44\xae\xcd\x7d\x1c\x52\xb2\x0e\xe1\x9c\x6a\xc2\x2a\xd5\x71\x80\x5b\x57\xba\x5e\xc0\xc1\xdf\x4e\xf3\xba\xc1\xa9\x5d\x98\xd1\xf5\x9d\x25\xcb\xfd\xd4\x98\x03\xe0\x5c\xd7\xef\xb8\xf8\x25\x48\x52\xb4\x65\xf5\x32\x9e\xdd\x37\x4e\x2c\xde\xe8\x25\xc0\xb9\x37\xd1\xaf\x67\x21\x44\x1c\xb1\xad\x07\x6c\x56\xb9\x79\xb2\x66\xf7\xd4\x64\xc7\x2a\xd8\x07\x11\x8d\x46\x16\xd7\x90\x53\xda\x29\x6a\x33\xca\x68\x37\xe1\xda\x95\x66\x1f\x23\xe2\xf6\xea\x4d\x1f\x09\xee\xe9\x01\x76\x02\x0c\x11\x6e\x75\xdf\x32\xb9\x35\x19\xd5\xff\x2a\x48\x45\xfa\xcf\x77\x2b\xec\x92\x0f\x46\x9c\x4d\xdc\x7d\x30\x47\x17\x76\x1c\x41\x1f\x35\x3a\xe7\x64\xb7\x87\x12\xb9\x1e\xc2\xb7\xdd\xae\xbf\x0e\xad\x98\x53\x78\x76\x7c\xcf\x6e\x85\x2d\xfe\xe7\xa5\xc1\x36\x0f\xdb\x74\x58\x31\xf8\x01\x95\x7e\x7a\xc2\x2f\xbe\x61\x61\x8b\x3e\x3e\x58\x40\x6e\xef\x6c\x65\xdb\x96\xe7\x2e\x54\x7e\x6d\x32\x17\x2a\xeb\xc0\x7e\x67\x87\x32\x40\xfd\xfe\x01\x12\x91\xd2\x43\xbd\xb8\x36\xef\xc8\x0c\x57\x28\x69\xde\x64\x74\x77\x9f\xa9\x25\xbd\x0f\x7c\x65\x04\xb8\x0f\x18\xb3\xf6\xbb\x28\xae\x85\x63\x4f\xe4\x67\x36\x2b\x06\x66\xfd\x73\xbe\xdd\x71\x80\xa3\xef\x7e\x1d\x38\xe6\xa1\xe7\x7e\xee\xc0\xb7\x8d\xe1\xff\xf5\xe8\x61\x47\x76\xcb\xf4\x83\xbd\xec\x74\xe5\xa3\x51\xb7\xf8\xab\x33\x80\x77\x5f\xbb\x5d\xca\xa3\x84\xfe\xa1\x43\xd5\x76\xe5\x96\x48\xb5\x9d\xf9\xa0\x71\xb1\xfc\x71\xef\x78\xd7\x8c\x9c\xdd\xed\xd7\xe7\x43\x07\xb8\x00\xa1\xb6\x6e\xe6\x04\x70\x7b\x37\x6c\x27\xeb\x52\x48\x0d\xe9\xd6\xea\x12\xc2\x47\x7b\x11\x57\x60\xfe\x25\xc6\x71\x3b\x62\x4a\x63\x77\x7a\x90\xb8\x02\x92\xb4\xa2\xa3\x86\xdb\x87\xf6\x12\x22\xa4\x36\x8b\xa6\x12\x38\x0f\x32\xea\x08\x11\xb7\x51\xa6\x50\xdb\x56\xeb\xca\xdd\x5c\x2e\xb0\xed\x32\x1a\xb6\xaa\x50\x6a\xfe\x63\x71\x32\x1a\x89\x22\x0d\x39\xd5\xa3\x7f\x2b\xaa\xcb\x4d\x35\x62\xea\x0d\x0a\x79\x63\x71\xc3\x52\x6f\x2a\x9b\x6f\x78\xba\xcb\x36\x12\xa4\x07\xf3\xd9\xdd\x74\xc6\x90\xba\x39\xfa\x06\x88\x7d\xea\xc4\xda\x51\x0d\xdb\x41\x6c\xdf\x4f\xf7\x5d\x48\xec\x12\x03\x6f\x20\xb5\x4f\xce\x9f\xee\x0e\xde\x7b\x1e\x0c\x87\xa7\xbd\xff\x04\x00\x00\xff\xff\xdb\xe3\xe7\xc3\x25\x16\x00\x00") -func webUiStaticVendorFuzzyJsBytes() ([]byte, error) { +func webUiStaticVendorFuzzyFuzzyJsBytes() ([]byte, error) { return bindataRead( - _webUiStaticVendorFuzzyJs, - "web/ui/static/vendor/fuzzy.js", + _webUiStaticVendorFuzzyFuzzyJs, + "web/ui/static/vendor/fuzzy/fuzzy.js", ) } -func webUiStaticVendorFuzzyJs() (*asset, error) { - bytes, err := webUiStaticVendorFuzzyJsBytes() +func webUiStaticVendorFuzzyFuzzyJs() (*asset, error) { + bytes, err := webUiStaticVendorFuzzyFuzzyJsBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "web/ui/static/vendor/fuzzy.js", size: 2655, mode: os.FileMode(420), modTime: time.Unix(1482843351, 0)} + info := bindataFileInfo{name: "web/ui/static/vendor/fuzzy/fuzzy.js", size: 5669, mode: os.FileMode(420), modTime: time.Unix(1486306563, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -967,7 +967,7 @@ var _bindata = map[string]func() (*asset, error){ "web/ui/static/vendor/bootstrap3-typeahead/bootstrap3-typeahead.min.js": webUiStaticVendorBootstrap3TypeaheadBootstrap3TypeaheadMinJs, "web/ui/static/vendor/eonasdan-bootstrap-datetimepicker/bootstrap-datetimepicker.min.css": webUiStaticVendorEonasdanBootstrapDatetimepickerBootstrapDatetimepickerMinCss, "web/ui/static/vendor/eonasdan-bootstrap-datetimepicker/bootstrap-datetimepicker.min.js": webUiStaticVendorEonasdanBootstrapDatetimepickerBootstrapDatetimepickerMinJs, - "web/ui/static/vendor/fuzzy.js": webUiStaticVendorFuzzyJs, + "web/ui/static/vendor/fuzzy/fuzzy.js": webUiStaticVendorFuzzyFuzzyJs, "web/ui/static/vendor/js/jquery.hotkeys.js": webUiStaticVendorJsJqueryHotkeysJs, "web/ui/static/vendor/js/jquery.min.js": webUiStaticVendorJsJqueryMinJs, "web/ui/static/vendor/js/jquery.selection.js": webUiStaticVendorJsJquerySelectionJs, @@ -1063,7 +1063,9 @@ var _bintree = &bintree{nil, map[string]*bintree{ "bootstrap-datetimepicker.min.css": &bintree{webUiStaticVendorEonasdanBootstrapDatetimepickerBootstrapDatetimepickerMinCss, map[string]*bintree{}}, "bootstrap-datetimepicker.min.js": &bintree{webUiStaticVendorEonasdanBootstrapDatetimepickerBootstrapDatetimepickerMinJs, map[string]*bintree{}}, }}, - "fuzzy.js": &bintree{webUiStaticVendorFuzzyJs, map[string]*bintree{}}, + "fuzzy": &bintree{nil, map[string]*bintree{ + "fuzzy.js": &bintree{webUiStaticVendorFuzzyFuzzyJs, map[string]*bintree{}}, + }}, "js": &bintree{nil, map[string]*bintree{ "jquery.hotkeys.js": &bintree{webUiStaticVendorJsJqueryHotkeysJs, map[string]*bintree{}}, "jquery.min.js": &bintree{webUiStaticVendorJsJqueryMinJs, map[string]*bintree{}}, diff --git a/web/ui/static/js/graph.js b/web/ui/static/js/graph.js index 6baec7b188..e510ea1a41 100644 --- a/web/ui/static/js/graph.js +++ b/web/ui/static/js/graph.js @@ -212,7 +212,7 @@ Prometheus.Graph.prototype.populateInsertableMetrics = function() { items: "all", matcher: function(item) { // If we have result for current query, skip - if (self.fuzzyResult.query === null || self.fuzzyResult.query !== this.query) { + if (self.fuzzyResult.query !== this.query) { self.fuzzyResult.query = this.query; self.fuzzyResult.map = {}; self.fuzzyResult.result = fuzzy.filter(this.query.replace(/ /g, ''), metrics, { diff --git a/web/ui/static/vendor/fuzzy.js b/web/ui/static/vendor/fuzzy.js deleted file mode 100644 index 89257b09e2..0000000000 --- a/web/ui/static/vendor/fuzzy.js +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright (c) 2012 Matt York -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. -// -// https://github.com/mattyork/fuzzy/blob/3613086aa40c180ca722aeaf48cef575dc57eb5d/fuzzy-min.js - -(function(){var root=this;var fuzzy={};if(typeof exports!=="undefined"){module.exports=fuzzy}else{root.fuzzy=fuzzy}fuzzy.simpleFilter=function(pattern,array){return array.filter(function(str){return fuzzy.test(pattern,str)})};fuzzy.test=function(pattern,str){return fuzzy.match(pattern,str)!==null};fuzzy.match=function(pattern,str,opts){opts=opts||{};var patternIdx=0,result=[],len=str.length,totalScore=0,currScore=0,pre=opts.pre||"",post=opts.post||"",compareString=opts.caseSensitive&&str||str.toLowerCase(),ch;pattern=opts.caseSensitive&&pattern||pattern.toLowerCase();for(var idx=0;idx= fromIndex && compareString[idx] === pattern[patternIdx]) { + ch = pre + ch + post; + patternIdx += 1; + + // consecutive characters should increase the score more than linearly + currScore += 1 + currScore; + } else { + currScore = 0; + } + totalScore += currScore; + result[result.length] = ch; + } + + // return rendered string if we have a match for every char + if(patternIdx === pattern.length) { + var nextPossible = str.indexOf(pattern[0], str.indexOf(pattern[0], fromIndex) + 1) + , candidate; + + // If possible, try to find a better match at the rest of the string + if (nextPossible > -1 && str.length - nextPossible >= pattern.length) { + var candidate = fuzzy.match(pattern, str, opts, nextPossible); + } + + return candidate && candidate.score > totalScore ? candidate : { + rendered: result.join(''), score: totalScore + }; + } + + return null; +}; + +// The normal entry point. Filters `arr` for matches against `pattern`. +// It returns an array with matching values of the type: +// +// [{ +// string: 'lah' // The rendered string +// , index: 2 // The index of the element in `arr` +// , original: 'blah' // The original element in `arr` +// }] +// +// `opts` is an optional argument bag. Details: +// +// opts = { +// // string to put before a matching character +// pre: '' +// +// // string to put after matching character +// , post: '' +// +// // Optional function. Input is an entry in the given arr`, +// // output should be the string to test `pattern` against. +// // In this example, if `arr = [{crying: 'koala'}]` we would return +// // 'koala'. +// , extract: function(arg) { return arg.crying; } +// } +fuzzy.filter = function(pattern, arr, opts) { + if(!arr || arr.length === 0) { + return []; + } + if (typeof pattern !== 'string' || pattern === '') { + return arr; + } + opts = opts || {}; + return arr + .reduce(function(prev, element, idx, arr) { + var str = element; + if(opts.extract) { + str = opts.extract(element); + } + var rendered = fuzzy.match(pattern, str, opts); + if(rendered != null) { + prev[prev.length] = { + string: rendered.rendered + , score: rendered.score + , index: idx + , original: element + }; + } + return prev; + }, []) + + // Sort by score. Browsers are inconsistent wrt stable/unstable + // sorting, so force stable by using the index in the case of tie. + // See http://ofb.net/~sethml/is-sort-stable.html + .sort(function(a,b) { + var compare = b.score - a.score; + if(compare) return compare; + return a.index - b.index; + }); +}; + + +}()); diff --git a/web/ui/templates/graph.html b/web/ui/templates/graph.html index f00151a46c..2e19800126 100644 --- a/web/ui/templates/graph.html +++ b/web/ui/templates/graph.html @@ -10,7 +10,7 @@ - +