From mbosma@svn.reactos.com Mon May 16 12:54:13 2005 From: mbosma@svn.reactos.com To: ros-diffs@reactos.org Subject: [ros-diffs] [mbosma] 15332: PackageManager: German Translation and CreateOptions() Date: Mon, 16 May 2005 12:53:49 +0200 Message-ID: <000001c55a05$8a76e070$6b01a8c0@PENELOPE> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5436661252116257231==" --===============5436661252116257231== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit PackageManager: German Translation and CreateOptions() Deleted: trunk/rosapps/packmgr/cmd-line/options.xml Deleted: trunk/rosapps/packmgr/gui/options.xml Modified: trunk/rosapps/packmgr/gui/res/blank.ico Modified: trunk/rosapps/packmgr/lib/cz.rc Modified: trunk/rosapps/packmgr/lib/en.rc Modified: trunk/rosapps/packmgr/lib/es.rc Modified: trunk/rosapps/packmgr/lib/log.cpp Modified: trunk/rosapps/packmgr/lib/options.cpp Modified: trunk/rosapps/packmgr/lib/package.rc _____ Deleted: trunk/rosapps/packmgr/cmd-line/options.xml --- trunk/rosapps/packmgr/cmd-line/options.xml 2005-05-16 10:30:13 UTC (rev 15331) +++ trunk/rosapps/packmgr/cmd-line/options.xml 2005-05-16 10:53:46 UTC (rev 15332) @@ -1,3 +0,0 @@ - - http://svn.reactos.com/viewcvs/*checkout*/trunk/rosapps/packmgr/ tree/ - \ No newline at end of file _____ Deleted: trunk/rosapps/packmgr/gui/options.xml --- trunk/rosapps/packmgr/gui/options.xml 2005-05-16 10:30:13 UTC (rev 15331) +++ trunk/rosapps/packmgr/gui/options.xml 2005-05-16 10:53:46 UTC (rev 15332) @@ -1,3 +0,0 @@ - - http://svn.reactos.com/viewcvs/*checkout*/trunk/rosapps/packmgr/ tree/ - \ No newline at end of file _____ Modified: trunk/rosapps/packmgr/gui/res/blank.ico (Binary files differ) _____ Modified: trunk/rosapps/packmgr/lib/cz.rc --- trunk/rosapps/packmgr/lib/cz.rc 2005-05-16 10:30:13 UTC (rev 15331) +++ trunk/rosapps/packmgr/lib/cz.rc 2005-05-16 10:53:46 UTC (rev 15332) @@ -20,4 +20,6 @@ ERR_READY "Zvolili jste si instalaci %d balÝÞk·. Aby jste je nainstalovali je t°eba abyste p°eÞetli a souhlasili s jejich licencemi. \n\nChcete nadßle pokraÞovat ?" END +123 RCDATA "options.xml" + /* EOF */ _____ Modified: trunk/rosapps/packmgr/lib/en.rc --- trunk/rosapps/packmgr/lib/en.rc 2005-05-16 10:30:13 UTC (rev 15331) +++ trunk/rosapps/packmgr/lib/en.rc 2005-05-16 10:53:46 UTC (rev 15332) @@ -20,4 +20,6 @@ ERR_READY "You choosen to install %d package(s). To install them you have to read and agree with each of thier licences. \n\nDo you want still want to ?" END +123 RCDATA "options.xml" + /* EOF */ _____ Modified: trunk/rosapps/packmgr/lib/es.rc --- trunk/rosapps/packmgr/lib/es.rc 2005-05-16 10:30:13 UTC (rev 15331) +++ trunk/rosapps/packmgr/lib/es.rc 2005-05-16 10:53:46 UTC (rev 15332) @@ -20,4 +20,6 @@ ERR_READY "You choosen to install %d package(s). To install them you have to read and agree with each of thier licences.\n\n Do you want still want to ?" END +123 RCDATA "options.xml" + /* EOF */ _____ Modified: trunk/rosapps/packmgr/lib/log.cpp --- trunk/rosapps/packmgr/lib/log.cpp 2005-05-16 10:30:13 UTC (rev 15331) +++ trunk/rosapps/packmgr/lib/log.cpp 2005-05-16 10:53:46 UTC (rev 15332) @@ -34,7 +34,7 @@ LogCreated = true; //HTML Header - fputs("Logfile", file); + fputs("Logfile\n", file); // date and time time_t now; @@ -53,15 +53,19 @@ KERNEL_VERSION_MINOR, KERNEL_VERSION_PATCH_LEVEL); - fputs("

ReactOS Package Manager - Log File


\n", file); - fputs("WARNING: This is still pre-alpha software.
\n", file); + // write the head + fputs("

ReactOS Package Manager - Log File

