diff --git a/auto/gui.files.go b/auto/gui.files.go index 0035ec36..776ef8de 100644 --- a/auto/gui.files.go +++ b/auto/gui.files.go @@ -18,7 +18,7 @@ func init() { bs, _ = ioutil.ReadAll(gr) Assets["angular.min.js"] = bs - bs, _ = hex.DecodeString("1f8b080000096e8800ffd41b6b73db36f2bb7f05aaa62515cb94d2b9b9b9b1e3dcb4aedbf1a56d3271d32f1e7d804448424d813a10b2ad71f5df6ff120051020453fd2e43493580216fbc2625f04872fff2c32ca049af0fcb620fc1809be260334cd99a06c4dcadfab6c5dc87ffa377a393c18be9c67f90467e8c5319ae1ac0020cce6eb0c73f35b021d446bf852084ea7223a3938b8c11c151b36150bcae6e8b45c912cf3749d9138aae6a201ba1af7614535924896789e6584c7d165397a267806b0b335fca63943f18b629aaf8097170b21567d747f80e023c9ae38b9f9110b02544703353a27e2dd5bf82925024a7248af96a41851080b98bfdf9ed4266774ee8f2f37173fc2681439a32c4f894472350e20b96052908a056b9e709ef3c0ba8210762ee77c4aa04392f96c71b2ca4b446a7c384497b0216c5ea00999e59ca0499e6705caf2fc1a468420dca528840206146afc9ea6c728fa851682304004da0709a7b0eb6a57d07b9e8b7c9a674843a0efd39493a22005008acd0a2c2a12e44ec02f1816980b6d52db8185fc577c774958fa76b22a2cf4efd6629e4bbbf920b7f117baa402c56f7f5815fd1d6ab65e4e086f45fe01d06176c140ce1b9c5d5a04f40c2aa750fc60ccc670c2c8cde4e3f1bfc71c83fd671fc87fd70064eb063486403fb092a54a453b90eef801c9d9028e24a9295e22ff896604e959adffce9ab708fcac3cc6f78c9d333cc9486ad1d05308e67238cb6487571a672bd7bfe4d3069c6ae631282fe5f80fda23daf62d87d16edc4667d68f5d47325fd3cbf0f931c7c2d6c0c78ba79c998f2eaf12dbf76bb120e0c7a758f9c68f0ed77b11bec745719bf3b41da9056510af762321e4a5862a970d6ef8723d9d129292342e3db6fcd0198abf524eda1e55da8da3af191140e55a39c3a82fbd1fcee268415312f54f1c68d7cf97a3db03fdbfc7cc4f184cdde7e4618cdc4ff0f43ae5f90a14023a0075813aaec96692639e9a00b96de0534dee6354c695b37cb9c29cc47880267576e566e4338493dff092a0af4e215cac594a6694c11141df7e8b0cc024085097536234a85e9b257d07407e38116bced0d12b572c336c96bf31cbebf25954403288a48a8efa5a672640678763474da37953a139b1f55805c719d8e8422abdca206c722a8b486063e268288d79586ce0802e619b0b69b24511efd6a558e03aabae6dbb7a29e3abc2081cc8f596447d9d03c461c60cf2d256ed75bbef76069040a43fc7d385854f8e7b065d17586515c3081d22099ec06e7414dd6240e1b832ebc79ea875b61d11eafc58a959e75d90e91fcb6f81b04c002125bb8dfb030742a430194b98a32a51eca3217a351a8d5c489a1aff557eacbc12d607b7983288a732ef0ccee66b514d3bf3b06328a629a20c352958b94839992c70f1ee9641f2b5225c6c60593f042f3f656a7fe2cd6ebd11c1370d5824d12b9a8e2be17ec562912cf15d3c1aa07fa1977a2714c405fb612348f17b2e201a1f05726c0f4aaa5ea47d9f438772a5b866d2901275a1ed803512df228879d3058a49936a3da58cba8a1000f477c331a7c3d31a391f836b60f6023d543b8221e3742ba1ba8b6a39a7ba80e97c44eb654f98d2f6e4a05eda404e26d685e3c0eb7ecd0a879e43026fd41ef94c3c893eb26b38de2cb2634ef55595b5423b8148fa4a9f4ea2e677ab4b70f5f76a344e44fe710567f70c17043cfda19e00ed4da07a8e5ff52ddf20e531cb4f514f165d905ff6d05f7fa1dde8459a915e5d163d0d76d043716fc7a52cb1df133e85ac0ecf8951df21ea7dd3ef05a5352ab104aa07d5557e964116f8e9774526b14794cdf267db1747b9110535b61337e61d35e5333b5c85dea876742b4e97986f82e89a8476b5efeee627df0288904da20794ad5b46cad72afca36e589d0d5d41097d2a21c0d3074850d553d1248621008b8793ba6e552499129ac54025ec7464e21d703a2a1f9fcd6d7924b3d27f025c20ee980526391dbb1628014339b81c4f64da9f114556ea1034118a47a5b55c30241512d59c3d22b245d7bcccb81514cb6353277b88a26ffa758c2dae22fa91164676b0a446b55e4ca548ff0f4acdaf1faa4f53693c44694bc8d28a666df92ef68b5597ef243be9cc77867b7566bb455f65b2aff2376bcc30a69466da3a6dbefddf2dfb6da9fcb389507302ad71aa59943fc8de6d90ccb89c2a43b37aed0d6c1a881bc20bc01de2ef53aa27a31077ff68a6dd619f559be421da91cd98304f36480b37aec865ce09c5d43fc32190a454586dcd86d6491c7d5d3e3be8da16536dc27e30abc137643fc9e0b3955a3bcd014adeadd4ae27baf16a0ea863183ed4a5e049b1ca28d43a0329195e59c5cd1d3054eaf52e11e0c1e2fe49a0545ae585ddd3002aa089ff5cbefb2d29d4c3193adbc40e13fd01ba5f109c826d1da3fbe80caa7830b5a3df217f8b409b78051ce99eecf0cf2267d1d6a119da8c9e6c96f69a4a2bd5b9ddd318b385302b22bfffd4f8ac2b6056d204f7197f8976cd3968c0ac789140564c581adf6f07a541fbac4812a083f33bd848fd04d26d0afba893aa170fdbae7a3cfaac54c3c99f3965600928aae9bb14e751c6ef6a06a7a9a798bd1ab9b7390792e986e125d0dc76d04afdcc3caf38908b1341da250a51f4bafbaafd151622ec11834545ed49adfd3399d14c10bb09dbe4fe5919a5beda4529db8cec1eb4a2df744e14649d0fabfa575d4119c2a86a1bc19fd76ea337236c2e16307178d8d065517057745c27e58e7790fd09f2d775e0efc71e37fe377bd19a09cb78d46ac0bae7ac7cc500a5392303444f1e2a63a74360a8a090da3da89ddf0af9b24746b68a8894d31743f7b13d6bd507acc55aad1e82822d2dd3a4826ed6d2f2f8a15cbc93d86f951acedd68507e269ce0eb0e4588eec603a68673a7255ead8b45ec47a8068794143917b1f5b4efb17ee3331f985c2c082f590c1f1937816ff4bf9dddaf2c12f6f690c582167b0f328594a2ee821f61d0acb63b6093279ec5b38ee58e25fc151b375b674066d56597b96cc7add05d797f2f9aca0e92fc4ed5a3defaa5a5bdbb31cd08e6e7e54380d664c7be09e5f079e572adf7031da15763c55690ee8c43dd96661bdf40e158d8c45ba2efdeed5775a7eda8c34650a83c13fe97f138c353124f2b2f37a8178a72aedf6fa9ed004f63b2fd01e2fdc3926db362976c1790cac9a69e521c38886d5bf66d2129530cefa1b4976304d63a44afca0333f6af783ca200302157d2799ec4dd53f25eed0694faf894fd990491f94eab24d2b8d5839f67c8771c9ebd7cc750f1f21db9ca83aaa2e2d5d89f73edc8f2b5be2955e79e69e74c59184b2887099363a5d19e6a5a61ff6e09a113877b6decc78691fa1da2bae7971f5d6e85f97d6cf2b6b7d4b092b7aaac3041ad64a435692b17a10afe33256d5a52a57bc34887aa2591c6585091435ca917585f4e4ea60da3dd41753a92cf5a87971796dddb4bf5dc8337e41e3c09d6a01ff4e52337363c6defbee82ab57e1dc3b4c33bddc7703be8ce658c4a6b4fb918d77ef1cd72c366ce4ae49be91bbd3e807e758f3f48bfa9f3bba7376c4a69a729e8f504fc06b3f1c52560d7caaf44e6d57ac1931430efd01af59cb2bc52b84fe14379dde0e15aafce8bda5f7bac46b620d565fad8e570a02ee78d00500157845332a54b388510ad33c845d74bfb259094cea928e485e66929bbf45df232be771dc1389491f338422328ef9ccdb23ce7b1fa9ae573fd054f14e9bebc4656cdbc1a9549baa45cbbb2063c4279a2311b28435bb3b9b5df82318e30621820b0fbee4bc9bd59bd9ba06cb51603d04046d380886a3a11f94ff48ea471a54067d5cec16cddd7724a862694c967b5ddf9a93fcf52836a1baa4b274d576546a8f1be8dc6f2068ce3bb7fa097f61f2f435190c3d300e849886abb96beebcb3b5311fa993e84b52e3c3d81995fbb31d3cac513c8bf0d93b7efdaf01c36bbb407b926da67674b22df26fb82ec4c5d44b2feb468b30efa143b7b08675d587a8a9975e2a595892750bffe0446562c20f63ed2c61ce683cfd21b88e2ec166f8adfcaf7a83ebd7d076feed9ec37719c522eaf4bdc9038ca55fa739eca84a28d695b3ffa7d504864cfa2815d94cb669779e1b41a161cb3629aad536f466503c7f52baefa2137e03e355f2d125b0b2d59023921df577aad15262f429ef6e4ddca1e62f3237563f0b4e7267957066742d371efcdeba15af9c650306afa1f000000ffff010000ffff5e910499523b0000") + bs, _ = hex.DecodeString("1f8b080000096e8800ffd41b5d73db36f23dbf0255d3928a65cae9dcdcdc44716e5a37edf8d23699b8e98b470f940849a829500740b135aefefb2d3e48020448d11f69729a492c018bfdc6ee62098e9ffdc97342059ab1e29a63f60209b6c523342fa820748bcbdf9b7ccbe53ffd1b3d1b3f193f5be6c52ccdd1d3176891e61c8052badce62933bf25d093680b5fb860642ea2c993271f5386f88ecec58ad0253a2d5724eb22dbe6388eaab968842ea74358518d24922556e439667174518e9e099603ec620bbf494151fc94cf8b0df0f27425c466886e9f20f848b21b863ffe980a0c544f26d5e8128bb76f60484a558f32cc45ca84e65109039cc8498d5db242b122c801e0763f694c2ec8d21f5fefce7f84d128724669916189e4721a40724ea5a00e7b661e3356b0c03a8e317d2de77c4aa0639cfb6c31bc294a446a7c3c46176030bae468861705c3685614394779515cc1881098b9148550c080428ddf92ec058a7e215c600a88c03a20e11cbc42590dbd638528e6458e3404fa3ecb40dd1c730014bb0d785c24f08d805fc60adae5f6230bf9afe9cd05a6d99bd9865be8df6ec5b290367b2fcdfc0b591381e2373f6cf8b0464db7eb19669dc8df03ba949e5390f3639a5f5804f40c2aa7507c67ccc671c2c8cde4fdf1bf4b590afb237f8fffbb05205b37a03104fa819534532aaa41fae30724672bd8b2b8a17889fc279263a467b5fe7b6bde22f0b38a28df53fa9aa6b31c67160d3d8560ae80bd8e6bbcd2393bb9fea598b7e05433f7417921c77fd011d3f66f398cea711b9d593f7503c9724b2ec2fbc76c0b5b031fce1fb2673eb8bc4a6cdf6fc50a439c9fa72a767e70b83e88f05dcaf975c1b26ea4169441bca94742c84b0d55211d42f4c5763ec738c3595c4674f9210b147fa502b83daab41b475f532c80ca950a86d15046bf348fa315c970349c38d07e0e909fbd43a7ce08215af56c37a5505e71e9ed7de17f4a616bf992b773c4b0d832da26c9dd14763b4be757192b366038a0076605b35de1ddac48596612fdbe459fbd0494f9efac586f5286e37484664d31a5d3140b9426bfa56b8cbe3a85b4b6a5195e100a5b197dfb2d3200b32040534e89d1a07a69960c1d805a7fe8f879d3786ad82c7f6596b7a919c04032c8f88a8efa1ab69343a7c65153d3685e556826b61eab24be007f5849a55795904d4e55430918268ec6d271c67c0781640d66e6726b711ed7ebb254a44d56dd3de8eaa5ac031446e040aeb7241aea5a250e336690973e6eafabbfdb954a0215c9eb74beb2f0c971cfa19b02abea671ca12324c113b0464fd12d06148e4bb37eea89da64db11a1c98f5542f6b6822c4d69710d8465210ba5e3753c1c39102283c958c21c5705ef108dd1f393931317926426ce961fab3e86f54113130a79bfae9f1bb3c55654d3ce3c580cc5244384a23605ab502e279355cadf5e5328123798891d2c1b86e0e5a73ca24cbcd9bd3722d8ae058b247a49b26925dcafa95825ebf4263e19a17fa167da120ae29cfeb01398ff5e08a81a8e0367010f4aaa5e64439f438772a5b876d250baf5a1ed80b512df23c8cdf3158a719b6a3da59cf4152100e85bc371a7a3d306391f83eb60f6023dd4d88221e7744f6ccd10d5b14ff541abf7166d1ecfc294f69327cd2318d48e62cb9d00de8c6b563af4021244a3eecc67f249f4815ec1f6a6919d73aaafea782e74108864acf4e9246abe5e5d82abbf9727d344141f36b077cf528e21d21fe909d0de8c0b163f1f5ab141ca63969fa2813c1c423133407ffd85ead1f32cc783a62c7a1afc6080e241cda56c15bcc36c0ed567bac4467d4768f0cd701094d6a8c412a8995437c5590ed5eaa7b78a2cb68f095d148f661747b9110135761337ee1db5d533352eae0dd58d6ec3c83a65bb20ba36a15dedbbd6fce426800cd9267a40d9baf5a562adc27fd20fab63d00d1cf54f250444fa0009a27a3f9ac4380460f13069ea5665923926790c54c2414716de81a0a3eaf18573a690cccaf8097081bc631698e274ea7aa0040cd5e0723c91657f8e1559a943d044281f95de724e915448d408f608cb5663fb321356502cb74d93ec118abe19363176848ae847c28dece049ad6a3d9f4b91fe1f945a5cdd559fe6a47117a5ada14ae3eddaf243ec17ab2e3f48f6d2991f0c0feacc0e8bbeca64ffe76fd698614c29cdb49fba62fbbf3bec6da9fcb389d008029d79aa5d943ff0413348665c4e95a359cf045ad834101f31e3803bc4dfa7544f4e20effed14ebb879d559be42eda91cd98304f36480737aec865cd0987a97f865320ce88b0daaf2dad9338faba7cc6d1b72da6da99c36055937ec48749069f0135da690e50f276a3ac9ee806b1d9a08e63f8501782257c931338eb8ca464e9c63adcdc0043a55e6f1201112c1e4e0247a54dc1ed9e0650014dfce7e2ed6f09570f91c862173b4c0c47e87685d30c7ceb05ba8dcee0140fae76fc3bd46f116833dd0047ba773cfe931734da3b3443c618c856eba0ed68a5baa4adaa763ab26e03b8adb1cb57c575d4a907b32af25b58ad8ff5029e29bdf8d0fe29d16e1903259a154f1328ac31cde2dbfda8dc133e2b9204c8f5fa067c2128be873aa91e3b80e7a83691de6ed570f267412838138a1a262bc5b9d7fe7135936699a798831ab9b5390792d98ea66ba0b9efa195e6b67b5c71a09cc702774b14a2e83d5e501db4b010879f0f34b5503e94b67f260b920b6cf771db32082d13dd5775a2b3ddc86e632bfa6dfb444136f9b01a08aab128b320519d27f8f3d2ed15e7982ec50a268e8e5a1a350aee924c9ba4dcf11eb23f40fea60e7c7b1cc8047f73206eb8b04c699d0eacdbd62a568c5056503c42647257197b6d02430585d4ee41d5712b14cbee991c2b22524e5f0cdd0af7bc556fb00e6fb5da100ab6f44c534dba854fc7138c72712db1df6d359cbbd9a0fccc184eaf7a9c6374431f30b5ec3b2df166cb57b19fa15a0252c20b2662eb81e17de3c667de3085586156b2d85696d86780d6f8db3bfcca73c6c136b458117e70231328299a21f81e0e4d1bd6019f9c781e4f7b9e982ce12fe9b4dd3b0332ab46bd2c877b9a4237f67d5bb49d5c70f23b514f8b9bf7b30e5a639ee394bd2e9f2374163bf6a52f87cf4b976b6d0f748c9e4f155b41ba0b0647bf2cdff90e0adbc226de917d0f9a5f1d5ded401d7602aeea4cf85fe6e33c9de3785e45b951f3ac29e786c38ee321e0692db6df43bebf5bb16d56d4c53687524ef60595e22040ecbbaa6f0b49596278cfb5bd1a23b0d6217a596e98a97f9be51e07009372259dc729dc3d251fd46e40a9f72fd91f491059ef744aa26f906e8ac7a8771c9ebd7ac750f1ea1db9ca83aab2e2e5d49f73fdc88ab5be2b55fb9eeae04c68184ba8860993a3a5d39e6a5ae1f86e09a10b875bedec2f0c23cd6b48cdc82f3ffab815e6f7bec5dbc1a38655bc55c70a93d44a463a8bb67211aae03f53d1a62555ba378cf438b524d219391105e495e601ebcba9c9b4637407a85e5bf251cfe1e5dd6cf70254b3f6602db5074b8267d0f7fafe929b1b1e66bb2ffa94dabcd1613aeabdae74b84d78e73e47a5b587dcadebbe3b678561336715f2edf48d5eef40bf7a652148bfad797ca0bd6c8ed24e53d0eb09f83d6a138b4bc0be27bf129977d60beea4807b87d6a8479de5adc4430a1fcb1b0b77d77ab55f947dedb106598eabf7066297c391badf7702800ab8229ce13959c32e846c9d432dba5ddbefc3646449049777b7e7a5ec3276c9f70ebc1b0d26a09c384f343482f2dada222f0a16abaf79b1d45fd299223d9437d1aa99e72765912e29376ebd018f703cd1980d94a1add9dcdb2f04994018d1142052f735a0927bb3ba9e2074b31523d0404eb280886a3a11c54fe4066771a54067551d60f6ee1b4a25433342e5e3defefc341f89a9416586eade4adb6d9b13d47a6547637905cef1dd3fd033fb8f57a128c8f169007412a2daada5ef86f2da55847e267761ad0f4f0f60e6d77ecc7472f100f26fc2e4edeb3aac006397fe20d74487fc6c8de58b755f909fa9bb4cd69f0e6d36411fe26777e1ac0f4b0f71b35ebc7432f100ea579fc0c9f80a72ef3d7dcc613ef838be85689a5fa73bfe5bf9cad8a7f7efe0e53f9bfd368e33c2e48d8b8f388e0a55febcce6441d1c5b4ad1ffd6a2c14b267d1c83e94cb669779f7b61a162ca57c9e6f336f4655032f9ab764f57372c07d6abe5a24f6165abc067242be9af5522b4cdea53c1dc8eb99034497c7ead2e1e9c02df22e0dce8464d3c1ab9763b5f295a160d4f43f000000ffff010000ffffde437a5d5d3c0000") gr, _ = gzip.NewReader(bytes.NewBuffer(bs)) bs, _ = ioutil.ReadAll(gr) Assets["app.js"] = bs @@ -63,7 +63,7 @@ func init() { bs, _ = ioutil.ReadAll(gr) Assets["favicon.png"] = bs - bs, _ = hex.DecodeString("1f8b080000096e8800ffec5c6f73dbb6937e9f4f8170e6da64ce946c27e9fdc6913593d8699bb936c9c4c9f56e3a7d01912b113548b00068474d7d9ffd76019222254a96642975af7d9198248005f060ff3c00971a3c3c7f7bf6e17fdebd62894de5f0c180fe30c9b3c9690059c0b249c8f3fc3430d32cb289c82601d5011e0f1f303648c17216255c1bb0a74161c7e1bf825941626d1ec26f85b83a0dfe3bfcf8223c5369cead18490858a4320b19b67afdea14e20934da653c85d3e04ac075aeb46d54bd16b14d4e63b8121184eee680894c58c16568222ee1f4a877b82028061369915ba1b286ac856abcb089d20b35a4c82e9906891060b18d0acb444492120de3d360ccafe8b6973b64a8811556c2b0c66bd0f70f6a59bedd48296bace6793f32a65fdff55291f5f049507669a7124c0260fd60dc3db3d31cc76be193a5c6ae84b1918aa7ecb3bb642ce7718c7d872365ad4a4fd87f1ce69f9e9765639c5f38e6a990d313167c0ff20aac88387b03050407ac7e70c05e6804f680199e99d08016632fe2e681fb931c1db0e418ff3dc17f4ff1df33fcf74d3d843b77538ab8063149ec097b7278d8ea9ef74636ab7b2330c21822a539adf309cb5406adfa85fcf7e4595d3fe57a22b2d0aafc841df59e41daaadb73e252952993f308bae75417cf35e5a8de21aa440c998178689db1583d24655d2ca5655b5e3a46bd585e5a4b8e574aee2cad25c7f5ec464ac7a03d260bf0b9ce98d578d1069d4b3141bc233419d06d28a49aa839c44fd8e1f3b68e369eb89ec3673355cd95117e39d11a7061afe6b0ceb59a6830a6ee242995e5f86826a45ceaca144496a08ed92582eaab70c4752d16ed16c22ed94e218cf81d508b8eabc795d04849c973443bbc12869c5e2d2f1626977cda86b9dd66ade622a391cd812e8c0d33158e0a29c136a6808f9dfb08c97df8aee71aa27ec822cd96f5138ea48a2e6b581153e782d1bb54e65383ad3d5447b382118f2e275a15594cbd288d4b3a193d3a7ef2cd013b7e7a48ff1d3d7ede5644cd635118b4fc8642543a836bc09eceaf31ae0d3e6eacc3dcbcd05ab35eccd1e3cfb90109631cede1cc0fb4a67774387bdc547937c9e7b76355018cfe38928a5f76ab017b28520a773cb3b3e10ffa6ec930e4f67dcc7d30707e9e44a1ea695411d0a7c145156cceac9618c12437e634a8fa2be3d2c330641f54ce48b1c3d03fcbf8555d9b5f5189ff434ea0ba8c61cc0b8961187b03574f4c9c932d03cf2016b5101a14c7e9ebb28c421682deee231c699ec5c17020d2495542ae2260464714f342ba0b8f8effe5a22af3513f78721c94f6edae87ec621662a993bac75181969e9551d2dfd49850ccc07fd5a4dcb549598ec6e295b69a351638f21349115d22158a85bd006bb137f3e8318ebd39ad899ce609b100565fe1f2201f2807c6aa9683be1f4e095c1f917361bd8f9dfa055982a5af4f2bf8add0c6e2525c1f3095c9294352729d3131661944e8b6b89e3e67efc158ae2dbbe63ac36eabd52ec5e3a404129087287f2c26af3382b1c60705cf96ae351819a631ae495dda2ec7698264eeffb0ecb651b3a36e48faec6a0d9227ed12c7978261358b370031c468004f863562cbc59279b47ac64af9f04302cccfb7f0048125dcb011003a057e85de16d705add0321e6194e116e2de4cbd585a10e4e570acaa2b515044dcafdba27b837ede1ae3ed83a660dcb0990df41875b7a9ce333d6e2a6f39f4b5f4568dc733bdad97405db755b76b2a9104aec7e253d0b14ced07addbc64d79b9a0ec302924ba26d4cd39556e296d258f1abe07471d949ebac0c71e913f232fff7826a153c1bf5943bf2b877867fd2ec728c0dc45bb0b593b518af145e64246ec1440430edc9206e40a2313a3bf664e80db97cc3f9a73dc6d3e1c0c3f7f2649bd73a12122946f6eda3e78f9f06a66b2308aa5239987a20ee80173509e068de57e7dde2978c98c0ab474d6650696cfdcf73ae28855d4b0bc3e5f8e876b39bfd05bcc93f697895699f8ddfb3334545b2c2eed36738f549a229bdf7cfedee57893c4919ed1e5a31291c7153a176ea0f5e32d911af4bb35654b05fa4eaa1197de3c3cbe63811bef9dc03941d9b09532a52a06f97389d42fbd891be4b73430f607e3f29a4fcd9b221d81beb9f1e33d604b1abd9c5ad76824324ed6fa722feaf9838af60562a2d29d602869881b42e8daec06c11dabedc76ce60610b8ddc18dfb86220e63a496b8818877017c862c6e43dca9c97e157737de729b4831e0e539e0fc26835cbc738eeb90b51cb248c8195f7b8502067dbe72381beae6a05fc805beb05073bed65e386f6393d64d7f9b58f2387650ae05a3a4c85981f8228e1bfc71dfbcb7c95adfa0fe37f8aa9bea3d22ac34bc4d996a1bb5e4d9f01d806695a4675b50d90cdb9e8d27c46615eebfb49345cbbc03524bb2dff0141e959dac60275f84d73a85404da603c99d382b7a01b195372740d030f41ac83819db520837e37bc86dfdc19fc7c1f3da1910153e25b3bd23423ba608e7650c679a5bb82fdc00c564b871c4b5353f9770f568e529ea8b6c9453c44fc16a11dddce0dd5e34ed63be0f588a7c2fa0a8c2ee06951d6b9733d72bd066761c7c3714b7dd771360ff057b734ff7902812f4f574ff7a5c7181187c488471c4e0eebcc0a22807cfbe59c157909afcf99fc30dce0aad3192b1f72f7e648515b20c96bbb1c2642b2334536321ede19fe68e8d46b8170f5e2170f6ee631301f6e8e89099c5a5df0a086e2ecd5db088f2e21d687a393eb7efc5db0ce982e6f2e4e8e6e6df6812f7c1a1b7e8026d432c97bb817207b4e14fa0067b80e00e14e1bed1807fc2e23ab0fe858f50aa28bac5118a0fe55fe0f0c45ffb13947efb1d213d7aa5b5d2a6fb1d3850d90f18a21f3dee49c82636614376781f5f86bf51564470a797e04db2841327a2d4983fad71caa5442f834f7b1f440ae867d0d8e024489293343d31a6678c096e6e4e70995d55f6f9f3580bc86239f5a730d4d2e1ed28d2fedf826fa4ce4ed5bc36d074dffee7977da5dd52d33ab7a3cec4a1c72f5d8ada7a093ad51bfff21607097199e3c61211c790859fcc7a193af95c7a0e396c8a36e5beaeb5940d6a4b432b5b342e7df2410318f473e8acdb3db863a8d2815392f0491fc131912ab4815e9d39dbcbc0f683e14591535e14ebb36f952e52ef9c9bde7369171510266d7666b0b789b04931ea452aed475ca649bfeeb4af0117ddd07b941f50f90d126cff60837e37e8ed5a5c8a6078aea2828ea51c7fddf7048531054def654109497bed0b170fd7340276e68241bbaf59c0eb4a8472e7e160af95bef46e8aa52ae6b2360c526911e3087d1d67d7b55ff055c73c860e0b7085612cb854934ef7ee2b9469e04b5cbcaf436e1b6d984b40fd74ff8731cf26734e6c903c6d372b7d7adbeddc1661e11316a64e434223265937693aab0f917ce06b79ace4e91287d535b7851832c8db5dcdf2a30ce03e9812a346c088e01f304579c2a081e19e9eb35cab9184945da3a2b0296a047b4dc9c2b8746c76e8d56b097f8f04778ab2bf4a404ad1da63b702cb2d7eb7e580eb572cc413972a5445223757262f3094bbd1aa36f6aba2206e2b0c0e9788318ec4a4a2161530ae050fbde52213d705cee12b8bb1dd3cef8a7ea4a9183029a7f034784848e012bcfa8404818cb953896754afa95d73a2d69244ccbb43d4168a3a563a2db355e972ded21a12a838a4b4e4bce3a4888f90c5610d7fb64489454e7b5e9fa317a3b2851622cb298d7042ab40f9f671c7cc9dcff2e25a8328d37983c6c71d8ebcb877e2b8c6feac8306501e0a93fdbb0e178651c773b49ddc2722072e0332f3c367117a1a34d5316563fbf33260a8bf86ccb6bc0daa7545bdf2caad7c817be7e624cde73976ee8bb6019b53aa071db8adc639973c8244c99832a0bf57c8572f402367293126295b23cc7db6c906f85ef83cdccc58fa4e428d59a92b15a0116e90d0e795efb2f6855df9ae90c2fb8bea720314e329c226a2a0adc38bbac74e4f593a251526a8679d6e8b773dd60bab37c4fd15451246aff538c6a19cd3a14dbcfa4457e4274428abcd6a3d7c52ff950d4b78aa8618f072d0ced9f0027937c6e688391e8b5a38251da0852fc5afb1e2833ec95ad8232d77c86d793f259031ff7d04c65c4a4b262b3d6097003969612ad0da6dc22d1b403aa433725761d0c73b9fe23c72a345f85ab66e042ab255aac7c887546aed66578ac0287f32b7d9d4402940539f0949776b6e9dba1c7cc7be70addce85c8b94eb69730f48c9ded599c6055e7706c10dbe1fe88ebac3338ac8ab6457e70ff3d161759f8e5afa1c6fca656e4e0c4d0a6c3db57377b738804dd912a5c1dcce96a8d63f6c696db6d4cc2dda09675a26f03e3027ca6423aed2cad0de2422953b6313acc1abcaceb68842ef7dcee1e6315fdb035664e2b7029d206a8d156381263af6fb9f462a6c8ffd587a587a6e905f9093e552d6c4801ce9de78010de41da7d77a8d85a0071b2cc5fff6cf678b51c1ed846e0b78fdf9c086b853a7147ddb105751cba5eb12234079a07bec27812823f09106c70dc498a1d1c40a8cfbe2074885768a7bf3b42d81e872a43e75bc29197402df00dfe3574b5882e17b747f6f33891032ba6474ddf106a27b953be6b81b0a4fba5c270c76f7dd85d2fcfbfc5b93fc7606a3c18819a176b88e5cfa4d957b13d031772b05e0f1cdcd1d105eea4cdc08fc27653408527093700d9e6735f49c8e51fe0c3a391b4217a9a481b7bc3c9dfd14f4253359aa6858aa70939b80639723b0d7f4199e777f4431a78c261d71837e1232fa00fc0a792976e3382ab2ec2841a3e59195d3ba3539522fe1fef0cc2afdf8ff21cfaca6b62b9e597d1fbb84649ab2f8ef4a32bb985fe39be22fc6f99aef43bbca3b52d2bbaa358248d3e197ab4c5ea55ef04ebfde78815b56ecd122d0a1c4d74437be667ffcc1164a329776f3f5929c8566f4fafcb96a2c629fdd5bddbb5f92a11dedd2a053871dd2db3941ab68d2ac2add53e5469c725f17f7dee63e377426f397a5bca94315962c59332e76223a524aae46adbb8cb105dc5661b3224c6f37fda531790536dde1baf3e13ed47e52888bfd697e67598e43bb563afe0bdbc5771f5fff5d6d6293a9efd31e6ee59e5f9a7b357faae3cbf3afb5e90f5dfadf26f33f7d82c48b7ee9c0fd08d8af3e9fca950ee72bfefa5b017a1a1ef70e7b4f6eaf3dfbadb15fe77f6a6c653b9ee7731570aef4ab52f47334eed7e2fe0f0000ffff010000ffffa06e71f13e4e0000") + bs, _ = hex.DecodeString("1f8b080000096e8800ffec5c5173dbb6b27ecfaf403873db64ae29d94ed2db7124cd2476da666e9b64e2e4f49ce9f4012221113508b00068474d7d7efbd905488aa428599225d73ded4362920016c0b78bdd0fe0528387676f4f3ffcebdd2b92d8548c1e0cf00f11544e8701930191d39066d930303319d984cb698075188d470f0819a4cc521225541b6687416e27e1d7c1bc20b1360bd9af39bf1c06ff0c3fbe084f559a51cbc782052452d23209ad5ebf1ab278ca6aed244dd930b8e4ec2a53dad6aa5ef1d826c3985df28885eee68070c92da7223411156c78d43b5c10143313699e59ae644dd642359adb44e9851a82cb0ba2990008a0d846b9253c42498966936130a19778dbcb1c32d8c0722bd8a8c26bd0f70f2a59bedd58296baca6593f32a65fddf5522e7bf02428bab433c14cc298f58371f7c4ce3218af659f2c367625848c553c239fdd2521198d63e83b1c2b6b557a42feef30fbf4bc289bc0fcc2094db9989d90e03b262e99e511256f58ce8203523d38202f34007b400c9526344cf3891771fdc0fd498e0e48720cff9ec0bfa7f0ef19fcfbaa1ac2adbb29445c313e4dec09797278d8e89ef6c65656bd211861cc22a529eaf984482559a37e2efe377956d54fa99e72195a959d90a3de339636eaf69cb8544965321ab1ee3955c5ada614cc3b04938899342c1e59b758ac1ea1b12e96a2da96974ec02e96975692e395923b4b2bc97135bbb1d231d31e9305f85c67c46ab868824e059f02de112c19a69b500835552dc44fc8e1f3a68dd69eb89ec3677353cd94e15e9db01a40b1972dac33ada69a1953759214c6727c341752a8ba5c0a5c2660637689a0ea2a1c535d898575cbc22ed9ce200cff8d81151d978f4ba191128266807678c90d3abd4a5ecc4d26e8ac0973b3cd5acdb9c491b540e7c6865285e35c08666b5380c7ce7d84e83e7cd7ad86601f224fe5b27ec2b150d145052b60ea5c30789772f954606b0fd5d1bc604ca38ba956b98cb117a541a5d3f1a3e3275f1d90e3a787f8dfd1e3e74d43d434e6b981955f3388d2664007e4695bc7a01b785cd3436b5eb05a652fa6e0f15b6e40b0098cf670ee071ad33b3a9c3fae9bbc9be4f39bb12a01067f1c09452fbacd803ce429863b2aed7cf883be531984dcbe8fb90f06cecfa328303d0d26c2f430382f83cda9d5022298a0c60c83b2bf222e3d0c43f24165040d3b0cfd33492fabdaf4124bfc1f7402e565cc2634171086a137e6eaf1a973b245e019c4bc128283a2307d5d9461c802d09b7d84634d651c8c063c9d9625e82a02627484312fc4bbf0e8f86b1755898ffac193e3a058dfee7a44cee721163ba97a1ce7b0d2651125fd4d8509c60cf8574eca5d9b9464b058bcd196b38602477e22c1a30ba04231b7e7cc5ae8cd3c7a0c63af4f6b2a6659822c805457a01ee003c5c048d972d0f7c32980eb03722eacf7a153af902558fafaa8c16fb836165471754094143302a4e44a123e219245e0b6a89e3d27ef99b1545b7245b5846e4b6d17e261521c08c843903fe1d3d71261acf001c173d5350623c234069d54a5cd72982613c4fd1f16ddd66a76d40dd19e5dad41f2a459e2f852302a67f186b198c5b0009e8c2ac4968bc5e5d1e8192a65a30f09237ebeb9270824a1868c1903a7402fc1db825e60155a42238832d4b2b837372f92e60879311cabaa4a181401f7aba6e8dea09f35c678f3a03118d7d6cc06760cb65b37e7b91dd78db718fa5a760be414aa2773dbadd4a0ae9ae6db359d4830aa27fc53d0a1aae683c66deda6b85c307836cd05b827b0cf9639370cb794870ddf33471f949eb9e0471ea14f434fff782ea1d3c8bf5ac3c64ba7786b1b2fc6c899b98d85e7a272a418e773e9c246ec8c40b38c518b569029884e04ff9a9600b737693f6a39ef26270e469f3fa3a4de19d72c4294afaf9b7e78f9f02a76b2308aa52369435105f580382887414dddafcf3a052f99510eab9d742d054be72e7c1d71c82c2a585e9f2dc7c3b56c2b7a8b79e21e33d14af2dfbc4f83856af345d56e33f748a52930facde7efdd8e5f9230d253bc7c5420f2b844e7dc0db47abc2552837eb7a56c6940df0a35a6c22f0f8fef84c3e67b27704e4136dbca98521533f15381d4cfbda91be4373830f23ba1e28acecc9b3c1d337d7dedc77b4096347a39b3aed1984b8aabf5e55eccf37b15ed0bc444a53bc150e0103784d0b5d90d823b36db8f72ee0600b8ddc10d7b873c0e63a097b089887701bc0426b721eed864bf86bb1b6fb94da418d0e22cb0bdd14017ef9ce33a842d6332e262ced75e8180419fae1cce86b639e8e762812f2cd46cd7da0befad6dd4ba29701d4b1ac70ecab5601418394b105fc4718d3fee9bf7d659eb1bb0ff1a5f7553bd47841587b729536da2963c1bbd634c9352d2b32da8ac84b6a79329b259057b30ed64a19a77406a51f61b9ab24745272bd8c99df05a671060c97828b91367852f21b6f2e608082c0cbd06324ec6b614c2cdf81e725b7ff8e771f0bc760e44894fc16c6f89d08e29c25911c389a696dd176e0062246c1c41b7e6a702ae1e6a1ea33e97e30c237ecaace6d1f535dcedc5d23e66fb8025cff6028acaed6e50d9b175b9e57ac9b4991f09df0ec56df7dd08d83fd8dedcd33d248a087d35dd3f1f575c20061f126e1c31b83d2fb020cac1b36f56f0054b4df6fc8fe106a7b9d610c9c8fb173f90dc725104cbddacc264ab456866c6b2b4077fea3b361ce15e3c7889c0e9bb8f7504c8a3a343621655bf1510d45c98db601165f93ba6f105796bdf0bb712e882a6e2e4e8fafa7f7012f7c1a137e8026e432c15bb817207b4e10fa0067b80e01614e1bed180bfc3e23ab0fe898f50ca28bac5118a0fe5777078e2affd094abff98e101fbdd25a69d3fd1e9c61d9f710a21f3dee0926a736212372781f5f88bf519647ec562fc2eb6409268e44a9367fd4714a85002f034f7b1f78cac0cfc062632741929ca4e989313d634c707d7d026a7655c9e7cf13cd998cc5cc9fc2604b87b7a348fb7f13be91393b53f3d680d37dfbff77fb4abb61a6557e47958d838f5fba34b5f59274cab7fec52d0c92c5459e1b49781c33197e32eb65e964ad141d74d8186d8a7d5d4395356a8b432b5ad42e7d02420d18f073e0ac9b3db863a8c28163a2f0491fc03191cab561bd2a7bb62799ed07a3f33cc3dc28d227df289da7de39d7bde7d22e4a204c5aefcc406f536e937cdc8b54da8fa848937ed5695f3350bac1f728df83f11b20d8fec106fd6ed0db15bfe0c1e84c45391e4b39febaef097263729cdecb1c9392f6da17280f741a3172ea8241b3af79c0eb4a8672e7e1cc5e297de1dd1449554c45b530d0a4790c23f475dcbaaefc82af3aa131eb5801ae308c39156adae9de7d8522157c898bf775d06dc31aa682817dbaffc398ca69cb890d92a7cd66854f6fba9d9b222cfb0485a9b390d0f0a9ec264da7d521920f7c0d8f953c5de2b0bae6b610430659b3ab798e9461b00fc6e4a8312348f00f88c25c61a619813d3d25995663c15272058642666011e435260c83eac8fcd0abd710fe1e08ee0c647f91302178638fdd082c37f8dd8603f689412ea3c9657675da93ae2adc076be272a2f6604bed44af16f4250277623c602173cc7be49d73b6245122deb5eedd6125ee11963a937203b1b9eabdc050ecc6069ad0ad6240b0a534305cdc14c1484cca2b5101a19ad3d07b6dd885e91ce6f085055e679e77311fb42c204b98533a0c1e2212a08f579f801c2eac85d2e8e634bf6e1c2d516b49c25d5787a82dec6ca2745a642be3657b65d42460718869e959c729211d0383871afe5c1193ca9cf5bc3e830886650b2db8cc308d748a5ac0ef2de28e99bb78e5c5350651a47307b58f7b1c7175f910a0637fce8503285e08e0c2751d2e0ca3e272b076329f881eb80c58e9874f22f00ce0a627988defcf4a1901fb35e8b28bdba0d42bd895376ee50bdcfb5627a99de7dab927de066c8a693e78d8ba1ae74cd088a18fc00cf8ef14ec55ce9906be5a608c52b64698fa4ca30df03df779d8d258fc4e464d48612b25a0116c8e21de15ef31f7855df19e18a9dd8bf2720314e319c0c6a3a069c38bb647864392ced08411ea79a7dbe25d8df5dcea0d717f852c82e02b5d0a1c24a3786017af3ecde7d9096e26ca838a6af868fe2b1b16f0940d81ec644c3b674373d873012f8b88dbc38015ced00650f185f835343ee8a3ac85fdf17287dc94f763c224f1dfc700dfc2b4745ca507e482b10cad30e5b0da6d422d19b07484ef475c85411fee7c8afbd88d16e06bac75c3c190ad523d823ea4346b37bb4204c4ef93d641836698fe35f359b078b7e6b6b9cbc1779c09ac951b9f699e523dabefff31d9bf3ccf3a87ebce20b8c1f723dd5177748a117995ecf2eca91d1d56f7e9b6153ec71ff3d8eb138325c56c35b53377b73880cd9972a66e664b58eb6fb6b4365baae795ed84332d13781f9813663122576964e76f12918a531113acc1ab8aceb68842ef7dbee9e6315fdb03924bfe6b0e4e10acc6f20987253af17bdf5a1a748ffc5078587c6e805fa093a54254c4001de9de78010ee41dc557ba3545e0830d54f1effed95c1925dc4ee8b680579f8e6c883b768ad1b7097119b55caa36320290c7748ffcc80165003ed2cc71033e21b06862c58cfbe28ba109ed14f7fa496bc2a28bb1fad4f1966cd0097c0d7c8f5f25610986efc1fdbd950220247849f07ab1af255aee98e36e283cda72952cdadd77174aed5c8e1b133c7706a38188198175b88e5cea55997715e02b8e46fac7e3ebeb5b20bcd499b811f84f0a711068e026a19a799e55b3733c42fb23e8e47c085da41207def0f278aa93e397ecb852796da57237b92973ec72ccec157e86e9dd1f52cc19c1494778026498c41f00b8045e0add388e0a2c3b4a60d1d2c88a59d51a1da997707f7866997afe5fc833cba9ed8a6796df472f2199a628feab92cc2ee657fba6fcce385ffd5d785779c7e7085dd56a41a4eef00b2da357a914dee9d76b2fef8b8a3d54021e4a7c8974e34bf2fbef64a144ba94ab2f97e4abd4a3d7e7cf65631efbcceef2defd9210ee6897069d2aeca0ddb604ada249f3aa788f956b71ca7d5dde7b9bf9bce0b9cc9f97f2a60e5358a2b27a5cec4474ac94588d5a7719210bb8adc2664598de6efa4b63f20a6cbac375e7c37d98fd34e7e7fbb3fcceb20c8676a574fc275e17df7e7cfd575d139b4c7d9febe146ee79d7dcabfe532d77cfbfd6a63f78e97f9bcefff40d102ffc950bf72370bff85c3a573a6a57fce5d79ce95978dc3bec3db9b9f6fcb7e67e69ffd4dcca7634cb5a1560aef8ab62f87344eed702ff030000ffff010000fffffa8414a73e500000") gr, _ = gzip.NewReader(bytes.NewBuffer(bs)) bs, _ = ioutil.ReadAll(gr) Assets["index.html"] = bs diff --git a/gui/app.js b/gui/app.js index 572d2b82..19a503a1 100644 --- a/gui/app.js +++ b/gui/app.js @@ -6,8 +6,9 @@ var syncthing = angular.module('syncthing', []); syncthing.controller('SyncthingCtrl', function ($scope, $http) { - var prevDate = 0, - getOK = true; + var prevDate = 0; + var getOK = true; + var restarting = false; $scope.connections = {}; $scope.config = {}; @@ -44,9 +45,16 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http) { $('#networkError').modal('hide'); getOK = true; } + if (restarting) { + $('#restarting').modal('hide'); + restarting = false; + } } function getFailed() { + if (restarting) { + return; + } if (getOK) { $('#networkError').modal({backdrop: 'static', keyboard: false}); getOK = false; @@ -234,6 +242,8 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http) { }; $scope.restart = function () { + restarting = true; + $('#restarting').modal('show'); $http.post('/rest/restart'); $scope.configInSync = true; }; diff --git a/gui/index.html b/gui/index.html index 3c35d280..62dee4e3 100644 --- a/gui/index.html +++ b/gui/index.html @@ -114,7 +114,7 @@
The configuration has been saved but not activated. Syncthing must restart to activate the new configuration.
@@ -321,6 +321,26 @@ + + +