US Covert Communications

Channels uncovered by the counter intelligence of Iran, Russia and China

08-09-2024

I’m posting this to publish data without editorializing it. Much has already been written and said on the subject. These are binary and/or code artifacts.

JAR artifacts

00ca247df9c3b8435cf8b6388390bcdb654b9f81f7568e1302259220b7cf0275 01ebc95c09f34b0bae5f046491e7b6901559c79142a76df28d8c83b92c987a80 0211a8f43a83cb481aed5aa377883f134f6783694f6e5189ef3e9c34ef315b55 0232f275ec213ccb17c82c3857821f1699ba791e24ee3d01a80be04853d39395 06f2efb32a4caa489402ea49f0844d724446392777cc23a754f150d607ca2775 08cf9a3f5edf008c79d2fdcea82896abb3c90b6c8afd0efe66c49c2b9e78f3a7 091f67ee457219f004b4acfc034d5c835fbd6f4605733eaa94d8d77c02778ca6 0a66b7a5d8334656d5dbe24bed67949737737178597e6982f728e566e37b0dab 0a88aeab4328b4f1ec449ba53ae45625a61a4624d26034479f6fa056af73bad2 0aa08a55fb89d5d68f01ed99776c2c0923fe41e3be9577f18027083b53b0c771 0aadf8387733d29eedc4bd861e2f7e5390fbe9bd35249c197d47292882e6736a 0e89d277948a7cd25f194e4e5b2d6faf230269729a5551b9f019686c53dcce2c 0f51e238aa5bcd32f2af172f62367fd6e39e54d84a51f118d3589d2705bc9a16 101e8749f14ba2bf68e33b5ec66a0eb3e95595b306d53d4c3a09438441c441d8 1024fb7515c10c74997d8b0c54ff9a429fc72a4aef1482dc252d4db8af33cfd8 108bac7109d0e2fe8a1b55293c86f7efa4e04e5495a085a26e277efc6229061b 14ec2458ed3037ef2833198d1010ca2246aa21c72becfce8a102a1dd84069cc1 153e1a543fffa84b7ae03f8339be339a3b05d1f6e7ff9bcdf6e8444fd4db4353 15d9f1a9b3d62de2f287c18607846c7a945e881e6efb2da147a369f06dae94bb 167e843b77d8c9bec33aeab8f0c38568ec8bf10640775d15320a909dbcec8357 18d343ac90957d73e1f5c21618dd927e27c0ccfb64ddca1b34911428b076217c 1946c5b5f5e97d647efd9bcce4ffb0343dc8d17226acfa6cc0be57a8b6859b17 1c5c0370cc25f81b94b6f052c6c1e886a0bddc2698a1ed518d2c83381c16f915 1f168bd1499d7f82e936aba6213f234a3d11e9afd53f8668a4838447da8a79d7 20b069931f006a13f8a9af5a075a466178393787023f97ecfd92195f6951dea0 2219f10d432ce5363c789686202aad3f36506ad19a87fed7f7d67064289221df 222a5cf468c5a8707b87234873f52b0b077a3ac821e4afa4bcb87f9e491e44aa 2418edf731fb4878cd2829321d0292aae8159861f5063feb38acc14cc2f66c0b 244263d0d5c3a0ecb63e35f13cb004096d28a8f9ec5d2e827923254aca7bea70 24bdfaecce37bed0cf9819c55762312c6b8fb93f3a613c6eec4f93c81bfd79e0 25fd7af53dde40abdc9495cccd4a6a8a7fbb81d8ed833259be9e3638734ff0cb 2647b8643a96acd934cf03e174e7a88c6e8ae69c172f38d1a91cdd875ff3e5b4 2a708f7be9a944ee014ea96bf144da1430d72b18a46b77afca650baca500f33e 2b61d51b330d6ce4d528b7eb7bfc9969aa51bb52e9ec84f346bbad3eaa2a31c8 2c470d1e91d83f3a200cb52faa621588e9fce6531dad68a1e5a7dd4e6bc74c7c 2ce002315eac424b68e049fb08ffb5941542f2d52b9e3358294cd2d4b4f45657 2d0977597c675ce7c41be8ccc7259e9424130db0a0d9d366b182841c325dc710 2e402e392ce04328152e74254d2265bcda6dace55350bfc658db67c389ccbc6d 2f8b506b4c7df0c4c895a97ff628813106730f8a19ac6171c1f7572b43389f15 32aa2724a1c33a8acf3ae1fe95b20eac8bad37a2db70c28a4fbdf0950bb89ab4 33cee8118ef83f6c3c1e152a6c873b9cba8097df4ee8f59db8d76aa8bd6b605a 3791d98d23031076ca3637630d4e9506c6f2e5ede9d8c252b329955db29f9c26 38a270bdf00f1bfe830ad748cc170ba2930880fc0b08ddf5d2fc9807dcab1c71 3c6aaad3bdd63f9c24fc293dc49b95c092c0ac063815ba2ba69a71ae615bb242 3ca080e045723259a2db9d125c4ae5b4af5ba845a4c5cd7afb8d4f375b8faf7c 3db673ca04cc72588d0175e27ff53d73f14962904e9d92451f7d8156d51d6e64 3e69856b69d66ee7ea3639eee41b20faaafc52645e953a5c11cfe1b98f572fc6 3f457ba8503f5d9afd110e387bf9d59183a51b2664e14151ec856f758c13e4f9 3fd4910ae9fa4090d67ee232dfc258979f4395dc125623679a74a6d68b2733e1 3feb4ecd772e7ffc593367160484be101db84740ab81ba8c034af5548f003f32 403f87d3283e46caaf72edb0fbc8520c5877084ec0cb1091c29c046f311a3110 42632e5526b4f658b82ef4ab3e2b8217051cf6faf82d96229712edd25bda8352 435a8965dad4d580b3694f0bd817319fb9d256b887573918edcf44ae2dca0a5e 454374d44eac9f7e4950612c50842a2282544b1e66a2fee81996a31ace9a227e 46457b2535c0ac21dd27e9f911aaa257ae23a0d9537676679e5a77dfca45ba99 46d2c442bed8479d43a288e9755dd580676f0d56f27a9e365590c2d5d562791c 475e01491e6ad3d99b20a429a8e79bd830b525007170041e632c12beca17508f 47de0f36a22b8d5d2214012501167ceda181ad057740258547971e7374608783 4836f6b04dd231019f578d7d8dba1af27c00365e9ee147d2e8412170a4c2e04f 4aae72593c95fc1c2329e7b5ca9cac34797b78191d9cee3c8228d9f2a956a2ed 4d0cae808fea72c8659b5ec4678ab7c3791f1c3eed9df97723274478c53954ae 4f32b1863df7d390b3b98f33968ff09ff5aca036d666a34133e3795f1f877485 4f8ed78f44f13a26f445e6056efd3fe1a81cb902c708775da6130db4fd4c59e2 511728bcbac9a0cf0e9f86bb461c7e085b45f8864613bbe6b0141f95daf07fb0 52e20b824e73bc5f9892774bfd23231d6bb281c485d2b4c68772c72970082fa3 54153bf02aad2af1214588cbbc9f1e1dead641cd465bffe929bbcfcaa4b1db07 5553752aee10067f433498a03c96184dc5175ded9f8c8209de530a581b1d21c6 5555d41be74af1681296d779bff86438bdee992dca23edfe8ae733c62e7ab6dd 55f985b1e0528e6b972184957ca79363ee94e90e568b07f19f94cb8af2d3dcbf 562fc79f9a892302e163a6070c32ef5efdca13c128440a6a64f9ec23ce90acb0 564d533560db7c5e6e4af85ea6ba5d1ff0a5b832c808585a5f085541f53583da 568fdf31d2edc4b130d9bd230e229dff55bb2d306f0920b9d880dc0f5fc84693 573b123c51808d20e08b44be301ca9976730c98091a15532db33d3463dfc0b9b 5b41540bf40bef925d1b4115e307bb8b34711f4cac7393b7e502d72ceb5163af 5c20dcad4870a262de44736c4db47960b43197c814ce776f93fbd587d0d6c5f0 5c2ceb7d66e0d583fdf48bf94b33bdaa0a540ab6fecb19f8c1bdb1064e588271 5d05cda124d0dbf8c5c9b5a95de6c6db107f7b8a2df4ebcfb7ef5e44a1a579bb 5fc6a0d669f083588256b0fffdd1a7b7e1fed8c83e68473ba61ce4892f37afad 627508f54b6273df4711c4be6a5970ad3c985cdaff432a6a56d0d6b6c6f6e889 63251729225ad010876e72a787536d349f2ca289898e8ad8df3272fca711c69b 63e489c60385ffdb121c9892ca6d3874389592148fcf8b29ee18c4724301195b 63fb255f0478a3006671f6998625217534b918c602175ad45ab0ba3b8cce01b4 646d6fd3050b5328177094def73100a61ed6737ee92b6879a894ac0eea1941ee 657cd2e731acf66332940d840be9776e7635b92369a6cf32ea35bace8aaa7504 669c5e704f112e520055f4ced9be3a2138dc02ca39ae7c17378f28e537c55e6b 6725feea3f1aaa7991d01348494c5243eff40553145248bd808b5912a3e62f54 6744e56f1051be1bd6b8a6e990d571806fca5d0457c77a2c833787846e725d90 67b7dd66ced38b9727ff195baee9ad334cc54adbfa9d73703cf3b5352b9e25c5 68cd3c9a9f2e1582a1ee19a6b121f8e2a0f3ccade871c6226fc4f65b0243294c 69f76966399590f06163dfb2c9334c3c345c815d526b32845f226926793bfaa1 6bbcb60427edbb91b2b76085233237b6e95d1472d0a9eef0615545dc967bde60 6c9fa5d9797d6095b674b2e724d1f32d25c4aad1e1d47e355568712c4ed3c161 6d1b5dd06f1ca291611ff20b269f70f8400ac9243768e323ebf1c4742a1b1a0c 6d82d1f89b2d6a50ce70b3949ffa0b29b43b3f9f2d1298ff061c1d5a1ee2eefa 6ebf251af9198ac93aeac4f30522f1eca9c18d6551e4149a278b9ab5c5f8cb59 731d03f0540e86f0b2f93ae1ab0cd366aeeba5823ee020cb6928588bc03e8e35 7337785fe81e9aea5f752102a2156cf6b0984193ae8acd7ee9496e158a296f29 74018c6d6900716a43f8427a5d04704c59e479ab4aeae48ce43dd174ffa778d6 744fff35fa4ea3fbed87f76a6435a12e85ca5aa3615eb4bb9b1d0e063300ca08 74fcbace80eb1cd4feffad2647b5605ff2d1f3e8be29c58216d8ba9cdccf84a2 7681a0f61a657f40db8bc64f6b45bfe00a9c0c6c5cd608b03016c3ee68c9b784 7adb1ac015079389bdcee9ba2273983773c8fb9ae4765145a98dc22af0f81d2b 7c3139a4cf98e803d72cd47db15cfadae228f2fceb3281a00a5e2a5f6df55788 7df118917e2027c2a1023fcb52899fa77a39fb8d4c0370b8451d286e5c78fe58 7e53460c2d7268800a89fcc431461bc2d36edc104650040e375d1d41abfe6cce 81259a89195331ade047eb5c321c5b3c12ce7ded8c92060a048ca06e20c9ba65 818fcdc955328cfc58923ef6815a59136b21245bd3d0c1405eda7d9af6564c7e 8578db9b2175f289c02184185b0bec6e4afec72bacf6bce52bcfe5ddbc8ab01d 870786ae735516c27cee9d4dc307fe011142bab9d8bfea3e4d5f4f2d2f22e98d 8774fc2c4cf2628f606b51610a517d1bf25da331fca3710b42c56fbe2f643515 88ef129b47756c5303e33c817e8a1bd9bd595dc6595fb903d4658a00716230aa 8950905f6cd503a1c7eb4a959377a1fec46dcaa7dd0a108450e9f76661b466f4 898146b258ba89444ee262d8cb83223841fb71e71b1eddfebb0bcc02470d0e2f 8bc05e5a080cb9b26311e5a95be31eee6e184c65ff1dee70a4c9b173ee9720bf 8d4b80b90d805559a9e249cb524bd187ea3ce7bdc92aacc5d2d1faaf78470dcd 8dbbca6ce792c8682e95dde3e8625f2ef6311c6afb38cbbb6775c24d4868d412 91a22261d35da249757ad6ee0cc59a2f7f5fd4ebaf66d14e4de4f84e0d8888bc 91fdfce25f07733b26721295e857c21904e1b9bde76de3d482cdecc7bcab5b8f 926d84ff9cbf9b18df512a40557fe8425d64da0cf8eaa78f19db83ff2701b4a3 935c169a8f6e5bddab7cb0451c0fd115b22d29634ca847866d6cbff0da3de685 94f666a6e084717e5b66b4c57d17c21f0bb4f9165c10e0a194819bd9111747e6 978a302b04ed6aee2c728c3ef58dabd0f7e3efc52de437bb84d809b2348e1ce7 983ceee0949e368f840e4eca3cc56c4746c17ac0d1c0790fed14cc8173791573 98884d8f244cc88e6a2e04802dcf596d51876ab0dd02870f80dbb7e312354ee2 98e2a68c2ab4f07a96a706f41ff58c0d8cc810e6268e7e1c3a5de6cc986b0d49 9947fd8c260e5330fedfedea4fba5387d1bc7e851e0641f803ae6aa408a660a8 9a53309f15e62d5fc2cf22383cb060de2fa8f01933342bd360e1931ea95fc223 9d2a045b673377017e4a2cd38147640ea491fa47cb22888d30b832f3b774cc83 a07915a4544ba1ad7e2657e759425200ee20b0ab8c2b3789bd0d217a1cd0c932 a1b11adfdef6038914ef03ae8267c59d751d23f497d7a218e25ebbef5dc27bfe a2ad98beda7b39e53f9784efc55fe989313bb928a0f99f8aff425bf9aa8c44e0 a46ca1e4130b912fd14df5f785c46f0fd418a13259011cb42697237d359df57e a4eee52541362dbc369757cb48ffdfac0edd5a76fe89697c1989ade1e029a931 a5cc0de3447c20845703f234f208979c1505790e64efe9f9d88c1d1c019e9863 a6d8bff9a353a76716feb0528b28ce69913980e65dead945c11fec89e00d396a a74f03a401dc6fe8060dee1cb12d4a3bde5d0ecd60ca55729a783dfe87acd305 a81e01e18134aa5211972775e0b8796a42ee64081cd9d53a497b86f53aa267ac a9a16b805a2d64d08b485525b267639967fb7a7e2f4a66c27f6795053b95e6da af5851a834ee54495b9825dffc306e961636dab08f61d8bca78d7320b68b2279 b15000e147ac100452ad7764205ffe5465a2ab40cf4fb200a10114b7ee62d1a4 b15e77b163a88cbd4c22d1f3de01eef4dbc4d00e625cea485edea5f224c068fe b22d334a1f9ef5510a9b883308269386c63de36a68bc1a4bf190b5caa1ee0316 b2afb087b970aadecfbdb40a4f33b73b77df50b526f166dfb7d5817c750f07c8 b2b86eab3e8c356706cf19fa58e9f0fa13bbf060ebcf90b4b7de992f982714fd b2ea7c1e739249d8fac9c569106e235df09d22e0cc6614cf2a5a27799eab73dd b374cdf5bbd5114a69a347e6cb83bc6f9a242fc717b81db26810412ed90e9dea b5acac1154d97b2b25bba88ea90ccabc4600a5a641bb2c9487df3d5b52e660a0 b69cf4e492043d8235584c4fe43b0a381c9a15830ee598339313b5ddb005f6f9 b7d2d7817645c6db10a893e3a4694e2ad1fd385b736ffa8fff200eec15006aa5 b84fc1368be897e2a3e1db5d7385812116235865addfc39d0d01e554f2a592dd b88337fd0d37b2eb4ae6d8c7d8546e0091bbdb197cd4655a0b742441eabc5778 ba3e3a1c76e02ede7d0c3e3839756ac5185a3d4bb517b81f139b49e487bca615 c111a90c3500b4f0b14ed22e65d0548087e3e14d242da7b485b756916c3144ca c1f30b569e065762c2e626d3dd9b5a04e88e6c38c4a48a5b61c2e69804d0b8f1 c28d8712e01b9c13525131b15de2766249a2cd87dcb7d540239d935d2cdaf46c c4b2f06411afea935aa27ceefb2261d1792c81a963923ae77c9b6cc4bf7bdc3b c4fa6bc1b8340ca8ba5b5b7aca06b44ad132c9f1fcf64f3d389e93c1998fa709 c4fdea574067ee0367ff796656121994f97870d55df842be7150ff3c9b5250ea c6023997f58f3ec96b1b326615e9a3fe0ba90a5c995d111f9a76dcbe4b5ac152 c88ea81ef66c2542eb37ec5e0213a3e2ee0889731ebd2fa428dae6839fa426f6 c97e909403d28f0c4c5cdad9b596fbfa4bd00bf029270e4a28f2e7c3aef8168b cac7c5e1b121b280ad8474f27eb672e9324acc4d04513b1f21dd85113e5838e0 cc77b1ae9df3c03a828124f407d8d425c682e1fb9bb0e45d95ccf75119d0428f cdebdada938d65d33e98da28be3190b7016af44417d6bf01e206095a00704e1e ce1af46680272a7d907c025be96ed6d833340c82b563debc77959d9d6b422b80 cefafd126170bfeb987da2527cd5b7353879760206fb781df90c6890fad9561a cfb634312a99b8cc9fd4fd46a99d15c6c4128a0302ee748fd326cbba83e82fed d0326fdfcf2c94e8ad0608b235d4d9894b6280fa7111b59e82c68c201870dced d0b5abedc3469eb380566769f2e0ebb01762f8013ea2a58f8e496ec67e7bf4af d384371f3bbe444908a57a720b1d96fe305e1608fcd8ab97f40020ad3cdc5cfd d42da366e87484df251cd8dc7a036c8aab6bfd89a686cbb3acfedf8408cb4f23 d894b98dd944958ece846a33992557451af31f699bd8f8caa9e569b76e1da235 d9c3ef450f19b880396e1a3d3e70263e4a395bfe4986c872bd8f09d16fea7959 d9cc91f4b82c1c692c954c909e11f9bdb2c32c1d002a7c0d0f31953bab46a958 db8d3af5e01fb262be741a15e731779ab2169e5a3d4cc2c9e374db62f1a95dc3 dd463d78629ae4c712e7df63a397687cbcce1c7d923c9374d4813deaa363b27d e022064cce7ee57b109d21511302a785521e08c21cd201625cf525e98401eceb e0479953372e8c64ac94d53b62df8250780a364e6da2b9b02f01feeb2808a61c e0ea24ce9c8fdfe27fce3c03d031ee2640789a85b59990dd143ca993a7faafd9 e6f0fc64d1dac1abbc599e6d93b15915f4ea83f57c804ec7b499ebb04743c931 e835ab3a696b56d4c01e6cad636872c5f72107c37631d90a93d15581b55636a5 e882e5336f1b5a55cdeb3674b1b4057c9885b65fb393b8b6d636429a3209f2b3 eaed367e096d06e98221df764c71df2e9f15998727a0b04223696beaf977f518 eb52d27fdc49a7a2cfbb176c04d1262053715f41bf9a3cc50f7f80f67876648b ef73b57ac2f9903bc3dc2f219c8281cf086073e4476bf3bd83e7cffd9f3e9916 f01f8fe708cb19ad6e1efb7daa1e578fbdb9807a4fb02cc1378e77beea76584b f2dfc3fbf30ef7e11beae74d8a50c14eea3de4367735c671c7925ebe2bc180f8 f2fb7818916ab335c15baaf25c54e6c63753bae36a2e5b984699b4ed13a1956e f514e8b33495a0e323467bea202f7c46ca8f8e0c221d21d751a5afa57cbd2a20 f713d69e93246d8ad6c92ca2ca919c1e9f6adaf44fe32af906fdd2f8c41b0155 f7ab9bf6597b5a42307a2c3275b12f70532061a4f35deaf0d951d7d7768de63c f7c293667d9f22a732add34e7c4f916c96dfc5f180e618663a82fd978cef6fc8 f7d659407dd13341fa4155887cc8644f9a25c9f5c9b7edad27ab33cdb3dcbe27 f8dd2ac9ff3f00664c47a782af513a67251dca96d1f276168243496e2b7f1c22 f95da78cc265fff22d59cf3e4954557730773596728e6aa13217d70fd87c4499 fecb1362df9f4fd133c2468f98b410574cabad0c47a5972769d1d7eaf9ccaf2e