\n", file); + //fputs("WARNING: This is still pre-alpha software.
\n", file); fputs("Date: ", file); fputs(GTime, file); fputs("
\n", file); + fputs("Version: ", file); fputs(version, file); fputs("
\n", file); + + fputs("OS: ", file); fputs(versionos, file); fputs("
\n", file); } @@ -84,11 +88,11 @@ time_t now; now = time(NULL); - strftime(GTime,sizeof GTime,"%I:%M:%S %p ",localtime(&now)); + strftime(GTime,sizeof GTime,"%I:%M:%S %p",localtime(&now)); fputs("", file); fputs(GTime, file); - fputs("", file); + fputs(" ", file); fputs(message, file); fclose(file); _____ Modified: trunk/rosapps/packmgr/lib/options.cpp --- trunk/rosapps/packmgr/lib/options.cpp 2005-05-16 10:30:13 UTC (rev 15331) +++ trunk/rosapps/packmgr/lib/options.cpp 2005-05-16 10:53:46 UTC (rev 15332) @@ -14,7 +14,9 @@ #include "log.h" #include "expat.h" +#include + int PML_XmlDownload (pTree tree, const char* url, void* usrdata, XML_StartElementHandler start, XML_EndElementHandler end, XML_CharacterDataHandler text) ; @@ -53,16 +55,39 @@ } + // ! ! ! F I X M E ! ! ! // +/* int CreateOptions (TREE* tree) { -// string source; + ofstream file ("options.xml"); -// ifstream file ("help.txt", ios_base::in); - Log("* Creating options,xml"); + Log("* Creating options.xml from Resources"); + HRSRC hres = FindResource(GetModuleHandle(L"package"), MAKEINTRESOURCE(123), RT_RCDATA); + if (!hres) + { + Log("! ERROR: Could not load it !"); + return ERR_GENERIC; + } + + MessageBox(0,(WCHAR*)LockResource(LoadResource(NULL, hres)), 0, 0); // is empty + //file << (WCHAR*)LockResource(LoadResource(NULL, hres)); + return ERR_OK; } +*/ +char* PML_Download (pTree, const char* url, const char* server, const char* filename); + +int CreateOptions (TREE* tree) +{ + Log("* Load options.xml from the Internet (Temporary Hack)"); + + CopyFileA( PML_Download(tree, "http://svn.reactos.com/viewcvs/*checkout*/trunk/rosapps/packmgr/gui/opt ions.xml", NULL, "options.xml"), "options.xml", TRUE); + + return ERR_OK; +} + int LoadOptions (TREE* tree) { int error; _____ Modified: trunk/rosapps/packmgr/lib/package.rc --- trunk/rosapps/packmgr/lib/package.rc 2005-05-16 10:30:13 UTC (rev 15331) +++ trunk/rosapps/packmgr/lib/package.rc 2005-05-16 10:53:46 UTC (rev 15332) @@ -11,6 +11,7 @@ /* Language specific */ #include "en.rc" +#include "de.rc" #include "cz.rc" #include "es.rc" --===============5436661252116257231== Content-Type: text/html Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" MIME-Version: 1.0 PGh0bWw+CjxoZWFkPgo8c3R5bGU+CjwhLS0KYm9keSB7IGJhY2tncm91bmQtY29sb3I6I2ZmZmZm ZiB9Ci5maWxlIHsgYm9yZGVyOjFweCBzb2xpZCAjZWVlZWVlOyBtYXJnaW4tdG9wOjFlbTsgbWFy Z2luLWJvdHRvbToxZW0gfQoucGF0aG5hbWUgeyBmb250LWZhbWlseTptb25vc3BhY2U7IGZsb2F0 OnJpZ2h0IH0KLmZpbGVoZWFkZXIgeyBtYXJnaW4tYm90dG9tOi41ZW0gfQouZGlmZiB7IG1hcmdp bjowIH0KLnRhc2tsaXN0IHsgcGFkZGluZzo0cHg7IGJvcmRlcjoxcHggZGFzaGVkICMwMDAwMDA7 IG1hcmdpbi10b3A6MWVtIH0KLnRhc2tsaXN0IHVsIHsgbWFyZ2luLXRvcDowOyBtYXJnaW4tYm90 dG9tOjAgfQp0ci5hbHQgeyBiYWNrZ3JvdW5kLWNvbG9yOiNlZWVlZWUgfQojYWRkZWQgeyBiYWNr Z3JvdW5kLWNvbG9yOiNkZGZmZGQgfQojYWRkZWRjaGFycyB7IGJhY2tncm91bmQtY29sb3I6Izk5 ZmY5OTsgZm9udC13ZWlnaHQ6Ym9sZGVyIH0KdHIuYWx0ICNhZGRlZCB7IGJhY2tncm91bmQtY29s b3I6I2NjZjdjYyB9CiNyZW1vdmVkIHsgYmFja2dyb3VuZC1jb2xvcjojZmZkZGRkIH0KI3JlbW92 ZWRjaGFycyB7IGJhY2tncm91bmQtY29sb3I6I2ZmOTk5OTsgZm9udC13ZWlnaHQ6Ym9sZGVyIH0K dHIuYWx0ICNyZW1vdmVkIHsgYmFja2dyb3VuZC1jb2xvcjojZjdjY2NjIH0KI2luZm8geyBjb2xv cjojODg4ODg4IH0KI2NvbnRleHQgeyBiYWNrZ3JvdW5kLWNvbG9yOiNlZWVlZWUgfQp0ZCB7cGFk ZGluZy1sZWZ0Oi4zZW07IHBhZGRpbmctcmlnaHQ6LjNlbSB9CnRyLmhlYWQgeyBib3JkZXItYm90 dG9tLXdpZHRoOjFweDsgYm9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZCB9CnRyLmhlYWQgdGQgeyBw YWRkaW5nOjA7IHBhZGRpbmctdG9wOi4yZW0gfQoudGFzayB7IGJhY2tncm91bmQtY29sb3I6I2Zm ZmYwMCB9Ci5jb21tZW50IHsgcGFkZGluZzo0cHg7IGJvcmRlcjoxcHggZGFzaGVkICMwMDAwMDA7 IGJhY2tncm91bmQtY29sb3I6I2ZmZmZkZCB9Ci5lcnJvciB7IGNvbG9yOnJlZCB9CmhyIHsgYm9y ZGVyLXdpZHRoOjBweDsgaGVpZ2h0OjJweDsgYmFja2dyb3VuZDpibGFjayB9Ci0tPgo8L3N0eWxl Pgo8L2hlYWQ+Cjxib2R5Pgo8cHJlIGNsYXNzPSJjb21tZW50Ij5QYWNrYWdlTWFuYWdlcjogR2Vy bWFuIFRyYW5zbGF0aW9uIGFuZCBDcmVhdGVPcHRpb25zKCk8L3ByZT48cHJlIGNsYXNzPSJkaWZm IiBpZD0icmVtb3ZlZCI+RGVsZXRlZDogdHJ1bmsvcm9zYXBwcy9wYWNrbWdyL2NtZC1saW5lL29w dGlvbnMueG1sCkRlbGV0ZWQ6IHRydW5rL3Jvc2FwcHMvcGFja21nci9ndWkvb3B0aW9ucy54bWwK PC9wcmU+PHByZSBjbGFzcz0iZGlmZiIgaWQ9ImNvbnRleHQiPk1vZGlmaWVkOiB0cnVuay9yb3Nh cHBzL3BhY2ttZ3IvZ3VpL3Jlcy9ibGFuay5pY28KTW9kaWZpZWQ6IHRydW5rL3Jvc2FwcHMvcGFj a21nci9saWIvY3oucmMKTW9kaWZpZWQ6IHRydW5rL3Jvc2FwcHMvcGFja21nci9saWIvZW4ucmMK TW9kaWZpZWQ6IHRydW5rL3Jvc2FwcHMvcGFja21nci9saWIvZXMucmMKTW9kaWZpZWQ6IHRydW5r L3Jvc2FwcHMvcGFja21nci9saWIvbG9nLmNwcApNb2RpZmllZDogdHJ1bmsvcm9zYXBwcy9wYWNr bWdyL2xpYi9vcHRpb25zLmNwcApNb2RpZmllZDogdHJ1bmsvcm9zYXBwcy9wYWNrbWdyL2xpYi9w YWNrYWdlLnJjCjwvcHJlPjxociAvPjxkaXYgY2xhc3M9ImZpbGUiPgo8ZGl2IGNsYXNzPSJmaWxl aGVhZGVyIj48YmlnPjxiPkRlbGV0ZWQ6IHRydW5rL3Jvc2FwcHMvcGFja21nci9jbWQtbGluZS9v cHRpb25zLnhtbDwvYj48L2JpZz48L2Rpdj4KPHByZSBjbGFzcz0iZGlmZiI+PHNtYWxsIGlkPSJp bmZvIj4tLS0gdHJ1bmsvcm9zYXBwcy9wYWNrbWdyL2NtZC1saW5lL29wdGlvbnMueG1sCTIwMDUt MDUtMTYgMTA6MzA6MTMgVVRDIChyZXYgMTUzMzEpCisrKyB0cnVuay9yb3NhcHBzL3BhY2ttZ3Iv Y21kLWxpbmUvb3B0aW9ucy54bWwJMjAwNS0wNS0xNiAxMDo1Mzo0NiBVVEMgKHJldiAxNTMzMikK QEAgLTEsMyArMCwwIEBACjwvc21hbGw+PC9wcmU+PHByZSBjbGFzcz0iZGlmZiIgaWQ9InJlbW92 ZWQiPi0mbHQ7b3B0aW9ucyZndDsKLSAmbmJzcDsmbHQ7c291cmNlJmd0O2h0dHA6Ly9zdm4ucmVh Y3Rvcy5jb20vdmlld2N2cy8qY2hlY2tvdXQqL3RydW5rL3Jvc2FwcHMvcGFja21nci90cmVlLyZs dDsvc291cmNlJmd0OwotJmx0Oy9vcHRpb25zJmd0Owo8L3ByZT48cHJlIGNsYXNzPSJkaWZmIiBp ZD0iY29udGV4dCI+XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCjwvcHJlPjwvZGl2Pgo8aHIg Lz48ZGl2IGNsYXNzPSJmaWxlIj4KPGRpdiBjbGFzcz0iZmlsZWhlYWRlciI+PGJpZz48Yj5EZWxl dGVkOiB0cnVuay9yb3NhcHBzL3BhY2ttZ3IvZ3VpL29wdGlvbnMueG1sPC9iPjwvYmlnPjwvZGl2 Pgo8cHJlIGNsYXNzPSJkaWZmIj48c21hbGwgaWQ9ImluZm8iPi0tLSB0cnVuay9yb3NhcHBzL3Bh Y2ttZ3IvZ3VpL29wdGlvbnMueG1sCTIwMDUtMDUtMTYgMTA6MzA6MTMgVVRDIChyZXYgMTUzMzEp CisrKyB0cnVuay9yb3NhcHBzL3BhY2ttZ3IvZ3VpL29wdGlvbnMueG1sCTIwMDUtMDUtMTYgMTA6 NTM6NDYgVVRDIChyZXYgMTUzMzIpCkBAIC0xLDMgKzAsMCBAQAo8L3NtYWxsPjwvcHJlPjxwcmUg Y2xhc3M9ImRpZmYiIGlkPSJyZW1vdmVkIj4tJmx0O29wdGlvbnMmZ3Q7Ci0gJm5ic3A7Jmx0O3Nv dXJjZSZndDtodHRwOi8vc3ZuLnJlYWN0b3MuY29tL3ZpZXdjdnMvKmNoZWNrb3V0Ki90cnVuay9y b3NhcHBzL3BhY2ttZ3IvdHJlZS8mbHQ7L3NvdXJjZSZndDsKLSZsdDsvb3B0aW9ucyZndDsKPC9w cmU+PHByZSBjbGFzcz0iZGlmZiIgaWQ9ImNvbnRleHQiPlwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQo8L3ByZT48L2Rpdj4KPGhyIC8+PGRpdiBjbGFzcz0iZmlsZSI+CjxkaXYgY2xhc3M9ImZp bGVoZWFkZXIiPjxiaWc+PGI+TW9kaWZpZWQ6IHRydW5rL3Jvc2FwcHMvcGFja21nci9ndWkvcmVz L2JsYW5rLmljbzwvYj48L2JpZz48L2Rpdj4KPHByZSBjbGFzcz0iZGlmZiI+PHNtYWxsIGlkPSJp bmZvIj48L3NtYWxsPjwvcHJlPjxwcmUgY2xhc3M9ImRpZmYiIGlkPSJjb250ZXh0Ij4oQmluYXJ5 IGZpbGVzIGRpZmZlcikKPC9wcmU+PC9kaXY+CjxociAvPjxkaXYgY2xhc3M9ImZpbGUiPgo8ZGl2 IGNsYXNzPSJmaWxlaGVhZGVyIj48YmlnPjxiPk1vZGlmaWVkOiB0cnVuay9yb3NhcHBzL3BhY2tt Z3IvbGliL2N6LnJjPC9iPjwvYmlnPjwvZGl2Pgo8cHJlIGNsYXNzPSJkaWZmIj48c21hbGwgaWQ9 ImluZm8iPi0tLSB0cnVuay9yb3NhcHBzL3BhY2ttZ3IvbGliL2N6LnJjCTIwMDUtMDUtMTYgMTA6 MzA6MTMgVVRDIChyZXYgMTUzMzEpCisrKyB0cnVuay9yb3NhcHBzL3BhY2ttZ3IvbGliL2N6LnJj CTIwMDUtMDUtMTYgMTA6NTM6NDYgVVRDIChyZXYgMTUzMzIpCkBAIC0yMCw0ICsyMCw2IEBACjwv c21hbGw+PC9wcmU+PHByZSBjbGFzcz0iZGlmZiIgaWQ9ImNvbnRleHQiPiAmbmJzcDsgRVJSX1JF QURZCSAmbmJzcDsgJnF1b3Q7WnZvbGlsaSBqc3RlIHNpIGluc3RhbGFjaSAlZCBiYWwmIzIyMTsm IzIyMjtrJiMxODM7LiBBYnkganN0ZSBqZSBuYWluc3RhbG92YWxpIGplIHQmIzE3NjtlYmEgYWJ5 c3RlIHAmIzE3NjtlJiMyMjI7ZXRsaSBhIHNvdWhsYXNpbGkgcyBqZWppY2ggbGljZW5jZW1pLiBc blxuQ2hjZXRlIG5hZCYjMjIzO2xlIHBva3JhJiMyMjI7b3ZhdCA/JnF1b3Q7CiBFTkQKIAo8L3By ZT48cHJlIGNsYXNzPSJkaWZmIiBpZD0iYWRkZWQiPisxMjMgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IFJDREFUQSAJJnF1b3Q7b3B0aW9ucy54bWwmcXVv dDsKKwo8L3ByZT48cHJlIGNsYXNzPSJkaWZmIiBpZD0iY29udGV4dCI+IC8qIEVPRiAqLwo8L3By ZT48L2Rpdj4KPGhyIC8+PGRpdiBjbGFzcz0iZmlsZSI+CjxkaXYgY2xhc3M9ImZpbGVoZWFkZXIi PjxiaWc+PGI+TW9kaWZpZWQ6IHRydW5rL3Jvc2FwcHMvcGFja21nci9saWIvZW4ucmM8L2I+PC9i aWc+PC9kaXY+CjxwcmUgY2xhc3M9ImRpZmYiPjxzbWFsbCBpZD0iaW5mbyI+LS0tIHRydW5rL3Jv c2FwcHMvcGFja21nci9saWIvZW4ucmMJMjAwNS0wNS0xNiAxMDozMDoxMyBVVEMgKHJldiAxNTMz MSkKKysrIHRydW5rL3Jvc2FwcHMvcGFja21nci9saWIvZW4ucmMJMjAwNS0wNS0xNiAxMDo1Mzo0 NiBVVEMgKHJldiAxNTMzMikKQEAgLTIwLDQgKzIwLDYgQEAKPC9zbWFsbD48L3ByZT48cHJlIGNs YXNzPSJkaWZmIiBpZD0iY29udGV4dCI+ICZuYnNwOyBFUlJfUkVBRFkJICZuYnNwOyAmcXVvdDtZ b3UgY2hvb3NlbiB0byBpbnN0YWxsICVkIHBhY2thZ2UocykuIFRvIGluc3RhbGwgdGhlbSB5b3Ug aGF2ZSB0byByZWFkIGFuZCBhZ3JlZSB3aXRoIGVhY2ggb2YgdGhpZXIgbGljZW5jZXMuIFxuXG5E byB5b3Ugd2FudCBzdGlsbCB3YW50IHRvID8mcXVvdDsKIEVORAogCjwvcHJlPjxwcmUgY2xhc3M9 ImRpZmYiIGlkPSJhZGRlZCI+KzEyMyBSQ0RBVEEJICZuYnNwOyAmcXVvdDtvcHRpb25zLnhtbCZx dW90OworCjwvcHJlPjxwcmUgY2xhc3M9ImRpZmYiIGlkPSJjb250ZXh0Ij4gLyogRU9GICovCjwv cHJlPjwvZGl2Pgo8aHIgLz48ZGl2IGNsYXNzPSJmaWxlIj4KPGRpdiBjbGFzcz0iZmlsZWhlYWRl ciI+PGJpZz48Yj5Nb2RpZmllZDogdHJ1bmsvcm9zYXBwcy9wYWNrbWdyL2xpYi9lcy5yYzwvYj48 L2JpZz48L2Rpdj4KPHByZSBjbGFzcz0iZGlmZiI+PHNtYWxsIGlkPSJpbmZvIj4tLS0gdHJ1bmsv cm9zYXBwcy9wYWNrbWdyL2xpYi9lcy5yYwkyMDA1LTA1LTE2IDEwOjMwOjEzIFVUQyAocmV2IDE1 MzMxKQorKysgdHJ1bmsvcm9zYXBwcy9wYWNrbWdyL2xpYi9lcy5yYwkyMDA1LTA1LTE2IDEwOjUz OjQ2IFVUQyAocmV2IDE1MzMyKQpAQCAtMjAsNCArMjAsNiBAQAo8L3NtYWxsPjwvcHJlPjxwcmUg Y2xhc3M9ImRpZmYiIGlkPSJjb250ZXh0Ij4gJm5ic3A7IEVSUl9SRUFEWQkgJm5ic3A7ICZxdW90 O1lvdSBjaG9vc2VuIHRvIGluc3RhbGwgJWQgcGFja2FnZShzKS4gVG8gaW5zdGFsbCB0aGVtIHlv dSBoYXZlIHRvIHJlYWQgYW5kIGFncmVlIHdpdGggZWFjaCBvZiB0aGllciBsaWNlbmNlcy5cblxu IERvIHlvdSB3YW50IHN0aWxsIHdhbnQgdG8gPyZxdW90OwogRU5ECiAKPC9wcmU+PHByZSBjbGFz cz0iZGlmZiIgaWQ9ImFkZGVkIj4rMTIzICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyBSQ0RBVEEgCSZxdW90O29wdGlvbnMueG1sJnF1b3Q7CisKPC9wcmU+ PHByZSBjbGFzcz0iZGlmZiIgaWQ9ImNvbnRleHQiPiAvKiBFT0YgKi8KPC9wcmU+PC9kaXY+Cjxo ciAvPjxkaXYgY2xhc3M9ImZpbGUiPgo8ZGl2IGNsYXNzPSJmaWxlaGVhZGVyIj48YmlnPjxiPk1v ZGlmaWVkOiB0cnVuay9yb3NhcHBzL3BhY2ttZ3IvbGliL2xvZy5jcHA8L2I+PC9iaWc+PC9kaXY+ CjxwcmUgY2xhc3M9ImRpZmYiPjxzbWFsbCBpZD0iaW5mbyI+LS0tIHRydW5rL3Jvc2FwcHMvcGFj a21nci9saWIvbG9nLmNwcAkyMDA1LTA1LTE2IDEwOjMwOjEzIFVUQyAocmV2IDE1MzMxKQorKysg dHJ1bmsvcm9zYXBwcy9wYWNrbWdyL2xpYi9sb2cuY3BwCTIwMDUtMDUtMTYgMTA6NTM6NDYgVVRD IChyZXYgMTUzMzIpCkBAIC0zNCw3ICszNCw3IEBACjwvc21hbGw+PC9wcmU+PHByZSBjbGFzcz0i ZGlmZiIgaWQ9ImNvbnRleHQiPiAJCUxvZ0NyZWF0ZWQgPSB0cnVlOwogCiAJCS8vSFRNTCBIZWFk ZXIKPC9wcmU+PHByZSBjbGFzcz0iZGlmZiIgaWQ9InJlbW92ZWQiPi0JCWZwdXRzKCZxdW90OyZs dDtodG1sJmd0OyZsdDtoZWFkJmd0OyZsdDt0aXRsZSZndDtMb2dmaWxlJmx0Oy90aXRsZSZndDsm bHQ7L2hlYWQmZ3Q7Jmx0O2JvZHkmZ3Q7JnF1b3Q7LCBmaWxlKTsKPC9wcmU+PHByZSBjbGFzcz0i ZGlmZiIgaWQ9ImFkZGVkIj4rCQlmcHV0cygmcXVvdDsmbHQ7aHRtbCZndDsmbHQ7aGVhZCZndDsm bHQ7dGl0bGUmZ3Q7TG9nZmlsZSZsdDsvdGl0bGUmZ3Q7Jmx0Oy9oZWFkJmd0OyZsdDtib2R5Jmd0 OzxzcGFuIGlkPSJhZGRlZGNoYXJzIj5cbjwvc3Bhbj4mcXVvdDssIGZpbGUpOwo8L3ByZT48cHJl IGNsYXNzPSJkaWZmIiBpZD0iY29udGV4dCI+IAkJCiAJCS8vIGRhdGUgYW5kIHRpbWUKIAkJdGlt ZV90IG5vdzsKQEAgLTUzLDE1ICs1MywxOSBAQAo8L3ByZT48cHJlIGNsYXNzPSJkaWZmIiBpZD0i Y29udGV4dCI+IAkJCUtFUk5FTF9WRVJTSU9OX01JTk9SLAogCQkJS0VSTkVMX1ZFUlNJT05fUEFU Q0hfTEVWRUwpOwogCjwvcHJlPjxwcmUgY2xhc3M9ImRpZmYiIGlkPSJyZW1vdmVkIj4tCQlmcHV0 cygmcXVvdDsmbHQ7aDImZ3Q7UmVhY3RPUyBQYWNrYWdlIE1hbmFnZXIgLSBMb2cgRmlsZSZsdDsv aDImZ3Q7Jmx0O2JyJmd0O1xuJnF1b3Q7LCBmaWxlKTsKLQkJPHNwYW4gaWQ9InJlbW92ZWRjaGFy cyI+ZnB1dHMoJnF1b3Q7V0FSTklORzogVGhpcyBpcyBzdGlsbCBwcmUtYWxwaGEgc29mdHdhcmUu Jmx0O2JyJmd0O1xuJnF1b3Q7LCBmaWxlKTs8L3NwYW4+CjwvcHJlPjxwcmUgY2xhc3M9ImRpZmYi IGlkPSJhZGRlZCI+KwkJPHNwYW4gaWQ9ImFkZGVkY2hhcnMiPi8vIHdyaXRlIHRoZSBoZWFkPC9z cGFuPgorCQlmcHV0cygmcXVvdDsmbHQ7aDImZ3Q7UmVhY3RPUyBQYWNrYWdlIE1hbmFnZXIgLSBM b2cgRmlsZSZsdDsvaDImZ3Q7XG4mcXVvdDssIGZpbGUpOworCQkvL2ZwdXRzKCZxdW90O1dBUk5J Tkc6IFRoaXMgaXMgc3RpbGwgcHJlLWFscGhhIHNvZnR3YXJlLiZsdDticiZndDtcbiZxdW90Oywg ZmlsZSk7CjwvcHJlPjxwcmUgY2xhc3M9ImRpZmYiIGlkPSJjb250ZXh0Ij4gCiAJCWZwdXRzKCZx dW90O0RhdGU6ICZxdW90OywgZmlsZSk7IAogCQlmcHV0cyhHVGltZSwgZmlsZSk7CiAJCWZwdXRz KCZxdW90OyZsdDticiZndDtcbiZxdW90OywgZmlsZSk7CiAKPC9wcmU+PHByZSBjbGFzcz0iZGlm ZiIgaWQ9ImFkZGVkIj4rCQlmcHV0cygmcXVvdDtWZXJzaW9uOiAmcXVvdDssIGZpbGUpOwo8L3By ZT48cHJlIGNsYXNzPSJkaWZmIiBpZD0iY29udGV4dCI+IAkJZnB1dHModmVyc2lvbiwgZmlsZSk7 IAogCQlmcHV0cygmcXVvdDsmbHQ7YnImZ3Q7XG4mcXVvdDssIGZpbGUpOwo8L3ByZT48cHJlIGNs YXNzPSJkaWZmIiBpZD0iYWRkZWQiPisKKwkJZnB1dHMoJnF1b3Q7T1M6ICZxdW90OywgZmlsZSk7 CjwvcHJlPjxwcmUgY2xhc3M9ImRpZmYiIGlkPSJjb250ZXh0Ij4gCQlmcHV0cyh2ZXJzaW9ub3Ms IGZpbGUpOyAKIAkJZnB1dHMoJnF1b3Q7Jmx0O2JyJmd0O1xuJnF1b3Q7LCBmaWxlKTsKIAl9CkBA IC04NCwxMSArODgsMTEgQEAKPC9wcmU+PHByZSBjbGFzcz0iZGlmZiIgaWQ9ImNvbnRleHQiPiAK IAkJdGltZV90IG5vdzsKIAkJbm93ID0gdGltZShOVUxMKTsKPC9wcmU+PHByZSBjbGFzcz0iZGlm ZiIgaWQ9InJlbW92ZWQiPi0JCXN0cmZ0aW1lKEdUaW1lLHNpemVvZiBHVGltZSwmcXVvdDslSTol TTolUyAlcDxzcGFuIGlkPSJyZW1vdmVkY2hhcnMiPiAmbmJzcDs8L3NwYW4+JnF1b3Q7LGxvY2Fs dGltZSgmYW1wO25vdykpOwo8L3ByZT48cHJlIGNsYXNzPSJkaWZmIiBpZD0iYWRkZWQiPisJCXN0 cmZ0aW1lKEdUaW1lLHNpemVvZiBHVGltZSwmcXVvdDslSTolTTolUyAlcCZxdW90Oyxsb2NhbHRp bWUoJmFtcDtub3cpKTsKPC9wcmU+PHByZSBjbGFzcz0iZGlmZiIgaWQ9ImNvbnRleHQiPiAKIAkJ ZnB1dHMoJnF1b3Q7Jmx0O2ImZ3Q7JnF1b3Q7LCBmaWxlKTsKIAkJZnB1dHMoR1RpbWUsIGZpbGUp Owo8L3ByZT48cHJlIGNsYXNzPSJkaWZmIiBpZD0icmVtb3ZlZCI+LQkJZnB1dHMoJnF1b3Q7Jmx0 Oy9iJmd0OyZxdW90OywgZmlsZSk7CjwvcHJlPjxwcmUgY2xhc3M9ImRpZmYiIGlkPSJhZGRlZCI+ KwkJZnB1dHMoJnF1b3Q7Jmx0Oy9iJmd0OzxzcGFuIGlkPSJhZGRlZGNoYXJzIj4gPC9zcGFuPiZx dW90OywgZmlsZSk7CjwvcHJlPjxwcmUgY2xhc3M9ImRpZmYiIGlkPSJjb250ZXh0Ij4gCiAJCWZw dXRzKG1lc3NhZ2UsIGZpbGUpOwogCQlmY2xvc2UoZmlsZSk7CjwvcHJlPjwvZGl2Pgo8aHIgLz48 ZGl2IGNsYXNzPSJmaWxlIj4KPGRpdiBjbGFzcz0iZmlsZWhlYWRlciI+PGJpZz48Yj5Nb2RpZmll ZDogdHJ1bmsvcm9zYXBwcy9wYWNrbWdyL2xpYi9vcHRpb25zLmNwcDwvYj48L2JpZz48L2Rpdj4K PHByZSBjbGFzcz0iZGlmZiI+PHNtYWxsIGlkPSJpbmZvIj4tLS0gdHJ1bmsvcm9zYXBwcy9wYWNr bWdyL2xpYi9vcHRpb25zLmNwcAkyMDA1LTA1LTE2IDEwOjMwOjEzIFVUQyAocmV2IDE1MzMxKQor KysgdHJ1bmsvcm9zYXBwcy9wYWNrbWdyL2xpYi9vcHRpb25zLmNwcAkyMDA1LTA1LTE2IDEwOjUz OjQ2IFVUQyAocmV2IDE1MzMyKQpAQCAtMTQsNyArMTQsOSBAQAo8L3NtYWxsPjwvcHJlPjxwcmUg Y2xhc3M9ImRpZmYiIGlkPSJjb250ZXh0Ij4gI2luY2x1ZGUgJnF1b3Q7bG9nLmgmcXVvdDsKICNp bmNsdWRlICZxdW90O2V4cGF0LmgmcXVvdDsKIAo8L3ByZT48cHJlIGNsYXNzPSJkaWZmIiBpZD0i YWRkZWQiPisjaW5jbHVkZSAmbHQ7ZnN0cmVhbSZndDsKPC9wcmU+PHByZSBjbGFzcz0iZGlmZiIg aWQ9ImNvbnRleHQiPiAKPC9wcmU+PHByZSBjbGFzcz0iZGlmZiIgaWQ9ImFkZGVkIj4rCjwvcHJl PjxwcmUgY2xhc3M9ImRpZmYiIGlkPSJjb250ZXh0Ij4gaW50IFBNTF9YbWxEb3dubG9hZCAocFRy ZWUgdHJlZSwgY29uc3QgY2hhciogdXJsLCB2b2lkKiB1c3JkYXRhLAogCQkJCQkJIFhNTF9TdGFy dEVsZW1lbnRIYW5kbGVyIHN0YXJ0LCBYTUxfRW5kRWxlbWVudEhhbmRsZXIgZW5kLCBYTUxfQ2hh cmFjdGVyRGF0YUhhbmRsZXIgdGV4dCkgOwogCkBAIC01MywxNiArNTUsMzkgQEAKPC9wcmU+PHBy ZSBjbGFzcz0iZGlmZiIgaWQ9ImNvbnRleHQiPiB9CiAKIAo8L3ByZT48cHJlIGNsYXNzPSJkaWZm IiBpZD0iYWRkZWQiPisJLy8gIQkhCSEJRglJCVgJTQlFCSEJIQkhIC8vCisvKgo8L3ByZT48cHJl IGNsYXNzPSJkaWZmIiBpZD0iY29udGV4dCI+IGludCBDcmVhdGVPcHRpb25zIChUUkVFKiB0cmVl KQogewo8L3ByZT48cHJlIGNsYXNzPSJkaWZmIiBpZD0icmVtb3ZlZCI+LTxzcGFuIGlkPSJyZW1v dmVkY2hhcnMiPi8vCXN0cmluZyBzb3VyY2U8L3NwYW4+Owo8L3ByZT48cHJlIGNsYXNzPSJkaWZm IiBpZD0iYWRkZWQiPis8c3BhbiBpZD0iYWRkZWRjaGFycyI+CW9mc3RyZWFtIGZpbGUgKCZxdW90 O29wdGlvbnMueG1sJnF1b3Q7KTwvc3Bhbj47CjwvcHJlPjxwcmUgY2xhc3M9ImRpZmYiIGlkPSJj b250ZXh0Ij4gCjwvcHJlPjxwcmUgY2xhc3M9ImRpZmYiIGlkPSJyZW1vdmVkIj4tLy8JaWZzdHJl YW0gZmlsZSAoJnF1b3Q7aGVscC50eHQmcXVvdDssIGlvc19iYXNlOjppbik7Ci0JTG9nKCZxdW90 OyogQ3JlYXRpbmcgb3B0aW9uczxzcGFuIGlkPSJyZW1vdmVkY2hhcnMiPix4bWw8L3NwYW4+JnF1 b3Q7KTsKPC9wcmU+PHByZSBjbGFzcz0iZGlmZiIgaWQ9ImFkZGVkIj4rCUxvZygmcXVvdDsqIENy ZWF0aW5nIG9wdGlvbnM8c3BhbiBpZD0iYWRkZWRjaGFycyI+LnhtbCBmcm9tIFJlc291cmNlczwv c3Bhbj4mcXVvdDspOwo8L3ByZT48cHJlIGNsYXNzPSJkaWZmIiBpZD0iY29udGV4dCI+IAo8L3By ZT48cHJlIGNsYXNzPSJkaWZmIiBpZD0iYWRkZWQiPisJSFJTUkMgaHJlcyA9IEZpbmRSZXNvdXJj ZShHZXRNb2R1bGVIYW5kbGUoTCZxdW90O3BhY2thZ2UmcXVvdDspLCBNQUtFSU5UUkVTT1VSQ0Uo MTIzKSwgUlRfUkNEQVRBKTsKKwlpZiAoIWhyZXMpCisJeworCQlMb2coJnF1b3Q7ISBFUlJPUjog Q291bGQgbm90IGxvYWQgaXQgISZxdW90Oyk7CisJCXJldHVybiBFUlJfR0VORVJJQzsKKwl9CisJ CisJTWVzc2FnZUJveCgwLChXQ0hBUiopTG9ja1Jlc291cmNlKExvYWRSZXNvdXJjZShOVUxMLCBo cmVzKSksIDAsIDApOwkvLyBpcyBlbXB0eQorCS8vZmlsZSAmbHQ7Jmx0OyAoV0NIQVIqKUxvY2tS ZXNvdXJjZShMb2FkUmVzb3VyY2UoTlVMTCwgaHJlcykpOworCjwvcHJlPjxwcmUgY2xhc3M9ImRp ZmYiIGlkPSJjb250ZXh0Ij4gCXJldHVybiBFUlJfT0s7CiB9CjwvcHJlPjxwcmUgY2xhc3M9ImRp ZmYiIGlkPSJhZGRlZCI+KyovCjwvcHJlPjxwcmUgY2xhc3M9ImRpZmYiIGlkPSJjb250ZXh0Ij4g CjwvcHJlPjxwcmUgY2xhc3M9ImRpZmYiIGlkPSJhZGRlZCI+K2NoYXIqIFBNTF9Eb3dubG9hZCAo cFRyZWUsIGNvbnN0IGNoYXIqIHVybCwgY29uc3QgY2hhciogc2VydmVyLCBjb25zdCBjaGFyKiBm aWxlbmFtZSk7CisKK2ludCBDcmVhdGVPcHRpb25zIChUUkVFKiB0cmVlKQoreworCUxvZygmcXVv dDsqIExvYWQgb3B0aW9ucy54bWwgZnJvbSB0aGUgSW50ZXJuZXQgKFRlbXBvcmFyeSBIYWNrKSZx dW90Oyk7CisKKwlDb3B5RmlsZUEoIFBNTF9Eb3dubG9hZCh0cmVlLCAmcXVvdDtodHRwOi8vc3Zu LnJlYWN0b3MuY29tL3ZpZXdjdnMvKmNoZWNrb3V0Ki90cnVuay9yb3NhcHBzL3BhY2ttZ3IvZ3Vp L29wdGlvbnMueG1sJnF1b3Q7LCBOVUxMLCAmcXVvdDtvcHRpb25zLnhtbCZxdW90OyksICZxdW90 O29wdGlvbnMueG1sJnF1b3Q7LCBUUlVFKTsKKwkKKwlyZXR1cm4gRVJSX09LOworfQorCjwvcHJl PjxwcmUgY2xhc3M9ImRpZmYiIGlkPSJjb250ZXh0Ij4gaW50IExvYWRPcHRpb25zIChUUkVFKiB0 cmVlKQogewogCWludCBlcnJvcjsKPC9wcmU+PC9kaXY+CjxociAvPjxkaXYgY2xhc3M9ImZpbGUi Pgo8ZGl2IGNsYXNzPSJmaWxlaGVhZGVyIj48YmlnPjxiPk1vZGlmaWVkOiB0cnVuay9yb3NhcHBz L3BhY2ttZ3IvbGliL3BhY2thZ2UucmM8L2I+PC9iaWc+PC9kaXY+CjxwcmUgY2xhc3M9ImRpZmYi PjxzbWFsbCBpZD0iaW5mbyI+LS0tIHRydW5rL3Jvc2FwcHMvcGFja21nci9saWIvcGFja2FnZS5y YwkyMDA1LTA1LTE2IDEwOjMwOjEzIFVUQyAocmV2IDE1MzMxKQorKysgdHJ1bmsvcm9zYXBwcy9w YWNrbWdyL2xpYi9wYWNrYWdlLnJjCTIwMDUtMDUtMTYgMTA6NTM6NDYgVVRDIChyZXYgMTUzMzIp CkBAIC0xMSw2ICsxMSw3IEBACjwvc21hbGw+PC9wcmU+PHByZSBjbGFzcz0iZGlmZiIgaWQ9ImNv bnRleHQiPiAvKiBMYW5ndWFnZSBzcGVjaWZpYyAqLwogCiAjaW5jbHVkZSAmcXVvdDtlbi5yYyZx dW90Owo8L3ByZT48cHJlIGNsYXNzPSJkaWZmIiBpZD0iYWRkZWQiPisjaW5jbHVkZSAmcXVvdDtk ZS5yYyZxdW90Owo8L3ByZT48cHJlIGNsYXNzPSJkaWZmIiBpZD0iY29udGV4dCI+ICNpbmNsdWRl ICZxdW90O2N6LnJjJnF1b3Q7CiAjaW5jbHVkZSAmcXVvdDtlcy5yYyZxdW90OwogCjwvcHJlPgo8 L2Rpdj4KCjwvYm9keT4KPC9odG1sPgo= --===============5436661252116257231==--