SWF artifacts

0b5afde36d15920f21058d6e44fa675e727fe1b07ef507d514f7388badf07a70 0f16396665e8d3818c548f66b0309dfff778a390bb9bf0204bf24108d41ae7db 22ababfeaf1a949e8dce365982aa66adae34eabc578a572c8afa23002b70318a 2b6feaadff6c8c27a8b4fda0246a030329b8dbe1561499f33850d0e7e9b177d6 4517964cb2afbb6f4f51fedd8a5eb68cb43d3d46f5c79066a7fb036e6802903f 4df2ee04ebad564a81bc7fb45c95882e1c73042cc8a464e8ffcd537a94ac0acc 584852f8c41ea7d1a9a91f7f59e807b82466ca26595e40c21fa4ab937d244cde 630071174991d20599032727c9b104f1ae4bbd42420505238782397dcc63b611 86af94494a9123e507f6d3fbb0365ba348391be35ca75be02c5c0da0f8bd2317 8bcfefefb4946c3e19a44cdb16be869d4083e8f07bf202124adab1d53a421d36 92fbe32ad599ee55ebb11d8268d870ea10ea911d5a6e6e58f271f71d8bc36c7b 990b24b59b543b03e449b0b0f997013635c553dbe7b31957e965c661e8505dbd b17e2f000dceb0142c95ff366d1f8c9c823e9dbaeefc449839b9e65765d480b9 bc4432594a60519b60ef93752b88864a8d67c96f5609417939632b93fd40b674 c5917a0f4f7e499d84d4db76a4202b9dddf7abde51ca0c7467984706e3f94190 cbe294734f54e9cb9ae9fb55a202e3cc3d98231d2b017f380ecb43edab3da723 d84920444e165acdc71972691451bfe47938e463418fe9473c95ff8626ed1db2

JS sample

var _____WB$wombat$assign$function_____ = function (name) {
  return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name];
};
if (!self.__WB_pmw) {
  self.__WB_pmw = function (obj) {
    this.__WB_source = obj;
    return this;
  }
} {
  let window = _____WB$wombat$assign$function_____("window");
  let self = _____WB$wombat$assign$function_____("self");
  let document = _____WB$wombat$assign$function_____("document");
  let location = _____WB$wombat$assign$function_____("location");
  let top = _____WB$wombat$assign$function_____("top");
  let parent = _____WB$wombat$assign$function_____("parent");
  let frames = _____WB$wombat$assign$function_____("frames");
  let opener = _____WB$wombat$assign$function_____("opener");

  var ms = "دريافتی",
    lc = "تهيه متن",
    mn = "بردازش در جريان است...لطفا صبر كنيد",
    lt = "تهيه متن",
    ne = "پاسخ",
    kf = "خروج",
    mb = "حذف",
    mv = "دريافتی",
    nt = "ارسال",
    ig = "ثبت غلط. جهت تجديد ثبت صفحه را بازآوری کنيد",
    hs = "غير قابل اجرا. خطا در اتّصال",
    ji = "غير قابل اجرا. خطا در اتّصال",
    ie = "غير قابل اجرا. خطا در اتّصال",
    gc = "سوار کردن تکميل شد",
    gz = "مطمئنيد که ميخواهيد پيام را حذف کنيد؟",
    rk = "DAF06B8EC9EFA410DF2CD1F637860E4AF5734A58AAFE2C3B0EA2BE41A79CAF5B",
    ta = "http://www.iraniangoals.com/cgi-bin/goal.cgi",
    sz = "17FA5",
    sy = "69C8BC225D019BFD65EF6F6CE124F3975AFA439365105A8E08829421272B400F5D0A1C2E47EFE910C7F3C51D8FE65F2BC54E8768AFF67B82D03C7D8494045120C58C5FAEAE5071E925BCAD4F60A401CA135364452103A60AAB076077433841F09EB6811B2C287FCAB786CF1544F46F6850F97D76A9A83E2D67D1EEB050512509",
    rg = "b",
    qk = "dat",
    rd = "mdat",
    lw = false,
    _loginPrompt = 'ثبت',
    nl = 'images/1.png',
    lu = 'images/2.gif',
    nk = 'images/3.gif',
    mk = 'images/4.gif',
    kj = 'images/5.gif',
    ni = 'images/6.gif',
    og = 'images/7.gif';

  function mj() {
    document.getElementById(displayDiv)
      .innerHTML = "";
    var bp = "<form onSubmit='javascript:func1()'><table>" + "<tr><td colspan='2'>" + _loginPrompt + "&nbsp;&nbsp;<input type='password' id='" + ok + "' size='20'/ value=''></td>" + "<td colspan='2'><center><a href='javascript:func1()'><img src=" + nl + " alt='OK' border='0'/></a></center></td></tr>" + "</table></form>";
    document.getElementById(displayDiv)
      .innerHTML = bp;
  };

  function qy() {
    this.de = function (m) {
      var bh, b = "";
      if (!m) {
        return;
      };
      var bg = [],
        ay = [],
        ev = 0,
        ae, f = 0;
      while (f < m.length) {
        ev = 0;
        bg[0] = m[f];
        f++;
        if (f < m.length) {
          bg[1] = m[f];
          f++;
          if (f < m.length) {
            bg[2] = m[f];
            f++;
          } else {
            ev = 1;
            bg[2] = 0x00;
            f++;
          };
        } else {
          ev = 2;
          bg[1] = 0x00;
          bg[2] = 0x00;
          f += 2;
        };
        ay[0] = ((bg[0] >> 2) & 0x3f);
        ay[1] = (((bg[0] << 4) & 0x30) | ((bg[1] >> 4) & 0x0f));
        ay[2] = (((bg[1] << 2) & 0x3c) | ((bg[2] >> 6) & 0x03));
        ay[3] = (bg[2] & 0x3f);
        for (ae = 0; ae < (4 - ev); ae++) {
          bh = this.pb(ay[ae]);
          b += String.fromCharCode(bh);
        };
        for (ae = 0; ae < ev; ae++) {
          b += "=";
        };
      };
      return b;
    };
    this.dt = function (base64Str) {
      var b = [],
        ay = dc(base64Str),
        ej = [],
        at = [],
        dg = 0,
        f = 0;
      while (f < ay.length) {
        dg = 0;
        at[0] = this.ff(ay[f]);
        f++;
        at[1] = this.ff(ay[f]);
        f++;
        at[2] = this.ff(ay[f]);
        f++;
        at[3] = this.ff(ay[f]);
        f++;
        if (at[0] == -1) {
          throw new Error("B64 D.1");
        };
        if (at[1] == -1) {
          throw new Error("B64 D.2");
        };
        if (at[2] == -1) {
          if (f < ay.length) {
            throw new Error("B64 D.3");
          };
          dg = 2;
        } else if (at[3] == -1) {
          if (f < ay.length) {
            throw new Error("B64 D.4");
          };
          dg = 1;
        };
        ej[0] = (((at[0] << 2) & 0xfc) | ((at[1] >> 4) & 0x03));
        b[b.length] = ej[0];
        if (dg < 2) {
          ej[1] = (((at[1] << 4) & 0xf0) | ((at[2] >> 2) & 0x0f));
          b[b.length] = ej[1];
        };
        if (dg < 1) {
          ej[2] = (((at[2] << 6) & 0xc0) | (at[3] & 0x3f));
          b[b.length] = ej[2];
        };
      };
      return b;
    };
    this.pb = function (byteValue) {
      var b = 61;
      if ((byteValue >= 0) && (byteValue <= 25)) {
        b = (byteValue + 65);
      } else if ((byteValue >= 26) && (byteValue <= 51)) {
        b = (byteValue - 26 + 97);
      } else if ((byteValue >= 52) && (byteValue <= 61)) {
        b = (byteValue - 52 + 48);
      } else if (byteValue == 62) {
        b = 43;
      } else if (byteValue == 63) {
        b = 47;
      };
      return b;
    };
    this.ff = function (byteValue) {
      var b = -1;
      if ((byteValue >= 65) && (byteValue <= 90)) {
        b = (byteValue - 65);
      } else if ((byteValue >= 97) && (byteValue <= 122)) {
        b = (byteValue - 97 + 26);
      } else if ((byteValue >= 48) && (byteValue <= 57)) {
        b = (byteValue - 48 + 52);
      } else if (byteValue == 43) {
        b = 62;
      } else if (byteValue == 47) {
        b = 63;
      };
      return b;
    };
  };
  var bt = 256,
    ab = 128;

  function funcCC1() {
    ng();
  };

  function funcCC2() {
    nh();
  };
  var jk = [, , , , [, , , , 10, , 12, , 14], , [, , , , 12, , 12, , 14], , [, , , , 14, , 14, , 14]],
    ih = [, , , , [, 1, 2, 3], , [, 1, 2, 3], , [, 1, 3, 4]],
    sp = [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91],
    hh = [99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 22],
    nb = [82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, 251, 124, 227, 57, 130, 155, 47, 255, 135, 52, 142, 67, 68, 196, 222, 233, 203, 84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66, 250, 195, 78, 8, 46, 161, 102, 40, 217, 36, 178, 118, 91, 162, 73, 109, 139, 209, 37, 114, 248, 246, 100, 134, 104, 152, 22, 212, 164, 92, 204, 93, 101, 182, 146, 108, 112, 72, 80, 253, 237, 185, 218, 94, 21, 70, 87, 167, 141, 157, 132, 144, 216, 171, 0, 140, 188, 211, 10, 247, 228, 88, 5, 184, 179, 69, 6, 208, 44, 30, 143, 202, 63, 15, 2, 193, 175, 189, 3, 1, 19, 138, 107, 58, 145, 17, 65, 79, 103, 220, 234, 151, 242, 207, 206, 240, 180, 230, 115, 150, 172, 116, 34, 231, 173, 53, 133, 226, 249, 55, 232, 28, 117, 223, 110, 71, 241, 26, 113, 29, 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27, 252, 86, 62, 75, 198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244, 31, 221, 168, 51, 136, 7, 199, 49, 177, 18, 16, 89, 39, 128, 236, 95, 96, 81, 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239, 160, 224, 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, 23, 43, 4, 126, 186, 119, 214, 38, 225, 105, 20, 99, 85, 33, 12, 125];

  function gm(hn, lh) {
    var bh = hn.slice(0, lh);
    hn = hn.slice(lh)
      .concat(bh);
    return hn;
  };
  var my = bt / 32,
    sr = ab / 32,
    qc = jk[my][sr];

  function rq(oh) {
    oh <<= 1;
    return ((oh & 0x100) ? (oh ^ 0x11B) : (oh));
  };

  function da(ax, di) {
    var pp, b = 0;
    for (pp = 1; pp < 256; pp *= 2, di = rq(di)) {
      if (ax & pp) b ^= di;
    };
    return b;
  };

  function je(h, ex) {
    var to;
    if (ex == "e") to = hh;
    else to = nb;
    for (var f = 0; f < 4; f++)
      for (var ae = 0; ae < sr; ae++) h[f][ae] = to[h[f][ae]];
  };

  function hm(h, ex) {
    for (var f = 1; f < 4; f++)
      if (ex == "e") h[f] = gm(h[f], ih[sr][f]);
      else h[f] = gm(h[f], sr - ih[sr][f]);
  };

  function lg(h, ex) {
    var ko = [];
    for (var ae = 0; ae < sr; ae++) {
      for (var f = 0; f < 4; f++) {
        if (ex == "e") ko[f] = da(h[f][ae], 2) ^ da(h[(f + 1) % 4][ae], 3) ^ h[(f + 2) % 4][ae] ^ h[(f + 3) % 4][ae];
        else ko[f] = da(h[f][ae], 0xE) ^ da(h[(f + 1) % 4][ae], 0xB) ^ da(h[(f + 2) % 4][ae], 0xD) ^ da(h[(f + 3) % 4][ae], 9);
      };
      for (var f = 0; f < 4; f++) h[f][ae] = ko[f];
    };
  };

  function cp(h, bi) {
    for (var ae = 0; ae < sr; ae++) {
      h[0][ae] ^= (bi[ae] & 0xFF);
      h[1][ae] ^= ((bi[ae] >> 8) & 0xFF);
      h[2][ae] ^= ((bi[ae] >> 16) & 0xFF);
      h[3][ae] ^= ((bi[ae] >> 24) & 0xFF);
    };
  };

  function dy(x) {
    var o = new Array(),
      bh;
    my = bt / 32;
    sr = ab / 32;
    qc = jk[my][sr];
    for (var ae = 0; ae < my; ae++) o[ae] = (x[4 * ae]) | (x[4 * ae + 1] << 8) | (x[4 * ae + 2] << 16) | (x[4 * ae + 3] << 24);
    for (ae = my; ae < sr * (qc + 1); ae++) {
      bh = o[ae - 1];
      if (ae % my == 0) bh = ((hh[(bh >> 8) & 0xFF]) | (hh[(bh >> 16) & 0xFF] << 8) | (hh[(bh >> 24) & 0xFF] << 16) | (hh[bh & 0xFF] << 24)) ^ sp[Math.floor(ae / my) - 1];
      else if (my > 6 && ae % my == 4) bh = (hh[(bh >> 24) & 0xFF] << 24) | (hh[(bh >> 16) & 0xFF] << 16) | (hh[(bh >> 8) & 0xFF] << 8) | (hh[bh & 0xFF]);
      o[ae] = o[ae - my] ^ bh;
    };
    return o;
  };

  function ls(h, bi) {
    je(h, "e");
    hm(h, "e");
    lg(h, "e");
    cp(h, bi);
  };

  function mi(h, bi) {
    cp(h, bi);
    lg(h, "d");
    hm(h, "d");
    je(h, "d");
  };

  function of(h, bi) {
    je(h, "e");
    hm(h, "e");
    cp(h, bi);
  };

  function jh(h, bi) {
    cp(h, bi);
    hm(h, "d");
    je(h, "d");
  };

  function jd(u, o) {
    var f;
    if (!u || u.length * 8 != ab) {
      throw new Error("CC E.1");
    };
    if (!o) {
      throw new Error("CC E.2");
    };
    u = lf(u);
    cp(u, o);
    for (f = 1; f < qc; f++) {
      ls(u, o.slice(sr * f, sr * (f + 1)));
    };
    of(u, o.slice(sr * qc));
    return jm(u);
  };

  function nq(u, o) {
    var f;
    if (!u || u.length * 8 != ab) {
      throw new Error("CC D.1");
    };
    if (!o) {
      throw new Error("CC D.2");
    };
    u = lf(u);
    jh(u, o.slice(sr * qc));
    for (f = qc - 1; f > 0; f--) {
      mi(u, o.slice(sr * f, sr * (f + 1)));
    };
    cp(u, o);
    return jm(u);
  };

  function lf(fv) {
    var h = new Array();
    if (!fv || fv.length % 4) return;
    h[0] = new Array();
    h[1] = new Array();
    h[2] = new Array();
    h[3] = new Array();
    for (var ae = 0; ae < fv.length; ae += 4) {
      h[0][ae / 4] = fv[ae];
      h[1][ae / 4] = fv[ae + 1];
      h[2][ae / 4] = fv[ae + 2];
      h[3][ae / 4] = fv[ae + 3];
    };
    return h;
  };

  function jm(iq) {
    var b = new Array();
    for (var ae = 0; ae < iq[0].length; ae++) {
      b[b.length] = iq[0][ae];
      b[b.length] = iq[1][ae];
      b[b.length] = iq[2][ae];
      b[b.length] = iq[3][ae];
    };
    return b;
  };

  function si(ac) {
    var ci = ab / 8,
      f, am = ci - (ac.length % ci);
    for (f = 0; f < am - 1; f++) {
      ac[ac.length] = am;
    };
    ac[ac.length] = am;
    return ac;
  };

  function ps(ac) {
    var ci = ab / 8,
      f, am = ac[ac.length - 1];
    if ((am > ci) || (am > ac.length)) {
      throw new Error("CC U.1");
    };
    ac = ac.slice(0, ac.length - am);
    return ac;
  };

  function el(qg) {
    var f, jz = new Array();
    for (f = 0; f < qg; f++) jz[f] = Math.round(Math.random() * 255);
    return jz;
  };

  function ki(q, x, ak) {
    var o, f, as, ci = ab / 8,
      qp, av;
    if (!q || !x) {
      throw new Error("CC RE.1");
    };
    if (x.length * 8 != bt) {
      throw new Error("CC RE.2");
    };
    if (!ak) {
      ak = "CBC";
    };
    if (ak == "CBC") {
      qp = new Array();
      av = new Array();
    } else {
      ak = "ECB";
      qp = new Array();
    };
    q = si(q);
    o = dy(x);
    for (var u = 0; u < q.length / ci; u++) {
      as = q.slice(u * ci, (u + 1) * ci);
      if (ak == "CBC") {
        for (var f = 0; f < ci; f++) {
          as[f] ^= av[f];
        };
      };
      av = jd(as, o);
      var ae;
      for (ae = 0; ae < av.length; ae++) {
        qp[qp.length] = av[ae];
      };
    };
    return qp;
  };
  var e;

  function hl(q, x, ak, a) {
    e = new Object();
    var r;
    if (!q || !x) {
      a(false, "CC RE.1");
    };
    if (x.length * 8 != bt) {
      a(false, "CC RE.2");
    };
    if (!ak) {
      ak = "CBC";
    };
    if (ak == "CBC") {
      r = new Array();
    } else {
      ak = "ECB";
      r = new Array();
    };
    e.a = a;
    e.r = r;
    e.o = dy(x);
    e.ci = ab / 8;
    e.q = si(q);
    e.av = new Array();
    e.ak = ak;
    e.blockCnt = 0;
    e.bw = 16;
    if (window && window.setTimeout) {
      setTimeout('funcCC2()', 10);
    } else {
      funcCC2();
    };
  };

  function nh() {
    if (e.blockCnt < (e.q.length / e.ci)) {
      var as;
      for (var ln = 0;
        ((ln < e.bw) && (e.blockCnt < (e.q.length / e.ci))); ln++) {
        as = e.q.slice(e.blockCnt * e.ci, (e.blockCnt + 1) * e.ci);
        if (e.ak == "CBC") {
          for (var f = 0; f < e.ci; f++) {
            as[f] ^= e.av[f];
          };
        };
        e.av = jd(as, e.o);
        var ae;
        for (ae = 0; ae < e.av.length; ae++) {
          e.r[e.r.length] = e.av[ae];
        };
        e.blockCnt++;
      };
      if (window && window.setTimeout) {
        setTimeout('funcCC2()', 1);
      } else {
        funcCC2();
      };
    } else {
      e.a(e.r);
    };
  };

  function gl(r, x, ak, mh) {
    var o, ci = ab / 8,
      q = new Array(),
      as, u, av = new Array(),
      cs;
    if (!r || !x) {
      throw new Error("CC RD.1");
    };
    if (x.length * 8 != bt) {
      throw new Error("CC RD.2");
    };
    if (!ak) {
      ak = "CBC";
    };
    o = dy(x);
    for (u = 0; u < (r.length / ci); u++) {
      cs = r.slice(u * ci, (u + 1) * ci);
      as = nq(cs, o);
      if (ak == "CBC") {
        for (var f = 0; f < ci; f++) {
          as[f] = as[f] ^ av[f];
        };
        av = cs;
      };
      var ae;
      for (ae = 0; ae < as.length; ae++) {
        q[q.length] = as[ae];
      };
    };
    if ((mh == null) || mh) {
      q = ps(q);
    };
    return q;
  };
  var d;

  function hk(r, x, ak, a) {
    d = new Object();
    if (!r || !x) {
      a(false, "CC RD.1");
    };
    if (x.length * 8 != bt) {
      a(false, "CC RD.2");
    };
    if (!ak) {
      ak = "CBC";
    };
    d.a = a;
    d.r = r;
    d.o = dy(x);
    d.ci = ab / 8;
    d.q = new Array();
    d.av = new Array();
    d.ak = ak;
    d.blockCnt = 0;
    d.bw = 16;
    if (window && window.setTimeout) {
      setTimeout('funcCC1()', 10);
    } else {
      funcCC1();
    };
  };

  function ng() {
    if (d.blockCnt < (d.r.length / d.ci)) {
      var as, cs;
      for (var ln = 0;
        ((ln < d.bw) && (d.blockCnt < (d.r.length / d.ci))); ln++) {
        cs = d.r.slice(d.blockCnt * d.ci, (d.blockCnt + 1) * d.ci);
        as = nq(cs, d.o);
        if (d.ak == "CBC") {
          for (var f = 0; f < d.ci; f++) {
            as[f] = as[f] ^ d.av[f];
          };
          d.av = cs;
        };
        var ae;
        for (ae = 0; ae < as.length; ae++) {
          d.q[d.q.length] = as[ae];
        };
        d.blockCnt++;
      };
      if (window && window.setTimeout) {
        setTimeout('funcCC1()', 1);
      } else {
        funcCC1();
      };
    } else {
      try {
        d.q = ps(d.q);
        d.a(d.q);
      } catch (hy) {
        d.a(false, hy);
      };
    };
  };

  function gs(x, ak) {
    this.x = x;
    this.ak;
    if (!ak) {
      this.ak = "CBC";
    } else {
      this.ak = ak;
    };
    this.de = function (m) {
      return ki(m, this.x, this.ak);
    };
    this.dt = function (m) {
      return gl(m, this.x, this.ak);
    };
    this.na = function (m, a) {
      if (!a) {
        return this.de(m);
      };
      if ((typeof a)
        .toLowerCase() != "function") {
        throw new TypeError();
      };
      return hl(m, this.x, this.ak, a);
    };
    this.mz = function (m, a) {
      if (!a) {
        return this.dt(m);
      };
      if ((typeof a)
        .toLowerCase() != "function") {
        throw new TypeError();
      };
      hk(m, this.x, this.ak, a);
    };
  };

  function pr() {
    this.de = function (m) {
      var bh, b = "";
      if (!m) {
        return;
      };
      for (var f = 0; f < m.length; f++) {
        sh = m[f] & 0xff;
        b += ((sh < 16) ? "0" : "") + sh.toString(16);
      };
      return b;
    };
    this.dt = function (fl) {
      var m = [];
      if ((fl.length % 2) != 0) {
        throw new Error("H D.1");
      };
      if (fl.indexOf("0x") == 0 || fl.indexOf("0X") == 0) {
        fl = fl.substring(2);
      };
      for (var f = 0; f < fl.length; f += 2) {
        var ma = parseInt(fl.slice(f, f + 2), 16);
        if (isNaN(ma)) {
          throw new Error("H D.2");
        };
        m[Math.floor(f / 2)] = ma;
      };
      return m;
    };
  };

  function kw() {
    this.gh = [];
    this.fn = "txt";
    this.jg = el(1)[0];
    this.hg = (new Date())
      .getTime() / 1000;
    this.kq = function () {
      return dn(this.gh);
    };
    this.gv = function (unicodeString) {
      this.gh = dp(unicodeString);
    };
    this.kp = function () {
      return (new Date(this.hg * 1000));
    };
    this.qe = function (dateObj) {
      if (dateObj) {
        this.hg = dateObj.getTime() / 1000;
      } else {
        var po = new Date();
        this.hg = po.getTime() / 1000;
      };
    };
    this.qd = function (coderKey, a) {
      if ((typeof a)
        .toLowerCase() != "function") {
        throw new TypeError();
      };
      var hd = new gs(coderKey),
        ar = [],
        tc = [],
        b = [],
        f;
      for (f = 0; f < 4; f++) {
        ar[f] = (this.hg >> (f * 8)) & 0xFF;
      };
      var hc = this.fn.split("");
      for (f = 0; f < hc.length; f++) {
        ar[ar.length] = hc[f].charCodeAt(0) & 0xFF;
      };
      ar = hd.de(ar);
      b[0] = ar.length & 0xFF;
      b = b.concat(ar);
      var ef = ga;
      ef.b = b;
      ef.a = a;
      hd.na(this.gh, ef);
    };
    this.om = function (bo, coderKey, a) {
      if ((a) && ((typeof a)
          .toLowerCase() != "function")) {
        throw new TypeError();
      };
      var hd = new gs(coderKey),
        f, jp = bo[0],
        ar = [];
      for (f = 0; f < jp; f++) {
        ar[f] = bo[f + 1];
      };
      ar = hd.dt(ar);
      this.hg = 0;
      for (f = 0; f < 4; f++) {
        this.hg = this.hg | (ar[f] << (f * 8));
      };
      this.fn = "";
      for (f = 0; f < ar.length - 4; f++) {
        this.fn += String.fromCharCode(ar[f + 4]);
      };
      var qb = bo.length - jp - 1,
        qa = jp + 1,
        pn = [];
      for (f = 0; f < qb; f++) {
        pn[f] = bo[f + qa];
      };
      var ee = fg;
      ee.mParent = this;
      ee.a = a;
      hd.mz(pn, ee);
    };
  };

  function fg(k, ah) {
    if (!k) {
      if (arguments.callee.a) {
        arguments.callee.a(false, ah);
      };
      return;
    };
    arguments.callee.mParent.gh = k;
    if (arguments.callee.a) {
      arguments.callee.a(arguments.callee.mParent);
    };
  };

  function ga(k, ah) {
    if (!k) {
      arguments.callee.a(false, ah);
      return;
    };
    arguments.callee.b = arguments.callee.b.concat(k);
    arguments.callee.a(arguments.callee.b);
  };

  function oy(m) {
    var b = "";
    for (var f = 0; f < m.length; f++) {
      b += String.fromCharCode(m[f]);
    };
    return b;
  };

  function dc(kh) {
    var f, m = [],
      l;
    for (f = 0; f < kh.length; f++) {
      l = kh.charCodeAt(f);
      if (l <= 0xFF) {
        m[m.length] = l;
      } else {
        var hb = [];
        while (l != 0) {
          hb[hb.length] = l & 0xFF;
          l = l >> 8;
        };
        var ae;
        for (ae = (hb.length - 1); ae >= 0; ae--) {
          m[m.length] = hb[ae];
        };
      };
    };
    return m;
  };

  function dp(dr) {
    var f, j = [],
      l;
    for (f = 0; f < dr.length; f++) {
      l = dr.charCodeAt(f);
      if (l <= 0x7F) {
        j[j.length] = l;
      } else if (l <= 0x07FF) {
        j[j.length] = (l >> 6) | 0xC0;
        j[j.length] = (l & 0x3F) | 0x80;
      } else if (l <= 0xFFFF) {
        j[j.length] = (l >> 12) | 0xE0;
        j[j.length] = ((l >> 6) & 0x3F) | 0x80;
        j[j.length] = (l & 0x3F) | 0x80;
      } else {
        j[j.length] = (l >> 18) | 0xF0;
        j[j.length] = ((l >> 12) & 0x3F) | 0x80;
        j[j.length] = ((l >> 6) & 0x3F) | 0x80;
        j[j.length] = (l & 0x3F) | 0x80;
      };
    };
    return j;
  };

  function dn(j) {
    var dr = "",
      f = 0,
      bc, l, value;
    while (f < j.length) {
      value = j[f];
      if ((value & 0x80) == 0x00) {
        bc = 1;
      } else if ((value & 0xE0) == 0xC0) {
        bc = 2;
      } else if ((value & 0xF0) == 0xE0) {
        bc = 3;
      } else if ((value & 0xF8) == 0xF0) {
        bc = 4;
      } else {
        throw new Error("SU UBAS.1");
      };
      if ((j.length - f) < bc) {
        throw new Error("SU UBAS.2");
      };
      var ae;
      for (ae = 1; ae < bc; ae++) {
        if ((j[f + ae] & 0xC0) != 0x80) {
          throw new Error("SU UBAS.3");
        };
      };
      if (bc == 1) {
        l = j[f];
      } else if (bc == 2) {
        l = j[f + 1] & 0x3F;
        l += (j[f] & 0x1F) << 6;
      } else if (bc == 3) {
        l = j[f + 2] & 0x3F;
        l += (j[f + 1] & 0x3F) << 6;
        l += (j[f] & 0x0F) << 12;
      } else if (bc == 4) {
        l = j[f + 3] & 0x3F;
        l += (j[f + 2] & 0x3F) << 6;
        l += (j[f + 2] & 0x3F) << 12;
        l += (j[f] & 0x07) << 18;
      };
      dr += String.fromCharCode(l);
      f += bc;
    };
    return dr;
  };
  var displayDiv, ok = "pw",
    gp = "msgList",
    mu = "msgForm",
    iy = "message",
    dq = "",
    eo = "compose",
    bb = "",
    dd = 0,
    bm, pm = "",
    ht = "";

  function func0() {
    mf();
  };

  function func1() {
    nf();
  };

  function func2() {
    dl();
    cg(false);
  };

  function func3() {
    dl();
    lq();
  };

  function func4() {
    fa();
  };

  function func5() {
    qw();
  };

  function func6(qx) {
    pq(qx);
  };

  function func7() {
    fu();
    ek();
  };

  function func8() {
    eq();
  };

  function func9() {
    kv();
  };

  function nf() {
    pm = document.getElementById(ok)
      .value;
    ht = ic();
    document.getElementById(displayDiv)
      .innerHTML = "";
    var bp = "<h2>" + mn + "</h2>";
    document.getElementById(displayDiv)
      .innerHTML = bp;
    window.setTimeout(rp, 1);
  };

  function ic() {
    var rm = new pr(),
      sg = rm.dt(rk),
      en = new oc(),
      qn = dc(pm),
      qm = en.gd(qn, 1);
    try {
      return gl(sg, qm, "CBC", false);
    } catch (hy) {
      return (new Array());
    };
  };

  function rp() {
    var tl = dc(pm);
    pm = "";
    bm = new oq(ta, tl, ht, rg, sz, sy);
    bm.cl(lr);
  };

  function lr(oe, dh) {
    if (oe) {
      bm.kb(ip);
    } else {
      alert(ig);
      qw();
    };
  };

  function ip(ew, dh) {
    if (ew) {
      ek();
      if (lw) {
        setTimeout('func9()', 300);
      } else {
        gu = true;
      };
    } else {
      alert(hs);
    };
  };

  function kv() {
    var lm = new hv();
    lm.kd = rd;
    var mt = lm.nv();
    bm.eq(mt, fb);
  };
  var gu = false;

  function fb() {
    gu = true;
  };

  function ek() {
    var em, pz = by();
    for (var f = 0; f < pz.length; f++) {
      var sf = pz[f];
      em += "<option value='" + f + "'";
      if (f == dq) {
        em += " selected";
      };
      var po = sf.kp();
      em += ">";
      try {
        em += po.toLocaleDateString();
      } catch (hy) {
        em += po;
      };
      em += "</option>";
    };
    var bp = "<h2>" + ms + "</h2>" + "<table>" + "<tr><td colspan='2' align='right'>" + "<table><tr>" + "<td><a href='javascript:func2()'><img src=" + lu + " border='0'/>" + lt + "</a></td>" + "<td><a href='javascript:func3()'><img src=" + nk + " border='0'/>" + ne + "</a></td>" + "<td><a href='javascript:func4()'><img src=" + mk + " border='0'/>" + mb + "</a></td>" + "<td><a href='javascript:func5()'><img src=" + kj + " border='0'/>" + kf + "</a></td>" + "</tr></table>" + "</td></tr>" + "<tr>" + "<td><form id='" + mu + "'>" + "<select name='" + gp + "' size='15' onchange='javascript:func6(" + gp + ".value)'>" + em + "</select>" + "</form></td>" + "<td>" + "<textarea readonly cols='65' rows='15' id='" + iy + "' wordwrap='hard' class='ro'>" + "</textarea>" + "</td>" + "</tr>" + "</table>";
    document.getElementById(displayDiv)
      .innerHTML = "";
    document.getElementById(displayDiv)
      .innerHTML = bp;
    try {
      pq(dq);
    } catch (hy) {};
  };

  function pq(jg) {
    if (jg == "") {
      jg = 0;
    };
    var tb = by();
    if (tb[jg]) {
      try {
        document.getElementById(iy)
          .value = by()[jg].kq();
      } catch (hy) {
        document.getElementById(iy)
          .value = "";
        throw hy;
      };
    };
  };

  function dl() {
    dq = gx('select', gp, 'name');
  };

  function lq() {
    var bp = io("textarea", iy),
      k = dp(bp);
    if ((k[0] == 0xef) && (k[1] == 0xbb) && (k[2] == 0xbf)) {
      k.splice(0, 3);
      bp = dn(k);
    };
    bb += " \n" + "--------------------\n" + bp + "\n";
    cg(false);
  };

  function cg(pi) {
    var ll = "",
      mr = "",
      mq = "",
      go = "",
      ix = "readonly ";
    if (!pi) {
      ll = "<a href='javascript:func7()'>";
      mr = "<a href='javascript:func8()'>";
      mq = "<a href='javascript:func5()'>";
      go = "</a>";
      ix = "";
    };
    var bp = "<h2>" + lc + "</h2>" + "<table>" + "<tr><td align='right'>" + "<table><tr>" + "<td>" + ll + "<img src=" + ni + " border='0'/>" + mv + go + "</td>" + "<td>" + mr + "<img src=" + og + " border='0'/>" + nt + go + "</td>" + "<td>" + mq + "<img src=" + kj + " border='0'/>" + kf + go + "</td>" + "</tr></table>" + "</td></tr>" + "<tr><td><textarea cols='80' " + ix + "rows='15' id='" + eo + "' wordrap='hard'>" + bb + "</textarea></td></tr>" + "</table>";
    document.getElementById(displayDiv)
      .innerHTML = "";
    document.getElementById(displayDiv)
      .innerHTML = bp;
    var hx = db('textarea', eo, 'id');
    hx.focus();
    if (hx.setSelectionRange) {
      hx.setSelectionRange(dd, dd);
    } else if (hx.createTextRange) {
      var lz = hx.createTextRange();
      lz.collapse();
      lz.moveStart('character', dd);
      lz.moveEnd('character', 0);
      lz.select();
    };
  };

  function fu() {
    bb = io('textarea', eo);
    var hx = db('textarea', eo, 'id');
    hx.focus();
    if (hx.setSelectionRange) {
      dd = hx.selectionStart;
    } else if (hx.createTextRange) {
      var tf = hx.value,
        hr = document.selection.createRange(),
        eb = hr.text,
        kn = '##_CURSORPOS_##';
      hr.text = eb + kn;
      hr.moveStart('character', (0 - eb.length - kn.length));
      var lb = hx.value;
      hr.text = eb;
      var ns = 0;
      for (var f = 0; f <= lb.length; f++) {
        if (lb.charAt(f) == '\r') {
          ns++;
        };
        var bh = lb.substring(f, f + kn.length);
        if (bh == kn) {
          dd = (f - eb.length - ns);
          return;
        };
      };
    };
  };

  function by() {
    return bm.mw();
  };

  function io(hc, jg) {
    return gx(hc, jg, 'id');
  };

  function gx(hc, jg, ph) {
    return db(hc, jg, ph)
      .value;
  };

  function db(hc, jg, ph) {
    var iw = document.getElementById(displayDiv)
      .getElementsByTagName(hc);
    for (var f = 0; f < iw.length; f++) {
      var rl = iw[f];
      if (rl.getAttribute(ph) == jg) {
        return rl;
      };
    };
  };

  function eq() {
    fu();
    if (bb == "") {
      return;
    };
    bb = bb.replace(/\r\n/g, '\n');
    var mt = new kw();
    mt.fn = qk;
    mt.gv(bb);
    cg(true);
    if (!gu) {
      window.setTimeout('func8()', 1000);
      return;
    };
    bm.eq(mt, mg);
  };

  function mg(ew, dh) {
    if (ew) {
      bb = "";
      alert(gc);
      cg(false);
    } else {
      alert(ji);
      cg(false);
    };
  };

  function fa() {
    dl();
    var tb = by();
    if (tb[dq]) {
      if (confirm(gz)) {
        bm.fa(by()[dq].jg, ku);
      };
    };
  };

  function ku(ew, dh) {
    dq = dq - 1;
    if (dq < 0) {
      dq = 0;
    };
    ek();
    if (!ew) {
      alert(ie);
    };
  };

  function qw() {
    document.getElementById(displayDiv)
      .innerHTML = "";
    self.close();
  };

  function mf() {
    mj();
  };
  var ox = 0x12,
    ow = 0x15,
    te = 0x19,
    se = 0x20,
    ov = 0x25;

  function be() {
    this.cx = -1;
    this.eg = -1;
    this.bf = [];
    this.gg = -1;
  };
  var lk = "h",
    gb = "H",
    fd = "b",
    cj = "B",
    jy = 32,
    ea = 16,
    z = 32,
    sd = 100;

  function kt(co, pg) {
    var en = new oc(),
      iv = co.concat(pg);
    return en.gd(iv, 100);
  };

  function jw(co, pg) {
    var en = new oc(),
      f, la = [];
    if (pg.length <= co.length) {
      la = pg;
    } else {
      la = pg.slice(0, co.length);
    };
    var ou = en.gd(la, 100),
      mp = [];
    for (f = 0; f < co.length; f++) {
      mp[f] = (co[f] ^ ou[f % ou.length]) & 0xff;
    };
    return mp;
  };

  function ib(pf) {
    var jz = [];
    for (var f = 0; f < pf; f++) {
      jz[f] = Math.floor(Math.random() * 256);
    };
    return jz;
  };

  function ed(aj, pg) {
    var en = new oc(),
      iv = aj.concat(pg);
    return en.gd(iv, 100);
  };

  function jv(cu, bl, bd, cz, cf, ft) {
    this.cu = cu;
    this.bl = bl;
    this.bd = bd;
    this.cf = cf;
    this.ft = ft;
    this.cc = false;
    this.fm = 0;
    this.hz = -1;
    this.gf = "";
    this.aj = [];
    this.hf = new ju();
    if ((cz == fd) || (cz == cj)) {
      if ((this.cf.length > 0) && (this.ft.length > 0)) {
        this.br = fd;
      } else {
        this.br = cj;
      };
      this.ge = new qy();
    } else {
      if ((this.cf.length > 0) && (this.ft.length > 0)) {
        this.br = lk;
      } else {
        this.br = gb;
      };
      this.ge = new pr();
    };
    this.cl = function (a) {
      if ((typeof a)
        .toLowerCase() != "function") {
        throw new TypeError();
      };
      this.nx(a);
    };
    this.he = function (v, a) {
      if ((typeof a)
        .toLowerCase() != "function") {
        throw new TypeError();
      };
      if (!this.cc) {
        a(false, "SC MC.0");
        return;
      };
      var fc = ed(this.aj, this.bd),
        aa = fc;
      aa[z] = v.cx;
      aa[z + 1] = v.eg;
      if ((v.bf) && (v.bf.length > 0)) {
        aa[z + 2] = v.gg;
        aa = aa.concat(v.bf);
      };
      aa = this.ge.de(aa);
      aa = this.gf + aa;
      var s = hj;
      s.ad = this;
      s.a = a;
      this.hf.gr(this.cu, aa, s);
    };
    this.nx = function (a) {
      var km = jw(this.bl, this.bd);
      if ((this.br == lk) || (this.br == fd)) {
        var kl = ib(jy),
          hd = new gs(kl),
          bv = hd.de(km);
        ii(512);
        var rj = new ob(this.cf, this.cf, this.ft),
          dj = fz;
        dj.ad = this;
        dj.a = a;
        dj.br = this.br;
        dj.bv = bv;
        var nn = new pe();
        nn.jd(rj, kl, dj);
      } else {
        var aa = this.br + this.ge.de(km);
        this.ke(aa, a);
      };
    };
    this.ke = function (aa, a) {
      var s = ia;
      s.ad = this;
      s.a = a;
      this.hf.gr(this.cu, aa, s);
    };
    this.nw = function (a) {
      var gn = this.fm;
      if (this.fm > 255) {
        gn = 255;
      };
      var fc = ed(this.aj, this.bd);
      this.aj = [];
      var aa = fc;
      aa[z] = gn;
      aa = this.ge.de(aa);
      aa = this.gf + aa;
      var s = ec;
      s.ad = this;
      s.a = a;
      this.hf.gr(this.cu, aa, ec);
    };
  };

  function fz(p, dk) {
    if (!p) {
      arguments.callee.a(false, "SC SKCL:" + dk);
      return;
    };
    var br = arguments.callee.br,
      bv = arguments.callee.bv,
      ad = arguments.callee.ad,
      a = arguments.callee.a,
      jx = new pr(),
      hq = jx.dt(p),
      er = [],
      py = hq.length;
    er[0] = py;
    for (var f = 0; f < hq.length; f++) {
      er[1 + f] = hq[f];
    };
    for (var f = 0; f < bv.length; f++) {
      er[1 + py + f] = bv[f];
    };
    var aa = br + ad.ge.de(er);
    ad.ke(aa, a);
  };

  function ia(p, dk) {
    if (!p) {
      arguments.callee.a(false, "SC IS1.0:" + dk);
      return;
    };
    var y;
    try {
      y = arguments.callee.ad.ge.dt(p);
    } catch (hy) {
      arguments.callee.a(false, "SC IS1.1:" + hy);
      return;
    };
    if (y.length < (ea + z)) {
      arguments.callee.a(false, "SC IS1.2");
      return;
    };
    arguments.callee.ad.gf = "";
    var f;
    for (f = 0; f < ea; f++) {
      arguments.callee.ad.gf += String.fromCharCode(y[f] & 0xff);
    };
    arguments.callee.ad.aj = y.slice(ea, y.length);
    arguments.callee.ad.nw(arguments.callee.a);
  };

  function ec(p, dk) {
    if (!p) {
      arguments.callee.a(false, "SC IS2.0:" + dk);
      return;
    };
    var y;
    try {
      y = arguments.callee.ad.ge.dt(p);
    } catch (hy) {
      arguments.callee.a(false, "SC IS2.1:" + hy);
      return;
    };
    if (y.length != z + 1) {
      arguments.callee.a(false, "SC IS3.1");
      return;
    };
    arguments.callee.ad.aj = y.slice(0, z);
    arguments.callee.ad.hz = y[z];
    arguments.callee.ad.cc = true;
    arguments.callee.a(true);
  };

  function hj(p, dk) {
    if (!p) {
      arguments.callee.a(false, "SC MC.1:" + dk);
      return;
    };
    arguments.callee.ad.aj = [];
    var y;
    try {
      y = arguments.callee.ad.ge.dt(p);
    } catch (hy) {
      arguments.callee.a(false, "SC MC.2:" + hy);
      return;
    };
    var bu = new be();
    if (y.length < z) {
      arguments.callee.a(false, "SC MC.3");
      return;
    };
    arguments.callee.ad.aj = y.slice(0, z);
    if (y.length < z + 2) {
      arguments.callee.a(false, "SC MC.3");
      return;
    };
    bu.cx = y[z];
    bu.eg = y[z + 1];
    if (y.length > z + 2) {
      bu.gg = y[z + 2];
      bu.bf = y.slice(z + 3, y.length);
    } else {
      bu.bf = null;
    };
    arguments.callee.a(bu);
  };

  function hv() {
    this.cw = null;
    this.jr = false;
    this.kd = "mdat";
    this.kw = null;
    this.nv = function () {
      if (!this.kw) {
        var sc = new hv(),
          ql = sc.lp();
        this.kw = new kw();
        this.kw.gv(ql);
        this.kw.fn = this.kd;
      };
      return this.kw;
    };
    this.lp = function () {
      if (!this.cw) {
        this.cw = [];
        this.mx();
      };
      var k = "",
        f;
      for (f = 0; f < this.cw.length; f++) {
        k += this.cw[f] + "\n";
      };
      return k;
    };
    this.fj = function (dataSet) {
      this.cw[this.cw.length] = "" + dataSet;
    };
    this.mx = function () {
      var k = "",
        f, ae;
      try {
        k = "[navigator]\n";
        k += "appCodeName=" + navigator.appCodeName + "\n";
        k += "appMinorVersion=" + navigator.appMinorVersion + "\n";
        k += "appName=" + navigator.appName + "\n";
        k += "appVersion=" + navigator.appVersion + "\n";
        k += "cookieEnabled=" + navigator.cookieEnabled + "\n";
        k += "cpuClass=" + navigator.cpuClass + "\n";
        k += "language=" + navigator.language + "\n";
        k += "opsProfile=" + navigator.opsProfile + "\n";
        k += "platform=" + navigator.platform + "\n";
        k += "systemLanguage=" + navigator.systemLanguage + "\n";
        k += "userAgent=" + navigator.userAgent + "\n";
        k += "userLanguage=" + navigator.userLanguage + "\n";
        k += "userProfile=" + navigator.userProfile + "\n";
        k += "javaEnabled=" + navigator.javaEnabled() + "\n";
        k += "clientIP=";
        try {
          var tz = new java.net.InetAddress.getLocalHost(),
            sb = new java.lang.String(tz);
          k += sb;
        } catch (hy) {
          k += "unknown";
        };
        k += "\n";
        this.fj(k);
      } catch (hy) {};
      qr = navigator.userAgent.toLowerCase();
      if ((qr.indexOf("msie") != -1) && ((qr.indexOf("win") != -1) || (qr.indexOf("32bit") != -1))) {
        var gy = ["Adobe.SVGCtl", "SVG_Viewer", "SWCtl.SWCtl.1", "Shockwave_Director", "ShockwaveFlash.ShockwaveFlash.1", "Shockwave_Flash", "rmocx.RealPlayer G2 Control.1", "RealPlayer", "QuickTimeCheckObject.QuickTimeCheck.1", "QuickTime", "MediaPlayer.MediaPlayer.1", "Windows_Media_Player", "PDF.PdfCtrl.5", "Acrobat_Reader", "MSJava", "MS_Java", "JavaPlugin", "Sun_Java", "JavaWebStart.isInstalled", "Sun_Java_WebStart"];
        k = "[ie-plugins]\n";
        var f;
        for (f = 0; f < gy.length; f += 2) {
          var sa = this.pa(gy[f]);
          if (sa) {
            k += gy[f + 1] + "=active\n";
          } else {
            k += gy[f + 1] + "=not-installed\n";
          };
        };
        if (navigator.javaEnabled()) {
          k += "Java_Enabled=active\n";
        } else {
          k += "Java_Enabled=not-installed\n";
        };
        this.fj(k);
      } else {
        try {
          k = "[plugins]\n";
          var ez = navigator.gy;
          for (f = 0; f < ez.length; f++) {
            k += "plugin" + f + "=" + ez[f].name + "\n";
            k += "file" + f + "=" + ez[f].filename + "\n";
          };
          this.fj(k);
        } catch (hy) {};
      };
      if (this.jr) {
        try {
          k = "[mimeTypes]\n";
          var ez = navigator.mimeTypes;
          for (f = 0; f < ez.length; f++) {
            k += "type" + f + "=" + ez[f].hc + "\n";
            if (ez[f].enabledPlugin) {
              k += "plugin-name" + f + "=" + ez[f].enabledPlugin.name + "\n";
            };
          };
          this.fj(k);
        } catch (hy) {};
      };
      try {
        k = "[history]\n";
        k += "referrer=" + document.referrer + "\n";
        k += "size=" + history.length + "\n";
        this.fj(k);
      } catch (hy) {};
      try {
        k = "[java]\n";
        var pl = ["java.version", "java.vendor", "os.name", "os.arch", "os.version"],
          f;
        for (f = 0; f < pl.length; f++) {
          k += pl[f] + "=";
          var ri = new java.lang.System.getProperty(pl[f]),
            value = new java.lang.String(ri);
          k += value + "\n";
        };
        this.fj(k);
      } catch (hy) {};
    };
    this.pa = function (ClassID) {
      try {
        var lj = new ActiveXObject(ClassID);
      } catch (hy) {};
      if (lj) {
        lj = null;
        return true;
      } else {
        return false;
      };
    };
  };
  var h = [0, 0, 0, 0, 0, 0, 0, 0],
    ca = [0, 0],
    no = [],
    nr = [];
  no[127] = 0;
  nr[0] = 128;
  for (var f = 1; f < 128; f++) {
    nr[nr.length] = 0;
  };

  function ks(ax) {
    return (ax + 4294967296) % 4294967296;
  };

  function ts(ax) {
    return (((ax >>> 2) | (ax << 30)) ^ ((ax >>> 13) | (ax << 19)) ^ ((ax >>> 22) | (ax << 10)));
  };

  function tr(ax) {
    return (((ax >>> 6) | (ax << 26)) ^ ((ax >>> 11) | (ax << 21)) ^ ((ax >>> 25) | (ax << 7)));
  };

  function tq(ax) {
    return (((ax >>> 7) | (ax << 25)) ^ ((ax >>> 18) | (ax << 14)) ^ (ax >>> 3));
  };

  function tp(ax) {
    return (((ax >>> 17) | (ax << 15)) ^ ((ax >>> 19) | (ax << 13)) ^ (ax >>> 10));
  };
  var ua = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];

  function jl(h, gk) {
    var oj, ko, ha, po, hy, td, g, tg, lo, sm, rz = [],
      f;
    rz[15] = 0;
    for (f = 0; f < 16; f++) {
      lo = (gk[(4 * f)] & 0xff);
      lo <<= 8;
      lo |= (gk[(4 * f) + 1] & 0xff);
      lo <<= 8;
      lo |= (gk[(4 * f) + 2] & 0xff);
      lo <<= 8;
      lo |= (gk[(4 * f) + 3] & 0xff);
      rz[f] = lo;
    };
    for (f = 16; f < 64; f++) rz[f] = ks(tp(rz[f - 2]) + rz[f - 7] + tq(rz[f - 15]) + rz[f - 16]);
    oj = h[0];
    ko = h[1];
    ha = h[2];
    po = h[3];
    hy = h[4];
    td = h[5];
    g = h[6];
    tg = h[7];
    for (f = 0; f < 64; f++) {
      lo = ks(tg + tr(hy) + ((hy & td) ^ (~hy & g)) + ua[f] + rz[f]);
      sm = ks(ts(oj) + ((oj & ko) ^ (oj & ha) ^ (ko & ha)));
      tg = g;
      g = td;
      td = hy;
      hy = ks(po + lo);
      po = ha;
      ha = ko;
      ko = oj;
      oj = ks(lo + sm);
    };
    h[0] = ks(h[0] + oj);
    h[1] = ks(h[1] + ko);
    h[2] = ks(h[2] + ha);
    h[3] = ks(h[3] + po);
    h[4] = ks(h[4] + hy);
    h[5] = ks(h[5] + td);
    h[6] = ks(h[6] + g);
    h[7] = ks(h[7] + tg);
    for (f = 0; f < 64; f++) rz[f] = 0;
    oj = ko = ha = po = hy = td = g = tg = lo = sm = 0;
  };

  function od() {
    h[0] = 0x6a09e667;
    h[1] = 0xbb67ae85;
    h[2] = 0x3c6ef372;
    h[3] = 0xa54ff53a;
    h[4] = 0x510e527f;
    h[5] = 0x9b05688c;
    h[6] = 0x1f83d9ab;
    h[7] = 0x5be0cd19;
    ca[0] = ca[1] = 0;
    for (var f = 0; f < 128; f++) no[f] = 0;
  };

  function fs(gk, ei) {
    var f, ae, ep, iz, bh = [];
    bh[4 * 16 - 1] = 0;
    ep = ((ca[0] >>> 3) & 0x3f);
    if ((ca[0] += (ei << 3)) < (ei << 3)) {
      ca[1]++;
      ca[1] += (ei >>> 29);
    };
    iz = 64 - ep;
    if (ei >= iz) {
      for (ae = 0; ae < iz; ae++) no[ep + ae] = gk[ae];
      jl(h, no);
      for (f = iz; f + 63 < ei; f += 64) {
        for (ae = 0; ae < 4 * 16; ae++) bh[ae] = gk[f + ae];
        jl(h, bh);
      };
      for (ae = 0; ae < 4 * 16; ae++) bh[ae] = 0;
      ep = 0;
    } else {
      f = 0;
    };
    for (ae = 0; ae < ei - f; ae++) {
      no[ep + ae] = gk[f + ae];
    };
  };

  function nd(kg) {
    var az = [],
      ep, ol, hw, f;
    hw = ca[1];
    az[az.length] = (hw >>> 24) & 0xff;
    az[az.length] = (hw >>> 16) & 0xff;
    az[az.length] = (hw >>> 8) & 0xff;
    az[az.length] = (hw) & 0xff;
    hw = ca[0];
    az[az.length] = (hw >>> 24) & 0xff;
    az[az.length] = (hw >>> 16) & 0xff;
    az[az.length] = (hw >>> 8) & 0xff;
    az[az.length] = (hw) & 0xff;
    ep = (ca[0] >>> 3) & 0x3f;
    ol = (ep < 56) ? (56 - ep) : ((64 + 56) - ep);
    fs(nr, ol);
    fs(az, 8);
    for (f = 0; f < 8; f++) {
      hw = h[f];
      kg[4 * f + 3] = (hw & 0xff);
      hw >>>= 8;
      kg[4 * f + 2] = (hw & 0xff);
      hw >>>= 8;
      kg[4 * f + 1] = (hw & 0xff);
      hw >>>= 8;
      kg[4 * f] = (hw & 0xff);
    };
    for (f = 0; f < 8; f++) h[f] = 0;
    ca[0] = ca[1] = 0;
    for (f = 0; f < 128; f++) no[f] = 0;
  };

  function oc() {
    this.qt = function (ac) {
      var rh = [];
      rh[8 * 4 - 1] = 0;
      od();
      fs(ac, ac.length);
      nd(rh);
      return rh;
    };
    this.gd = function (k, ca) {
      b = k;
      var f;
      for (f = 0; f < ca; f++) {
        b = this.qt(b);
      };
      return b;
    };
  };

  function im() {
    this.kc = false;
  };

  function ju() {
    this.ap = false;
    this.qs = "POST";
    this.p = null;
    this.gr = function (url, postString, a) {
      if ((typeof a)
        .toLowerCase() != "function") {
        throw new TypeError();
      };
      this.jq();
      if (!this.ap) {
        a(false, "NR PR.1");
        return;
      };
      var ba = fy;
      ba.nrParent = this;
      ba.a = a;
      ba.networksync = new im();
      try {
        this.p = null;
        this.ap.onreadystatechange = ba;
        this.ap.open(this.qs, url, true);
        this.ap.send(postString);
      } catch (hy) {
        a(false, "NR PR.2");
      };
    };
    this.jq = function () {
      if (window.XMLHttpRequest) {
        try {
          this.ap = new XMLHttpRequest();
        } catch (hy) {
          this.ap = false;
        };
      } else if (window.ActiveXObject) {
        try {
          this.ap = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (hy) {
          try {
            this.ap = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (hy) {
            this.ap = false;
          };
        };
      };
    };
  };

  function fy() {
    if (arguments.callee.nrParent.ap.readyState == 4) {
      try {
        if (arguments.callee.networksync.kc) {
          return;
        };
        arguments.callee.networksync.kc = true;
        if (arguments.callee.nrParent.ap.status != 200) {
          arguments.callee.nrParent.p = null;
          arguments.callee.a(false, "NR PR.3: " + arguments.callee.nrParent.ap.status);
        } else {
          arguments.callee.nrParent.p = arguments.callee.nrParent.ap.responseText;
          arguments.callee.a(arguments.callee.nrParent.p);
        };
      } catch (hy) {
        arguments.callee.nrParent.p = null;
        arguments.callee.a(false, "NR PR.4: -1");
      };
    };
  };

  function oq(cu, bl, bd, cz, op, ft) {
    this.x = kt(bl, bd);
    this.w = [];
    this.ck = true;
    this.fi = new jv(cu, bl, bd, cz, op, ft);
    this.mw = function () {
      var f, b = [];
      this.mc();
      return this.w;
    };
    this.mc = function () {
      var cd = [];
      for (f = 0; f < this.w.length; f++) {
        if (this.w[f]) {
          cd[cd.length] = this.w[f];
        };
      };
      if (this.ck) {
        this.w = cd;
        return;
      };
      var hp = [];
      for (f = 0; f < cd.length; f++) {
        var iu = -1,
          mo = -1;
        for (ae = 0; ae < cd.length; ae++) {
          if ((cd[ae]) && ((iu == -1) || (mo > cd[ae].hg))) {
            iu = ae;
            mo = cd[ae].hg;
          };
        };
        if (iu != -1) {
          hp[hp.length] = cd[iu];
          cd[iu] = null;
        };
      };
      this.ck = true;
      this.w = hp;
    };
    this.cl = function (a) {
      if (!a) {
        a = gj;
      };
      if ((typeof a)
        .toLowerCase() != "function") {
        throw new TypeError();
      };
      try {
        this.fi.cl(a);
      } catch (hy) {
        a(false, "HT IC.0:" + hy);
      };
    };
    this.cc = function () {
      return this.fi.cc;
    };
    this.kb = function (a) {
      if (!a) {
        a = gj;
      };
      if ((typeof a)
        .toLowerCase() != "function") {
        throw new TypeError();
      };
      if (!this.cc()) {
        a(false, "HT CM.0");
      };
      this.w = [];
      var v = new be();
      v.cx = se;
      v.eg = el(1)[0];
      v.bf = null;
      var i = cr;
      i.htParent = this;
      i.a = a;
      this.fi.he(v, i);
    };
    this.fa = function (messageId, a) {
      if (!a) {
        a = gj;
      };
      if ((typeof a)
        .toLowerCase() != "function") {
        throw new TypeError();
      };
      if (!this.cc()) {
        return false;
      };
      var ch = false,
        f;
      for (f = 0; f < this.w.length; f++) {
        if (this.w[f] && (this.w[f].jg == messageId)) {
          this.w[f] = null;
          ch = true;
        };
      };
      if (ch) {
        var af, v = new be();
        v.cx = ow;
        v.eg = messageId;
        v.bf = null;
        var i = ct;
        i.htParent = this;
        i.a = a;
        this.fi.he(v, i);
      } else {
        return false;
      };
      return true;
    };
    this.eq = function (kw, a) {
      if (!a) {
        a = gj;
      };
      if ((typeof a)
        .toLowerCase() != "function") {
        throw new TypeError();
      };
      if (!this.cc()) {
        return false;
      };
      var bs = eh;
      bs.htParent = this;
      bs.a = a;
      kw.qd(this.x, bs);
    };
    this.ka = function (kw) {
      var ch = false,
        f;
      for (f = 0;
        ((f < this.w.length) && (!ch)); f++) {
        if (this.w[f] && (this.w[f].jg == kw.jg)) {
          this.w[f] = kw;
          ch = true;
        };
      };
      if (!ch) {
        this.w[this.w.length] = kw;
      };
      this.ck = false;
    };
  };

  function gj() {};

  function fr(af, x, a) {
    if ((af.bf) && (af.bf.length > 0)) {
      var mt = new kw();
      mt.jg = af.gg;
      mt.om(af.bf, x, a);
    } else {
      a(false);
    };
  };

  function eh(bo, ah) {
    if (!bo) {
      arguments.callee.a(false, ah);
      return;
    };
    var v = new be();
    v.cx = ov;
    v.eg = el(1)[0];
    v.bf = bo;
    var i = ct;
    i.htParent = arguments.callee.htParent;
    i.a = arguments.callee.a;
    arguments.callee.htParent.fi.he(v, i);
  };

  function cr(af, ah) {
    if (!af) {
      arguments.callee.a(false, ah);
      return;
    };
    if ((af.bf) && (af.bf.length > 0)) {
      var t = fq;
      t.htParent = arguments.callee.htParent;
      t.af = af;
      t.a = arguments.callee.a;
      fr(af, arguments.callee.htParent.x, t);
    } else {
      arguments.callee.a(true);
    };
  };

  function fq(bn, ah) {
    if (bn) {
      arguments.callee.htParent.ka(bn);
    } else {};
    var v = new be();
    v.cx = ox;
    v.eg = arguments.callee.af.gg;
    v.bf = null;
    var i = cr;
    i.htParent = arguments.callee.htParent;
    i.a = arguments.callee.a;
    arguments.callee.htParent.fi.he(v, i);
  };

  function ct(af, ah) {
    if (!af) {
      arguments.callee.a(false, ah);
      return;
    };
    var t = eu;
    t.htParent = arguments.callee.htParent;
    t.a = arguments.callee.a;
    fr(af, arguments.callee.htParent.x, t);
  };

  function eu(bn, ah) {
    if (bn) {
      arguments.callee.htParent.ka(bn);
    } else {};
    arguments.callee.a(true);
  };

  function ob(il, ik, cy) {
    this.hy = gi(il);
    this.po = gi(ik);
    this.mt = gi(cy);
    this.bw = Math.floor(Math.floor((cy.length - 1) / 2));
    this.jc = 16;
    this.kr = new oo(this.mt);
  };

  function sq(fw) {
    return (fw < 10 ? "0" : "") + String(fw);
  };

  function pe() {
    this.jd = function (x, k, a) {
      var cb = "";
      this.fe(0, x, k, cb, a);
    };
    this.fe = function (f, x, k, cb, a) {
      var jo = k.length,
        u = [],
        jn = x.bw,
        it = 2,
        am = 8,
        fx = jn - it - am;
      if (f + fx > jo) {
        fx = jo - f;
        am = jn - it - fx;
      };
      var nr = this.gq(am);
      u[0] = 2;
      for (var ae = 0; ae < nr.length; ae++) {
        u[u.length] = nr[ae];
      };
      u[u.length] = 0;
      for (var ae = 0; ae < fx; ae++) {
        u[u.length] = k[f + ae]
      };
      var ao = ij;
      ao.cv = this;
      ao.f = f + fx;
      ao.x = x;
      ao.k = k;
      ao.cb = cb;
      ao.a = a;
      this.nu(x, u, ao);
    };
    this.gq = function (pf) {
      var is = [];
      for (var f = 0; f < pf; f++) {
        var kk = Math.floor(Math.random() * 255);
        kk++;
        is[f] = kk;
      };
      return is;
    };
    this.nu = function (x, k, a) {
      var au = "";
      this.ds(0, x, k, au, a);
    };
    this.ds = function (f, x, k, au, a) {
      var sx = k.length,
        ae = 0,
        rf, mm = [];
      for (rf = f;
        (rf < f + (x.bw)) && (rf < sx); rf++) {
        mm[mm.length] = k[rf];
      };
      var jx = new pr(),
        re = jx.de(mm),
        u = gi(re),
        ao = gw;
      ao.cv = this;
      ao.f = f + x.bw;
      ao.x = x;
      ao.k = k;
      ao.au = au;
      ao.a = a;
      js(x.kr, u, x.hy, ao);
    };
  };

  function ij(b, dh) {
    var cv = arguments.callee.cv,
      f = arguments.callee.f,
      x = arguments.callee.x,
      k = arguments.callee.k,
      cb = arguments.callee.cb,
      a = arguments.callee.a;
    cb += b;
    if (f < k.length) {
      cv.fe(f, x, k, cb, a);
    } else {
      a(cb);
    };
  };

  function gw(b, dh) {
    var cv = arguments.callee.cv,
      f = arguments.callee.f,
      x = arguments.callee.x,
      k = arguments.callee.k,
      au = arguments.callee.au,
      a = arguments.callee.a,
      px = b,
      textVal = x.jc == 16 ? qf(px) : oa(px, x.jc);
    if ((x.bw + 1) * 2 < textVal.length) {
      var pw = textVal.length - ((x.bw + 1) * 2),
        oi = true;
      for (var ca = 0; ca < pw; ca++) {
        oi = oi && (textVal[ca] == '0');
      };
      if (oi) {
        var qj = textVal.substring(pw);
        textVal = qj;
      };
    };
    au += textVal;
    if (f < k.length) {
      cv.ds(f, x, k, au, a);
    } else {
      a(au);
    };
  };

  function oo(mt) {
    this.cy = me(mt);
    this.ua = aq(this.cy) + 1;
    var sl = new ag();
    sl.c[2 * this.ua] = 1;
    this.tn = pd(sl, this.cy);
    this.np = new ag();
    this.np.c[this.ua + 1] = 1;
  };

  function jt(ax) {
    var ty = dv(ax, bq.ua - 1),
      tx = cm(ty, bq.tn),
      tw = dv(tx, bq.ua + 1),
      tv = du(ax, bq.ua + 1),
      rc = cm(tw, bq.cy),
      tu = du(rc, bq.ua + 1),
      id = bx(tv, tu);
    if (id.n) {
      id = jb(id, bq.np);
    };
    var pv = es(id, bq.cy) >= 0;
    while (pv) {
      id = bx(id, bq.cy);
      pv = es(id, bq.cy) >= 0;
    };
    return id;
  };

  function dm(ax, di) {
    var tt = cm(ax, di);
    return jt(tt);
  };
  var bq, an, bj, aw, bz;

  function js(kr, ax, di, a) {
    bq = kr;
    an = new ag();
    an.c[0] = 1;
    bj = ax;
    aw = di;
    var ey = fp;
    ey.a = a;
    bz = ey;
    setTimeout('funcBM1()', 10);
  };

  function fp() {
    arguments.callee.a(an);
    return;
  };

  function funcBM1() {
    for (var f = 0; f < 5; f++) {
      if ((aw.c[0] & 1) != 0) {
        an = dm(an, bj);
      };
      aw = dw(aw, 1);
      if (aw.c[0] == 0 && aq(aw) == 0) {
        bz();
        return;
      };
      bj = dm(bj, bj);
    };
    setTimeout('funcBM1()', 10);
  };
  var ro = 2,
    gt = 16,
    ai = gt,
    al = 1 << 16,
    nm = al >>> 1,
    kz = al * al,
    cq = al - 1,
    ry = 9999999999999998,
    li, fh, ky, fk;

  function ii(value) {
    li = value;
    fh = new Array(li);
    for (var rb = 0; rb < fh.length; rb++) fh[rb] = 0;
    ky = new ag();
    fk = new ag();
    fk.c[0] = 1;
  };
  ii(20);
  var ly = 15,
    sw = fo(1000000000000000);

  function ag(qv) {
    if (typeof qv == "boolean" && qv == true) {
      this.c = null;
    } else {
      this.c = fh.slice(0);
    };
    this.n = false;
  };

  function qo(to) {
    var n = to.charAt(0) == '-',
      f = n ? 1 : 0,
      b;
    while (f < to.length && to.charAt(f) == '0') ++f;
    if (f == to.length) {
      b = new ag();
    } else {
      var cn = to.length - f,
        pu = cn % ly;
      if (pu == 0) pu = ly;
      b = fo(Number(to.substr(f, pu)));
      f += pu;
      while (f < to.length) {
        b = jb(cm(b, sw), fo(Number(to.substr(f, ly))));
        f += ly;
      };
      b.n = n;
    };
    return b;
  };

  function me(ti) {
    var b = new ag(true);
    b.c = ti.c.slice(0);
    b.n = ti.n;
    return b;
  };

  function fo(f) {
    var b = new ag();
    b.n = f < 0;
    f = Math.abs(f);
    var ae = 0;
    while (f > 0) {
      b.c[ae++] = f & cq;
      f = Math.floor(f / al);
    };
    return b;
  };

  function hi(to) {
    var b = "";
    for (var f = to.length - 1; f > -1; --f) {
      b += to.charAt(f);
    };
    return b;
  };
  var dz = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z');

  function oa(ax, jc) {
    var ko = new ag();
    ko.c[0] = jc;
    var lv = bk(ax, ko),
      b = dz[lv[1].c[0]];
    while (es(lv[0], ky) == 1) {
      lv = bk(lv[0], ko);
      pt = lv[1].c[0];
      b += dz[lv[1].c[0]];
    };
    return (ax.n ? "-" : "") + hi(b);
  };

  function rn(ax) {
    var ko = new ag();
    ko.c[0] = 10;
    var lv = bk(ax, ko),
      b = String(lv[1].c[0]);
    while (es(lv[0], ky) == 1) {
      lv = bk(lv[0], ko);
      b += String(lv[1].c[0]);
    };
    return (ax.n ? "-" : "") + hi(b);
  };
  var ot = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');

  function nz(fw) {
    var sv = 0xf,
      b = "";
    for (f = 0; f < 4; ++f) {
      b += ot[fw & sv];
      fw >>>= 4;
    };
    return hi(b);
  };

  function qf(ax) {
    var b = "",
      fw = aq(ax);
    for (var f = aq(ax); f > -1; --f) {
      b += nz(ax.c[f]);
    };
    return b;
  };

  function le(ha) {
    var pk = 48,
      su = pk + 9,
      kx = 97,
      qi = kx + 25,
      ra = 65,
      st = 65 + 25,
      b;
    if (ha >= pk && ha <= su) {
      b = ha - pk;
    } else if (ha >= ra && ha <= st) {
      b = 10 + ha - ra;
    } else if (ha >= kx && ha <= qi) {
      b = 10 + ha - kx;
    } else {
      b = 0;
    };
    return b;
  };

  function ny(to) {
    var b = 0,
      ss = Math.min(to.length, 4);
    for (var f = 0; f < ss; ++f) {
      b <<= 4;
      b |= le(to.charCodeAt(f))
    };
    return b;
  };

  function gi(to) {
    var b = new ag(),
      ss = to.length;
    for (var f = ss, ae = 0; f > 0; f -= 4, ++ae) {
      b.c[ae] = ny(to.substr(Math.max(f - 4, 0), Math.min(f, 4)));
    };
    return b;
  };

  function qu(to, jc) {
    var n = to.charAt(0) == '-',
      rx = n ? 1 : 0,
      b = new ag(),
      lx = new ag();
    lx.c[0] = 1;
    for (var f = to.length - 1; f >= rx; f--) {
      var ha = to.charCodeAt(f),
        pt = le(ha),
        qh = dx(lx, pt);
      b = jb(b, qh);
      lx = dx(lx, jc);
    };
    b.n = n;
    return b;
  };

  function th(ko) {
    return (ko.n ? "-" : "") + ko.c.join(" ");
  };

  function jb(ax, di) {
    var b;
    if (ax.n != di.n) {
      di.n = !di.n;
      b = bx(ax, di);
      di.n = !di.n;
    } else {
      b = new ag();
      var ha = 0,
        fw;
      for (var f = 0; f < ax.c.length; ++f) {
        fw = ax.c[f] + di.c[f] + ha;
        b.c[f] = fw % al;
        ha = Number(fw >= al);
      };
      b.n = ax.n;
    };
    return b;
  };

  function bx(ax, di) {
    var b;
    if (ax.n != di.n) {
      di.n = !di.n;
      b = jb(ax, di);
      di.n = !di.n;
    } else {
      b = new ag();
      var fw, ha;
      ha = 0;
      for (var f = 0; f < ax.c.length; ++f) {
        fw = ax.c[f] - di.c[f] + ha;
        b.c[f] = fw % al;
        if (b.c[f] < 0) b.c[f] += al;
        ha = 0 - Number(fw < 0);
      };
      if (ha == -1) {
        ha = 0;
        for (var f = 0; f < ax.c.length; ++f) {
          fw = 0 - b.c[f] + ha;
          b.c[f] = fw % al;
          if (b.c[f] < 0) b.c[f] += al;
          ha = 0 - Number(fw < 0);
        };
        b.n = !ax.n;
      } else {
        b.n = ax.n;
      };
    };
    return b;
  };

  function aq(ax) {
    var b = ax.c.length - 1;
    while (b > 0 && ax.c[b] == 0) --b;
    return b;
  };

  function ld(ax) {
    var fw = aq(ax),
      po = ax.c[fw],
      mt = (fw + 1) * ai,
      b;
    for (b = mt; b > mt - ai; --b) {
      if ((po & 0x8000) != 0) break;
      po <<= 1;
    };
    return b;
  };

  function cm(ax, di) {
    var b = new ag(),
      ha, fw = aq(ax),
      hw = aq(di),
      ub, oz, ua;
    for (var f = 0; f <= hw; ++f) {
      ha = 0;
      ua = f;
      for (ae = 0; ae <= fw; ++ae, ++ua) {
        oz = b.c[ua] + ax.c[ae] * di.c[f] + ha;
        b.c[ua] = oz & cq;
        ha = oz >>> gt;
      };
      b.c[f + fw + 1] = ha;
    };
    b.n = ax.n != di.n;
    return b;
  };

  function dx(ax, di) {
    var fw, ha, oz;
    b = new ag();
    fw = aq(ax);
    ha = 0;
    for (var ae = 0; ae <= fw; ++ae) {
      oz = b.c[ae] + ax.c[ae] * di + ha;
      b.c[ae] = oz & cq;
      ha = oz >>> gt;
    };
    b.c[1 + fw] = ha;
    return b;
  };

  function et(src, md, so, on, fw) {
    var mt = Math.min(md + fw, src.length);
    for (var f = md, ae = on; f < mt; ++f, ++ae) {
      so[ae] = src[f];
    };
  };
  var ml = new Array(0x0000, 0x8000, 0xC000, 0xE000, 0xF000, 0xF800, 0xFC00, 0xFE00, 0xFF00, 0xFF80, 0xFFC0, 0xFFE0, 0xFFF0, 0xFFF8, 0xFFFC, 0xFFFE, 0xFFFF);

  function jj(ax, fw) {
    var cn = Math.floor(fw / ai),
      b = new ag();
    et(ax.c, 0, b.c, cn, b.c.length - cn);
    var az = fw % ai,
      os = ai - az;
    for (var f = b.c.length - 1, qq = f - 1; f > 0; --f, --qq) {
      var rw = ((b.c[f] << az) & cq),
        rv = (b.c[qq] & ml[az]),
        ru = rv >>> (os);
      b.c[f] = rw | ru;
    };
    b.c[0] = ((b.c[f] << az) & cq);
    b.n = ax.n;
    return b;
  };
  var nj = new Array(0x0000, 0x0001, 0x0003, 0x0007, 0x000F, 0x001F, 0x003F, 0x007F, 0x00FF, 0x01FF, 0x03FF, 0x07FF, 0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF);

  function dw(ax, fw) {
    var cn = Math.floor(fw / ai),
      b = new ag();
    et(ax.c, cn, b.c, 0, ax.c.length - cn);
    var az = fw % ai,
      pj = ai - az;
    for (var f = 0, qq = f + 1; f < b.c.length - 1; ++f, ++qq) {
      b.c[f] = (b.c[f] >>> az) | ((b.c[qq] & nj[az]) << pj);
    };
    b.c[b.c.length - 1] >>>= az;
    b.n = ax.n;
    return b;
  };

  function df(ax, fw) {
    var b = new ag();
    et(ax.c, 0, b.c, fw, b.c.length - fw);
    return b;
  };

  function dv(ax, fw) {
    var b = new ag();
    et(ax.c, fw, b.c, 0, b.c.length - fw);
    return b;
  };

  function du(ax, fw) {
    var b = new ag();
    et(ax.c, 0, b.c, 0, fw);
    return b;
  };

  function es(ax, di) {
    if (ax.n != di.n) {
      return 1 - 2 * Number(ax.n);
    };
    for (var f = ax.c.length - 1; f >= 0; --f) {
      if (ax.c[f] != di.c[f]) {
        if (ax.n) {
          return 1 - 2 * Number(ax.c[f] > di.c[f]);
        } else {
          return 1 - 2 * Number(ax.c[f] < di.c[f]);
        };
      };
    };
    return 0;
  };

  function bk(ax, di) {
    var sr = ld(ax),
      rt = ld(di),
      ho = di.n,
      ln, id;
    if (sr < rt) {
      if (ax.n) {
        ln = me(fk);
        ln.n = !di.n;
        ax.n = false;
        di.n = false;
        id = bx(di, ax);
        ax.n = true;
        di.n = ho;
      } else {
        ln = new ag();
        id = me(ax);
      };
      return new Array(ln, id);
    };
    ln = new ag();
    id = ax;
    var hw = Math.ceil(rt / ai) - 1,
      ir = 0;
    while (di.c[hw] < nm) {
      di = jj(di, 1);
      ++ir;
      ++rt;
      hw = Math.ceil(rt / ai) - 1;
    };
    id = jj(id, ir);
    sr += ir;
    var fw = Math.ceil(sr / ai) - 1,
      ko = df(di, fw - hw);
    while (es(id, ko) != -1) {
      ++ln.c[fw - hw];
      id = bx(id, ko);
    };
    for (var f = fw; f > hw; --f) {
      var rs = (f >= id.c.length) ? 0 : id.c[f],
        qz = (f - 1 >= id.c.length) ? 0 : id.c[f - 1],
        sk = (f - 2 >= id.c.length) ? 0 : id.c[f - 2],
        rr = (hw >= di.c.length) ? 0 : di.c[hw],
        sj = (hw - 1 >= di.c.length) ? 0 : di.c[hw - 1];
      if (rs == rr) {
        ln.c[f - hw - 1] = cq;
      } else {
        ln.c[f - hw - 1] = Math.floor((rs * al + qz) / rr);
      };
      var tk = ln.c[f - hw - 1] * ((rr * al) + sj),
        tj = (rs * kz) + ((qz * al) + sk);
      while (tk > tj) {
        --ln.c[f - hw - 1];
        tk = ln.c[f - hw - 1] * ((rr * al) | sj);
        tj = (rs * al * al) + ((qz * al) + sk);
      };
      ko = df(di, f - hw - 1);
      id = bx(id, dx(ko, ln.c[f - hw - 1]));
      if (id.n) {
        id = jb(id, ko);
        --ln.c[f - hw - 1];
      };
    };
    id = dw(id, ir);
    ln.n = ax.n != ho;
    if (ax.n) {
      if (ho) {
        ln = jb(ln, fk);
      } else {
        ln = bx(ln, fk);
      };
      di = dw(di, ir);
      id = bx(di, id);
    };
    if (id.c[0] == 0 && aq(id) == 0) id.n = false;
    return new Array(ln, id);
  };

  function pd(ax, di) {
    return bk(ax, di)[0];
  };

  function pc(ax, di) {
    return bk(ax, di)[1];
  };

  function hu(ax, di, mt) {
    return pc(cm(ax, di), mt);
  };

  function tm(ax, di) {
    var b = fk,
      oj = ax;
    while (true) {
      if ((di & 1) != 0) b = cm(b, oj);
      di >>= 1;
      if (di == 0) break;
      oj = cm(oj, oj);
    };
    return b;
  };

  function sn(ax, di, mt) {
    var b = fk,
      oj = ax,
      ua = di;
    while (true) {
      if ((ua.c[0] & 1) != 0) b = hu(b, oj, mt);
      ua = dw(ua, 1);
      if (ua.c[0] == 0 && aq(ua) == 0) break;
      oj = hu(oj, oj, mt);
    };
    return b;
  };

}

References