var gameabc_senderror = 0;

var gameabc = function() {
    function s(SIt2, L$qig3, Qf4) {
        var PzF5, IKcga6, d7;
        for (IKcga6 = 0; IKcga6 < 30; IKcga6++)
            for (PzF5 = 0; PzF5 < 73; PzF5++)
                d7 = (PzF5 + IKcga6 * 74) * 4,
                SIt2[d7] = SIt2[d7 + 4],
                SIt2[d7 + 1] = SIt2[d7 + 5],
                SIt2[d7 + 2] = SIt2[d7 + 6];
        for (IKcga6 = 0; IKcga6 < 30; IKcga6++)
            d7 = (73 + IKcga6 * 74) * 4,
            IKcga6 < L$qig3 ? (SIt2[d7] = b[Qf4]["\x62\x67"]["\x72"],
            SIt2[d7 + 1] = b[Qf4]["\x62\x67"]["\x67"],
            SIt2[d7 + 2] = b[Qf4]["\x62\x67"]["\x62"]) : (SIt2[d7] = b[Qf4]["\x66\x67"]["\x72"],
            SIt2[d7 + 1] = b[Qf4]["\x66\x67"]["\x67"],
            SIt2[d7 + 2] = b[Qf4]["\x66\x67"]["\x62"])
    }
    var s8 = 0, QTsilt9 = 2, grEpoZ10, hZ11 = 0, _kO12 = (new window["\x44\x61\x74\x65"])["\x67\x65\x74\x54\x69\x6d\x65"](), D13 = _kO12, hPuk14 = _kO12, nogIEsi15 = 0, aGfBpM_16 = 1E3, pIipoKbeZ17 = 0, ESmULEmZ18, MC$T19, CwNEUSu20, _21, eg$MBfn22, blcZCzThy23 = 0, T24 = 1E3, $zRe25 = 0, kvje26, K27, $28, BZEK29, alOujP30 = 0, yj31 = 1E3, DiXUY32 = 0, uMlB33, dcngJtbw34, wMVlPSdU35, LkrwEFr36, qppYSsGe37 = {
        fps: {
            bg: {
                s8: 16,
                grEpoZ10: 16,
                qppYSsGe37: 48
            },
            fg: {
                s8: 0,
                grEpoZ10: 255,
                qppYSsGe37: 255
            }
        },
        ms: {
            bg: {
                s8: 16,
                grEpoZ10: 48,
                qppYSsGe37: 16
            },
            fg: {
                s8: 0,
                grEpoZ10: 255,
                qppYSsGe37: 0
            }
        },
        mb: {
            bg: {
                s8: 48,
                grEpoZ10: 16,
                qppYSsGe37: 26
            },
            fg: {
                s8: 255,
                grEpoZ10: 0,
                qppYSsGe37: 128
            }
        }
    };
    grEpoZ10 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74"]("\x64\x69\x76");
    grEpoZ10["\x63\x6c\x61\x73\x73\x4e\x61\x6d\x65"] = "\x73\x74\x61\x74\x73";
    grEpoZ10["\x73\x74\x79\x6c\x65"]["\x63\x75\x72\x73\x6f\x72"] = "\x70\x6f\x69\x6e\x74\x65\x72";
    grEpoZ10["\x73\x74\x79\x6c\x65"]["\x77\x69\x64\x74\x68"] = "\x38\x30\x70\x78";
    grEpoZ10["\x73\x74\x79\x6c\x65"]["\x6f\x70\x61\x63\x69\x74\x79"] = "\x30\x2e\x39";
    grEpoZ10["\x73\x74\x79\x6c\x65"]["\x7a\x49\x6e\x64\x65\x78"] = "\x31\x30\x30\x30\x31";
    grEpoZ10["\x61\x64\x64\x45\x76\x65\x6e\x74\x4c\x69\x73\x74\x65\x6e\x65\x72"]("\x63\x6c\x69\x63\x6b", function() {
        s8++;
        s8 == QTsilt9 && (s8 = 0);
        ESmULEmZ18["\x73\x74\x79\x6c\x65"]["\x64\x69\x73\x70\x6c\x61\x79"] = "\x6e\x6f\x6e\x65";
        kvje26["\x73\x74\x79\x6c\x65"]["\x64\x69\x73\x70\x6c\x61\x79"] = "\x6e\x6f\x6e\x65";
        uMlB33["\x73\x74\x79\x6c\x65"]["\x64\x69\x73\x70\x6c\x61\x79"] = "\x6e\x6f\x6e\x65";
        switch (s8) {
        case 0:
            ESmULEmZ18["\x73\x74\x79\x6c\x65"]["\x64\x69\x73\x70\x6c\x61\x79"] = "\x62\x6c\x6f\x63\x6b";
            break;
        case 1:
            kvje26["\x73\x74\x79\x6c\x65"]["\x64\x69\x73\x70\x6c\x61\x79"] = "\x62\x6c\x6f\x63\x6b";
            break;
        case 2:
            uMlB33["\x73\x74\x79\x6c\x65"]["\x64\x69\x73\x70\x6c\x61\x79"] = "\x62\x6c\x6f\x63\x6b"
        }
    }, !1);
    ESmULEmZ18 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74"]("\x64\x69\x76");
    ESmULEmZ18["\x73\x74\x79\x6c\x65"]["\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x43\x6f\x6c\x6f\x72"] = "\x72\x67\x62\x28" + window["\x4d\x61\x74\x68"]["\x66\x6c\x6f\x6f\x72"](qppYSsGe37["\x66\x70\x73"]["\x62\x67"]["\x72"] / 2) + "\x2c" + window["\x4d\x61\x74\x68"]["\x66\x6c\x6f\x6f\x72"](qppYSsGe37["\x66\x70\x73"]["\x62\x67"]["\x67"] / 2) + "\x2c" + window["\x4d\x61\x74\x68"]["\x66\x6c\x6f\x6f\x72"](qppYSsGe37["\x66\x70\x73"]["\x62\x67"]["\x62"] / 2) + "\x29";
    ESmULEmZ18["\x73\x74\x79\x6c\x65"]["\x70\x61\x64\x64\x69\x6e\x67"] = "\x32\x70\x78 \x30\x70\x78 \x33\x70\x78 \x30\x70\x78";
    grEpoZ10["\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64"](ESmULEmZ18);
    MC$T19 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74"]("\x64\x69\x76");
    MC$T19["\x73\x74\x79\x6c\x65"]["\x66\x6f\x6e\x74\x46\x61\x6d\x69\x6c\x79"] = "\x48\x65\x6c\x76\x65\x74\x69\x63\x61\x2c \x41\x72\x69\x61\x6c\x2c \x73\x61\x6e\x73\x2d\x73\x65\x72\x69\x66";
    MC$T19["\x73\x74\x79\x6c\x65"]["\x74\x65\x78\x74\x41\x6c\x69\x67\x6e"] = "\x6c\x65\x66\x74";
    MC$T19["\x73\x74\x79\x6c\x65"]["\x66\x6f\x6e\x74\x53\x69\x7a\x65"] = "\x39\x70\x78";
    MC$T19["\x73\x74\x79\x6c\x65"]["\x63\x6f\x6c\x6f\x72"] = "\x72\x67\x62\x28" + qppYSsGe37["\x66\x70\x73"]["\x66\x67"]["\x72"] + "\x2c" + qppYSsGe37["\x66\x70\x73"]["\x66\x67"]["\x67"] + "\x2c" + qppYSsGe37["\x66\x70\x73"]["\x66\x67"]["\x62"] + "\x29";
    MC$T19["\x73\x74\x79\x6c\x65"]["\x6d\x61\x72\x67\x69\x6e"] = "\x30\x70\x78 \x30\x70\x78 \x31\x70\x78 \x33\x70\x78";
    MC$T19["\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c"] = '\x3c\x73\x70\x61\x6e \x73\x74\x79\x6c\x65\x3d\x22\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x62\x6f\x6c\x64\x22\x3e\x46\x50\x53\x3c\x2f\x73\x70\x61\x6e\x3e';
    ESmULEmZ18["\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64"](MC$T19);
    CwNEUSu20 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74"]("\x63\x61\x6e\x76\x61\x73");
    CwNEUSu20["\x77\x69\x64\x74\x68"] = 74;
    CwNEUSu20["\x68\x65\x69\x67\x68\x74"] = 30;
    CwNEUSu20["\x73\x74\x79\x6c\x65"]["\x64\x69\x73\x70\x6c\x61\x79"] = "\x62\x6c\x6f\x63\x6b";
    CwNEUSu20["\x73\x74\x79\x6c\x65"]["\x6d\x61\x72\x67\x69\x6e\x4c\x65\x66\x74"] = "\x33\x70\x78";
    ESmULEmZ18["\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64"](CwNEUSu20);
    _21 = CwNEUSu20["\x67\x65\x74\x43\x6f\x6e\x74\x65\x78\x74"]("\x32\x64");
    _21["\x66\x69\x6c\x6c\x53\x74\x79\x6c\x65"] = "\x72\x67\x62\x28" + qppYSsGe37["\x66\x70\x73"]["\x62\x67"]["\x72"] + "\x2c" + qppYSsGe37["\x66\x70\x73"]["\x62\x67"]["\x67"] + "\x2c" + qppYSsGe37["\x66\x70\x73"]["\x62\x67"]["\x62"] + "\x29";
    _21["\x66\x69\x6c\x6c\x52\x65\x63\x74"](0, 0, CwNEUSu20["\x77\x69\x64\x74\x68"], CwNEUSu20["\x68\x65\x69\x67\x68\x74"]);
    eg$MBfn22 = _21["\x67\x65\x74\x49\x6d\x61\x67\x65\x44\x61\x74\x61"](0, 0, CwNEUSu20["\x77\x69\x64\x74\x68"], CwNEUSu20["\x68\x65\x69\x67\x68\x74"]);
    kvje26 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74"]("\x64\x69\x76");
    kvje26["\x73\x74\x79\x6c\x65"]["\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x43\x6f\x6c\x6f\x72"] = "\x72\x67\x62\x28" + window["\x4d\x61\x74\x68"]["\x66\x6c\x6f\x6f\x72"](qppYSsGe37["\x6d\x73"]["\x62\x67"]["\x72"] / 2) + "\x2c" + window["\x4d\x61\x74\x68"]["\x66\x6c\x6f\x6f\x72"](qppYSsGe37["\x6d\x73"]["\x62\x67"]["\x67"] / 2) + "\x2c" + window["\x4d\x61\x74\x68"]["\x66\x6c\x6f\x6f\x72"](qppYSsGe37["\x6d\x73"]["\x62\x67"]["\x62"] / 2) + "\x29";
    kvje26["\x73\x74\x79\x6c\x65"]["\x70\x61\x64\x64\x69\x6e\x67"] = "\x32\x70\x78 \x30\x70\x78 \x33\x70\x78 \x30\x70\x78";
    kvje26["\x73\x74\x79\x6c\x65"]["\x64\x69\x73\x70\x6c\x61\x79"] = "\x6e\x6f\x6e\x65";
    grEpoZ10["\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64"](kvje26);
    K27 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74"]("\x64\x69\x76");
    K27["\x73\x74\x79\x6c\x65"]["\x66\x6f\x6e\x74\x46\x61\x6d\x69\x6c\x79"] = "\x48\x65\x6c\x76\x65\x74\x69\x63\x61\x2c \x41\x72\x69\x61\x6c\x2c \x73\x61\x6e\x73\x2d\x73\x65\x72\x69\x66";
    K27["\x73\x74\x79\x6c\x65"]["\x74\x65\x78\x74\x41\x6c\x69\x67\x6e"] = "\x6c\x65\x66\x74";
    K27["\x73\x74\x79\x6c\x65"]["\x66\x6f\x6e\x74\x53\x69\x7a\x65"] = "\x39\x70\x78";
    K27["\x73\x74\x79\x6c\x65"]["\x63\x6f\x6c\x6f\x72"] = "\x72\x67\x62\x28" + qppYSsGe37["\x6d\x73"]["\x66\x67"]["\x72"] + "\x2c" + qppYSsGe37["\x6d\x73"]["\x66\x67"]["\x67"] + "\x2c" + qppYSsGe37["\x6d\x73"]["\x66\x67"]["\x62"] + "\x29";
    K27["\x73\x74\x79\x6c\x65"]["\x6d\x61\x72\x67\x69\x6e"] = "\x30\x70\x78 \x30\x70\x78 \x31\x70\x78 \x33\x70\x78";
    K27["\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c"] = '\x3c\x73\x70\x61\x6e \x73\x74\x79\x6c\x65\x3d\x22\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x62\x6f\x6c\x64\x22\x3e\x4d\x53\x3c\x2f\x73\x70\x61\x6e\x3e';
    kvje26["\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64"](K27);
    CwNEUSu20 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74"]("\x63\x61\x6e\x76\x61\x73");
    CwNEUSu20["\x77\x69\x64\x74\x68"] = 74;
    CwNEUSu20["\x68\x65\x69\x67\x68\x74"] = 30;
    CwNEUSu20["\x73\x74\x79\x6c\x65"]["\x64\x69\x73\x70\x6c\x61\x79"] = "\x62\x6c\x6f\x63\x6b";
    CwNEUSu20["\x73\x74\x79\x6c\x65"]["\x6d\x61\x72\x67\x69\x6e\x4c\x65\x66\x74"] = "\x33\x70\x78";
    kvje26["\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64"](CwNEUSu20);
    $28 = CwNEUSu20["\x67\x65\x74\x43\x6f\x6e\x74\x65\x78\x74"]("\x32\x64");
    $28["\x66\x69\x6c\x6c\x53\x74\x79\x6c\x65"] = "\x72\x67\x62\x28" + qppYSsGe37["\x6d\x73"]["\x62\x67"]["\x72"] + "\x2c" + qppYSsGe37["\x6d\x73"]["\x62\x67"]["\x67"] + "\x2c" + qppYSsGe37["\x6d\x73"]["\x62\x67"]["\x62"] + "\x29";
    $28["\x66\x69\x6c\x6c\x52\x65\x63\x74"](0, 0, CwNEUSu20["\x77\x69\x64\x74\x68"], CwNEUSu20["\x68\x65\x69\x67\x68\x74"]);
    BZEK29 = $28["\x67\x65\x74\x49\x6d\x61\x67\x65\x44\x61\x74\x61"](0, 0, CwNEUSu20["\x77\x69\x64\x74\x68"], CwNEUSu20["\x68\x65\x69\x67\x68\x74"]);
    try {
        performance && performance["\x6d\x65\x6d\x6f\x72\x79"] && performance["\x6d\x65\x6d\x6f\x72\x79"]["\x74\x6f\x74\x61\x6c\x4a\x53\x48\x65\x61\x70\x53\x69\x7a\x65"] && (QTsilt9 = 3)
    } catch (G) {}
    uMlB33 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74"]("\x64\x69\x76");
    uMlB33["\x73\x74\x79\x6c\x65"]["\x62\x61\x63\x6b\x67\x72\x6f\x75\x6e\x64\x43\x6f\x6c\x6f\x72"] = "\x72\x67\x62\x28" + window["\x4d\x61\x74\x68"]["\x66\x6c\x6f\x6f\x72"](qppYSsGe37["\x6d\x62"]["\x62\x67"]["\x72"] / 2) + "\x2c" + window["\x4d\x61\x74\x68"]["\x66\x6c\x6f\x6f\x72"](qppYSsGe37["\x6d\x62"]["\x62\x67"]["\x67"] / 2) + "\x2c" + window["\x4d\x61\x74\x68"]["\x66\x6c\x6f\x6f\x72"](qppYSsGe37["\x6d\x62"]["\x62\x67"]["\x62"] / 2) + "\x29";
    uMlB33["\x73\x74\x79\x6c\x65"]["\x70\x61\x64\x64\x69\x6e\x67"] = "\x32\x70\x78 \x30\x70\x78 \x33\x70\x78 \x30\x70\x78";
    uMlB33["\x73\x74\x79\x6c\x65"]["\x64\x69\x73\x70\x6c\x61\x79"] = "\x6e\x6f\x6e\x65";
    grEpoZ10["\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64"](uMlB33);
    dcngJtbw34 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74"]("\x64\x69\x76");
    dcngJtbw34["\x73\x74\x79\x6c\x65"]["\x66\x6f\x6e\x74\x46\x61\x6d\x69\x6c\x79"] = "\x48\x65\x6c\x76\x65\x74\x69\x63\x61\x2c \x41\x72\x69\x61\x6c\x2c \x73\x61\x6e\x73\x2d\x73\x65\x72\x69\x66";
    dcngJtbw34["\x73\x74\x79\x6c\x65"]["\x74\x65\x78\x74\x41\x6c\x69\x67\x6e"] = "\x6c\x65\x66\x74";
    dcngJtbw34["\x73\x74\x79\x6c\x65"]["\x66\x6f\x6e\x74\x53\x69\x7a\x65"] = "\x39\x70\x78";
    dcngJtbw34["\x73\x74\x79\x6c\x65"]["\x63\x6f\x6c\x6f\x72"] = "\x72\x67\x62\x28" + qppYSsGe37["\x6d\x62"]["\x66\x67"]["\x72"] + "\x2c" + qppYSsGe37["\x6d\x62"]["\x66\x67"]["\x67"] + "\x2c" + qppYSsGe37["\x6d\x62"]["\x66\x67"]["\x62"] + "\x29";
    dcngJtbw34["\x73\x74\x79\x6c\x65"]["\x6d\x61\x72\x67\x69\x6e"] = "\x30\x70\x78 \x30\x70\x78 \x31\x70\x78 \x33\x70\x78";
    dcngJtbw34["\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c"] = '\x3c\x73\x70\x61\x6e \x73\x74\x79\x6c\x65\x3d\x22\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x62\x6f\x6c\x64\x22\x3e\x4d\x42\x3c\x2f\x73\x70\x61\x6e\x3e';
    uMlB33["\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64"](dcngJtbw34);
    CwNEUSu20 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74"]("\x63\x61\x6e\x76\x61\x73");
    CwNEUSu20["\x77\x69\x64\x74\x68"] = 74;
    CwNEUSu20["\x68\x65\x69\x67\x68\x74"] = 30;
    CwNEUSu20["\x73\x74\x79\x6c\x65"]["\x64\x69\x73\x70\x6c\x61\x79"] = "\x62\x6c\x6f\x63\x6b";
    CwNEUSu20["\x73\x74\x79\x6c\x65"]["\x6d\x61\x72\x67\x69\x6e\x4c\x65\x66\x74"] = "\x33\x70\x78";
    uMlB33["\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64"](CwNEUSu20);
    wMVlPSdU35 = CwNEUSu20["\x67\x65\x74\x43\x6f\x6e\x74\x65\x78\x74"]("\x32\x64");
    wMVlPSdU35["\x66\x69\x6c\x6c\x53\x74\x79\x6c\x65"] = "\x23\x33\x30\x31\x30\x31\x30";
    wMVlPSdU35["\x66\x69\x6c\x6c\x52\x65\x63\x74"](0, 0, CwNEUSu20["\x77\x69\x64\x74\x68"], CwNEUSu20["\x68\x65\x69\x67\x68\x74"]);
    LkrwEFr36 = wMVlPSdU35["\x67\x65\x74\x49\x6d\x61\x67\x65\x44\x61\x74\x61"](0, 0, CwNEUSu20["\x77\x69\x64\x74\x68"], CwNEUSu20["\x68\x65\x69\x67\x68\x74"]);
    return {
        domElement: grEpoZ10,
        update: function() {
            hZ11++;
            _kO12 = (new window["\x44\x61\x74\x65"])["\x67\x65\x74\x54\x69\x6d\x65"]();
            blcZCzThy23 = _kO12 - D13;
            T24 = window["\x4d\x61\x74\x68"]["\x6d\x69\x6e"](T24, blcZCzThy23);
            $zRe25 = window["\x4d\x61\x74\x68"]["\x6d\x61\x78"]($zRe25, blcZCzThy23);
            s(BZEK29["\x64\x61\x74\x61"], window["\x4d\x61\x74\x68"]["\x6d\x69\x6e"](30, 30 - blcZCzThy23 / 200 * 30), "\x6d\x73");
            K27["\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c"] = '\x3c\x73\x70\x61\x6e \x73\x74\x79\x6c\x65\x3d\x22\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x62\x6f\x6c\x64\x22\x3e' + blcZCzThy23 + " \x4d\x53\x3c\x2f\x73\x70\x61\x6e\x3e \x28" + T24 + "\x2d" + $zRe25 + "\x29";
            $28["\x70\x75\x74\x49\x6d\x61\x67\x65\x44\x61\x74\x61"](BZEK29, 0, 0);
            D13 = _kO12;
            if (_kO12 > hPuk14 + 1E3) {
                nogIEsi15 = window["\x4d\x61\x74\x68"]["\x72\x6f\x75\x6e\x64"](hZ11 * 1E3 / (_kO12 - hPuk14));
                aGfBpM_16 = window["\x4d\x61\x74\x68"]["\x6d\x69\x6e"](aGfBpM_16, nogIEsi15);
                pIipoKbeZ17 = window["\x4d\x61\x74\x68"]["\x6d\x61\x78"](pIipoKbeZ17, nogIEsi15);
                s(eg$MBfn22["\x64\x61\x74\x61"], window["\x4d\x61\x74\x68"]["\x6d\x69\x6e"](30, 30 - nogIEsi15 / 100 * 30), "\x66\x70\x73");
                MC$T19["\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c"] = '\x3c\x73\x70\x61\x6e \x73\x74\x79\x6c\x65\x3d\x22\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x62\x6f\x6c\x64\x22\x3e' + nogIEsi15 + " \x46\x50\x53\x3c\x2f\x73\x70\x61\x6e\x3e \x28" + aGfBpM_16 + "\x2d" + pIipoKbeZ17 + "\x29";
                _21["\x70\x75\x74\x49\x6d\x61\x67\x65\x44\x61\x74\x61"](eg$MBfn22, 0, 0);
                if (QTsilt9 == 3)
                    alOujP30 = performance["\x6d\x65\x6d\x6f\x72\x79"]["\x75\x73\x65\x64\x4a\x53\x48\x65\x61\x70\x53\x69\x7a\x65"] * 9.54E-7,
                    yj31 = window["\x4d\x61\x74\x68"]["\x6d\x69\x6e"](yj31, alOujP30),
                    DiXUY32 = window["\x4d\x61\x74\x68"]["\x6d\x61\x78"](DiXUY32, alOujP30),
                    s(LkrwEFr36["\x64\x61\x74\x61"], window["\x4d\x61\x74\x68"]["\x6d\x69\x6e"](30, 30 - alOujP30 / 2), "\x6d\x62"),
                    dcngJtbw34["\x69\x6e\x6e\x65\x72\x48\x54\x4d\x4c"] = '\x3c\x73\x70\x61\x6e \x73\x74\x79\x6c\x65\x3d\x22\x66\x6f\x6e\x74\x2d\x77\x65\x69\x67\x68\x74\x3a\x62\x6f\x6c\x64\x22\x3e' + window["\x4d\x61\x74\x68"]["\x72\x6f\x75\x6e\x64"](alOujP30) + " \x4d\x42\x3c\x2f\x73\x70\x61\x6e\x3e \x28" + window["\x4d\x61\x74\x68"]["\x72\x6f\x75\x6e\x64"](yj31) + "\x2d" + window["\x4d\x61\x74\x68"]["\x72\x6f\x75\x6e\x64"](DiXUY32) + "\x29",
                    wMVlPSdU35["\x70\x75\x74\x49\x6d\x61\x67\x65\x44\x61\x74\x61"](LkrwEFr36, 0, 0);
                hPuk14 = _kO12;
                hZ11 = 0
            }
        }
    }
};
var game123 = function() {
    function s(a, g, d) {
        var f, c, e;
        for (c = 0; c < 30; c++)
            for (f = 0; f < 73; f++)
                e = (f + c * 74) * 4,
                a[e] = a[e + 4],
                a[e + 1] = a[e + 5],
                a[e + 2] = a[e + 6];
        for (c = 0; c < 30; c++)
            e = (73 + c * 74) * 4,
            c < g ? (a[e] = b[d].bg.r,
            a[e + 1] = b[d].bg.g,
            a[e + 2] = b[d].bg.b) : (a[e] = b[d].fg.r,
            a[e + 1] = b[d].fg.g,
            a[e + 2] = b[d].fg.b)
    }
    var r = 0, t = 2, g, u = 0, j = (new Date).getTime(), F = j, v = j, l = 0, w = 1E3, x = 0, k, d, a, m, y, n = 0, z = 1E3, A = 0, f, c, o, B, p = 0, C = 1E3, D = 0, h, i, q, E, b = {
        fps: {
            bg: {
                r: 16,
                g: 16,
                b: 48
            },
            fg: {
                r: 0,
                g: 255,
                b: 255
            }
        },
        ms: {
            bg: {
                r: 16,
                g: 48,
                b: 16
            },
            fg: {
                r: 0,
                g: 255,
                b: 0
            }
        },
        mb: {
            bg: {
                r: 48,
                g: 16,
                b: 26
            },
            fg: {
                r: 255,
                g: 0,
                b: 128
            }
        }
    };
    g = document.createElement("div");
    g.className = "stats";
    g.style.cursor = "pointer";
    g.style.width = "80px";
    g.style.opacity = "0.9";
    g.style.zIndex = "10001";
    g.addEventListener("click", function() {
        r++;
        r == t && (r = 0);
        k.style.display = "none";
        f.style.display = "none";
        h.style.display = "none";
        switch (r) {
        case 0:
            k.style.display = "block";
            break;
        case 1:
            f.style.display = "block";
            break;
        case 2:
            h.style.display = "block"
        }
    }, !1);
    k = document.createElement("div");
    k.style.backgroundColor = "rgb(" + Math.floor(b.fps.bg.r / 2) + "," + Math.floor(b.fps.bg.g / 2) + "," + Math.floor(b.fps.bg.b / 2) + ")";
    k.style.padding = "2px 0px 3px 0px";
    g.appendChild(k);
    d = document.createElement("div");
    d.style.fontFamily = "Helvetica, Arial, sans-serif";
    d.style.textAlign = "left";
    d.style.fontSize = "9px";
    d.style.color = "rgb(" + b.fps.fg.r + "," + b.fps.fg.g + "," + b.fps.fg.b + ")";
    d.style.margin = "0px 0px 1px 3px";
    d.innerHTML = '<span style="font-weight:bold">FPS</span>';
    k.appendChild(d);
    a = document.createElement("canvas");
    a.width = 74;
    a.height = 30;
    a.style.display = "block";
    a.style.marginLeft = "3px";
    k.appendChild(a);
    m = a.getContext("2d");
    m.fillStyle = "rgb(" + b.fps.bg.r + "," + b.fps.bg.g + "," + b.fps.bg.b + ")";
    m.fillRect(0, 0, a.width, a.height);
    y = m.getImageData(0, 0, a.width, a.height);
    f = document.createElement("div");
    f.style.backgroundColor = "rgb(" + Math.floor(b.ms.bg.r / 2) + "," + Math.floor(b.ms.bg.g / 2) + "," + Math.floor(b.ms.bg.b / 2) + ")";
    f.style.padding = "2px 0px 3px 0px";
    f.style.display = "none";
    g.appendChild(f);
    c = document.createElement("div");
    c.style.fontFamily = "Helvetica, Arial, sans-serif";
    c.style.textAlign = "left";
    c.style.fontSize = "9px";
    c.style.color = "rgb(" + b.ms.fg.r + "," + b.ms.fg.g + "," + b.ms.fg.b + ")";
    c.style.margin = "0px 0px 1px 3px";
    c.innerHTML = '<span style="font-weight:bold">MS</span>';
    f.appendChild(c);
    a = document.createElement("canvas");
    a.width = 74;
    a.height = 30;
    a.style.display = "block";
    a.style.marginLeft = "3px";
    f.appendChild(a);
    o = a.getContext("2d");
    o.fillStyle = "rgb(" + b.ms.bg.r + "," + b.ms.bg.g + "," + b.ms.bg.b + ")";
    o.fillRect(0, 0, a.width, a.height);
    B = o.getImageData(0, 0, a.width, a.height);
    try {
        performance && performance.memory && performance.memory.totalJSHeapSize && (t = 3)
    } catch (G) {}
    h = document.createElement("div");
    h.style.backgroundColor = "rgb(" + Math.floor(b.mb.bg.r / 2) + "," + Math.floor(b.mb.bg.g / 2) + "," + Math.floor(b.mb.bg.b / 2) + ")";
    h.style.padding = "2px 0px 3px 0px";
    h.style.display = "none";
    g.appendChild(h);
    i = document.createElement("div");
    i.style.fontFamily = "Helvetica, Arial, sans-serif";
    i.style.textAlign = "left";
    i.style.fontSize = "9px";
    i.style.color = "rgb(" + b.mb.fg.r + "," + b.mb.fg.g + "," + b.mb.fg.b + ")";
    i.style.margin = "0px 0px 1px 3px";
    i.innerHTML = '<span style="font-weight:bold">MB</span>';
    h.appendChild(i);
    a = document.createElement("canvas");
    a.width = 74;
    a.height = 30;
    a.style.display = "block";
    a.style.marginLeft = "3px";
    h.appendChild(a);
    q = a.getContext("2d");
    q.fillStyle = "#301010";
    q.fillRect(0, 0, a.width, a.height);
    E = q.getImageData(0, 0, a.width, a.height);
    return {
        domElement: g,
        update: function() {
            u++;
            j = (new Date).getTime();
            n = j - F;
            z = Math.min(z, n);
            A = Math.max(A, n);
            s(B.data, Math.min(30, 30 - n / 200 * 30), "ms");
            c.innerHTML = '<span style="font-weight:bold">' + n + " MS</span> (" + z + "-" + A + ")";
            o.putImageData(B, 0, 0);
            F = j;
            if (j > v + 1E3) {
                l = Math.round(u * 1E3 / (j - v));
                w = Math.min(w, l);
                x = Math.max(x, l);
                s(y.data, Math.min(30, 30 - l / 100 * 30), "fps");
                d.innerHTML = '<span style="font-weight:bold">' + l + " FPS</span> (" + w + "-" + x + ")";
                m.putImageData(y, 0, 0);
                if (t == 3)
                    p = performance.memory.usedJSHeapSize * 9.54E-7,
                    C = Math.min(C, p),
                    D = Math.max(D, p),
                    s(E.data, Math.min(30, 30 - p / 2), "mb"),
                    i.innerHTML = '<span style="font-weight:bold">' + Math.round(p) + " MB</span> (" + Math.round(C) + "-" + Math.round(D) + ")",
                    q.putImageData(E, 0, 0);
                v = j;
                u = 0
            }
        }
    }
};
var ifastunit = 0;
var ifast_jb;
var dfw1977s = 1;
var dfw1977e = 1;
var testdate111 = '{"dfw":123}';
var gameabc_face = gameabc_face || {};
var ifast_hashmaps = {};
var ifast_seerect = {};
gameabc_face.resizeinitok = 0;
gameabc_face.dfwgao=10;
gameabc_face.vw = 1;
gameabc_face.lmx = 30;
gameabc_face.lmy = 30;
gameabc_face.userchargez = 0;
gameabc_face.randombase = 777777;
gameabc_face.randomhttp = 777777;
gameabc_face.img_list_pre = [];
gameabc_face.img_list_downing = [];
dfwusercavans = 0;
gameabc_face.downing_count = 100;
gameabc_face.webmode = 0;
gameabc_face.drawcharge = 1;
gameabc_face.drawmouse = 1;
gameabc_face.drawnet = 1;
gameabc_face.drawtime = 1;
gameabc_face.drawface = 1;
gameabc_face.fastup_time = 250;
gameabc_face.checkmustdraw = function() {
    if (gameabc_face.webmode == 0) {
        return 1;
    }
    ;var k;
    k = this.drawcharge || this.drawnet || this.drawtime || this.drawface || this.drawmouse;
    this.drawcharge = 0;
    this.drawmouse = 0;
    this.drawnet = 0;
    this.drawtime = 0;
    this.drawface = 0;
    return k;
}
;

function dfwtime200() {
    var i1 = gameabc_face.img_list_pre.length;
    var i2 = gameabc_face.img_list_downing.length;
    var obj;
    {
        while (i2 < gameabc_face.downing_count && i1 > 0) {
            obj = gameabc_face.img_list_pre[0];
            i2 = gameabc_face.img_list_downing.push(obj);
            gameabc_face.img_list_pre.splice(0, 1);
            i1 = gameabc_face.img_list_pre.length;
            obj.src = obj.src_pre;
        }
    }
}
;function ifast_checkrect_seefastxy(x, y) {
    if (x >= ifast_seerect.w || y >= ifast_seerect.h) {
        return 0;
    } else {
        return 1;
    }
}
;function ifast_checkrect_seefastxywh(x, y, w, h) {
    if (x >= ifast_seerect.w || y >= ifast_seerect.h) {
        return 0;
    } else {
        return 1;
    }
    ;if (x + w <= 0 || y + h < 0) {
        return 0;
    } else {
        return 1;
    }
}
;function ifast_jsonchecktostring(msg) {
    if (msg) {
        if (typeof (msg) != 'string') {
            msg = JSON.stringify(msg);
        }
        ;
    }
    ;return msg;
}
;function ifast_checkjsonstr(v) {
    v = other_replaceall(v, "\n", "\\n");
    v = other_replaceall(v, "\r", "\\r");
    return v;
}
;function ifast_measureText(spid, caption) {
    var obj = ifast_getobj(spid);
    if (ifast_isno(obj)) {
        return 0;
    }
    ;var dc = ifast_getdc();
    dc.font = 'lighter ' + obj.h + 'px Arial';
    if (!caption) {
        caption = obj.caption;
    }
    ;return dc.measureText(caption).width;
}
;function getPixelRatio(context) {
    var backingStore = context.backingStorePixelRatio || context.webkitBackingStorePixelRatio || context.mozBackingStorePixelRatio || context.msBackingStorePixelRatio || context.oBackingStorePixelRatio || context.backingStorePixelRatio || 1;
    return (window.devicePixelRatio || 1) / backingStore;
}
;function allchargeobj(objid) {
    if (arguments.length == 0) {
        var i;
        for (i = 1; i < gameabc_Object.ObjectList.length; i++) {
            allchargeobj(i);
        }
        ;return;
    }
    ;var obj;
    var j;
    var objs = gameabc_Object.ObjectList;
    obj = gameabc_Object.ObjectList[objid].Property;
    if (!obj) {
        return;
    }
    ;if (!obj.OriginID) {
        return;
    }
    ;if (obj.OriginID == 0) {
        return;
    }
    ;var objf = ifast_getobj(obj.OriginID);
    if (!objf) {
        return;
    } else {
        allchargeobj(obj.OriginID);
    }
    ;ifast_spritealign(obj.offX, obj.offY, objid, obj.SelfPos, obj.OriginID, obj.OriginPos);
}
;function allcharge(layer) {
    if (!layer) {
        if (!gameabc_Image.addimgs) {
            gameabc_Image.addimgs = {};
        }
        ;if (!gameabc_face.loadui2) {
            return;
        }
        ;var d = 1;
        var okle;
        for (d = 1; d < gameabc_Layer.LayerList.length; d++) {
            okle = gameabc_Layer.LayerList[d];
            if (!okle.allrect) {
                okle.allrect = {};
                okle.syrect = {};
                okle.myrect = {};
            }
            ;allcharge(d);
        }
        ;allchargeobj();
        return;
    }
    ;var oklevel = gameabc_Layer.LayerList[layer];
    if (!oklevel.ObjectList) {
        return;
    }
    ;var oo = 0;
    var ww = g_GameObjectManager.backBuffer.width;
    var hh = g_GameObjectManager.backBuffer.height;
    oklevel.allrect.x = oo;
    oklevel.allrect.y = oo;
    oklevel.allrect.w = ww;
    oklevel.allrect.h = hh;
    oklevel.syrect.x = oo;
    oklevel.syrect.y = oo;
    oklevel.syrect.w = ww;
    oklevel.syrect.h = hh;
    oklevel.syrect.x = oo;
    oklevel.syrect.y = oo;
    oklevel.syrect.w = ww;
    oklevel.syrect.h = hh;
    var obj;
    var j;
    var objid;
    var count = oklevel.ObjectList.length;
    for (j = 0; j < count; j++) {
        objid = oklevel.ObjectList[j];
        obj = ifast_getobj(objid);
        if (!obj) {
            continue
        }
        ;try {
            if (obj.classid == 6) {
                oklevel.myrect = getmyrectdec(oklevel.allrect, oklevel.syrect, obj.Align, obj.SizeStyle, obj.Size, 1);
                set_self(objid, 28, oklevel.myrect);
            }
        } catch (e) {}
    }
    ;
}
;function getmyrect(rect, Align, SizeStyle, size) {
    return getmyrectdec(rect, rect, Align, SizeStyle, size, 0);
}
;function getmyrectdec(allrect, syrect, Align, SizeStyle, size, dec) {
    var myrect = {};
    switch (Align) {
    case 1:
        switch (SizeStyle) {
        case 0:
            myrect.x = syrect.x;
            myrect.y = syrect.y;
            myrect.w = size;
            myrect.h = syrect.h;
            break;
        case 1:
            myrect.x = syrect.x;
            myrect.y = syrect.y;
            myrect.h = syrect.h;
            myrect.w = (size / 10000) * allrect.w;
            break;
        case 2:
            myrect.x = syrect.x;
            myrect.y = syrect.y;
            myrect.h = syrect.h;
            myrect.w = (size / 10000) * syrect.w;
            break;
        }
        ;break;
    case 2:
        switch (SizeStyle) {
        case 0:
            myrect.x = syrect.x;
            myrect.y = syrect.y;
            myrect.w = syrect.w;
            myrect.h = size;
            break;
        case 1:
            myrect.x = syrect.x;
            myrect.y = syrect.y;
            myrect.w = syrect.w;
            myrect.h = (size / 10000) * allrect.h;
            break;
        case 2:
            myrect.x = syrect.x;
            myrect.y = syrect.y;
            myrect.w = syrect.w;
            myrect.h = (size / 10000) * syrect.h;
            break;
        }
        ;break;
    case 3:
        switch (SizeStyle) {
        case 0:
            myrect.x = syrect.x + allrect.w - size;
            myrect.y = syrect.y;
            myrect.h = syrect.h;
            myrect.w = size;
            break;
        case 1:
            myrect.x = syrect.x + syrect.w - (size / 10000) * allrect.w;
            myrect.y = syrect.y;
            myrect.h = syrect.h;
            myrect.w = (size / 10000) * syrect.w;
            break;
        case 2:
            myrect.x = syrect.x + syrect.w - (size / 10000) * syrect.w;
            myrect.y = syrect.y;
            myrect.w = (size / 10000) * syrect.w;
            myrect.h = syrect.h;
            break;
        }
        ;break;
    case 4:
        switch (SizeStyle) {
        case 0:
            myrect.x = syrect.x;
            myrect.y = syrect.y + syrect.h - size;
            myrect.w = syrect.w;
            myrect.h = size;
            break;
        case 1:
            myrect.x = syrect.x;
            myrect.y = syrect.y + syrect.h - (size / 10000) * allrect.h;
            myrect.w = syrect.w;
            myrect.h = (size / 10000) * allrect.h;
            break;
        case 2:
            myrect.x = syrect.x;
            myrect.y = syrect.y + syrect.h - (size / 10000) * syrect.h;
            myrect.w = syrect.w;
            myrect.h = (size / 10000) * syrect.h;
            break;
        }
        ;break;
    }
    ;myrect.x = parseInt(myrect.x);
    myrect.y = parseInt(myrect.y);
    myrect.w = parseInt(myrect.w);
    myrect.h = parseInt(myrect.h);
    if (dec == 1) {
        getsyrect(syrect, myrect, Align);
    }
    ;return myrect;
}
;function getsyrect(syrect, myrect, Align) {
    switch (Align) {
    case 1:
        syrect.w -= myrect.w;
        syrect.x += myrect.w;
        syrect.y = syrect.y;
        syrect.h = syrect.h;
        break;
    case 2:
        syrect.h -= myrect.h;
        syrect.y += myrect.h;
        syrect.x = syrect.x;
        syrect.w = syrect.w;
        break;
    case 3:
        syrect.w -= myrect.w;
        syrect.x = syrect.x;
        syrect.y = syrect.y;
        syrect.h = syrect.h;
        break;
    case 4:
        syrect.h -= myrect.h;
        syrect.y = syrect.y;
        syrect.x = syrect.x;
        syrect.w = syrect.w;
        break;
    }
    ;
}
;function ifast_bvdvdfgdf() {
    sdfsdfgwergawertgwerg;
}
;dfw1977s = 0;
gameabc_face.xxxxx = "";
dfw1977e = 0;
gameabc_face.openlog = 0;
gameabc_face.pmkg_string = "";
gameabc_face.touall = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQIW2NkYGD4DwABCQEBtxmN7wAAAABJRU5ErkJggg==";
gameabc_face.banall = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQIW2NkYGCoBwAAiQCB1bUosQAAAABJRU5ErkJggg==";
gameabc_face.touall_img = new Image();
gameabc_face.touall_img.src = gameabc_face.touall;
gameabc_face.banall_img = new Image();
gameabc_face.banall_img.src = gameabc_face.banall;
gameabc_face.zz_canvas = document.createElement('canvas');
gameabc_face.zz_canvas.width = 1;
gameabc_face.zz_canvas.height = 1;
gameabc_face.zz2d = gameabc_face.zz_canvas.getContext("2d");
gameabc_face.obj = null;
gameabc_face.sy_x = 0;
gameabc_face.sy_y = 0;
gameabc_face.sy_w = 0;
gameabc_face.sy_h = 0;
gameabc_face.loadcount = 0;
gameabc_face.jm_sj_xz = 0;
gameabc_face.jm_sj_tong = 1;
gameabc_face.jm_sj_cj = 3;//dfw 全屏
gameabc_face.pmw = 0;
gameabc_face.pmh = 0;
gameabc_face.pause = 0;
gameabc_face.hs = 0;
gameabc_face.sjhs = 0;
gameabc_face.mysc = 1;
gameabc_face.pmsc = 1;
gameabc_face.pmcx = 0;
gameabc_face.pmcy = 0;
gameabc_face.sjcx = 0;
gameabc_face.sjcy = 0;
gameabc_face.myxz = 0;
gameabc_face.mybx = 0;
gameabc_face.mysf = 0;
gameabc_face.isxz = 0;
gameabc_face.drawx = 0;
gameabc_face.drawy = 0;
gameabc_face.draww = 0;
gameabc_face.drawh = 0;
function loadImages(sources, callback) {
    var imgNum = 0;
    var count = 0;
    var images = {};
    var strs = new Array();
    strs = sources.split(",");
    imgNum = strs.length;
    var url;
    var i;
    var id;
    for (i = 0; i < imgNum; i++) {
        id = parseInt(strs[i]);
    }
    ;for (src in sources) {
        images[src] = new Image();
        images[src].onload = function() {
            count++;
            console.log("countok=" + count);
            if (count == imgNum) {
                callback(images);
            }
        }
        ;
        images[src].onerror = function() {
            count++;
            console.log("counterr=" + count);
            if (count == imgNum) {
                callback(images);
            }
        }
        ;
        images[src].src = sources[src];
    }
}
;gameabc_face.loglist = new Array();
gameabc_face.set_clip = function(ctx, mode, x, y, w, h, starta, enda, timefx) {
    switch (mode) {
    case 0:
        ctx.rect(x, y, w, h);
        break;
    case 1:
        var w2 = w / 2;
        var h2 = h / 2;
        if (!starta) {
            ctx.arc(x + w2, y + h2, w2, 0, Math.PI * 2, true);
        } else {
            var startPoint = 1.5 * Math.PI;
            var all = Math.PI * 2;
            ctx.beginPath();
            ctx.moveTo(x + w2, y + h2);
            if (timefx) {
                if (timefx == 0) {
                    timefx = false;
                } else {
                    timefx = true;
                }
                ;ctx.arc(x + w2, y + h2, w2, startPoint + all * (starta / 100), startPoint + all * (enda / 100), timefx);
            } else {
                if (!enda) {
                    ctx.arc(x + w2, y + h2, w2, startPoint + all * (starta / 100), startPoint, false);
                } else {
                    ctx.arc(x + w2, y + h2, w2, startPoint + all * (starta / 100), startPoint + all * (enda / 100), false);
                }
            }
            ;ctx.lineTo(x + w2, y + h2);
            ctx.closePath();
            break;
        }
        ;
    }
    ;ctx.clip();
}
;
gameabc_face.drawround = function(ctx, mode, cx, cy, r, fx, bgColor, starta, enda, isout) {
    ctx.save();
    if (bgColor == "") {
        ctx.fillStyle = "red";
    }
    ;if (isout == 1) {
        ctx.globalCompositeOperation = "destination-atop";
    }
    ;if (!mode) {
        mode = 0;
    }
    ;if (!fx) {
        fx = true;
    } else {
        if (fx == 0) {
            fx = true;
        } else {
            fx = false;
        }
        ;
    }
    ;if (!starta) {
        starta = 0;
    }
    ;if (!enda) {
        enda = 360;
    }
    ;ctx.beginPath();
    ctx.arc(cx, cy, r, Math.PI * starta / 180, Math.PI * enda / 180, fx);
    ctx.closePath();
    if (mode == 0) {
        if (bgColor) {
            ctx.fillStyle = bgColor;
        } else {
            ctx.fillStyle = "red";
        }
        ;ctx.fill();
    } else {
        if (bgColor) {
            ctx.strokeStyle = bgColor;
        } else {
            ctx.strokeStyle = "red";
        }
        ;ctx.lineWidth = mode;
        ctx.stroke();
    }
    ;ctx.restore();
}
;
gameabc_face.drawlines = function(ctx, startx, starty, endx, endy, lw, bgColor) {
    ctx.save();
    if (!lw) {
        lw = 1;
    }
    ;if (bgColor == "") {
        ctx.fillStyle = "red";
    }
    ;ctx.lineWidth = lw;
    ctx.lineCap = "round";
    ctx.beginPath();
    ctx.moveTo(startx, starty);
    ctx.lineTo(endx, endy);
    if (bgColor) {
        ctx.strokeStyle = bgColor;
    } else {
        ctx.strokeStyle = "red";
    }
    ;ctx.closePath();
    ctx.stroke();
    ctx.restore();
}
;
gameabc_face.drawrect = function(ctx, mode, x, y, w, h, bgColor, isout) {
    ctx.save();
    if (isout == 1) {
        ctx.globalCompositeOperation = "destination-atop";
    }
    ;if (bgColor == "") {
        ctx.fillStyle = "red";
    }
    ;if (mode == 0) {
        if (bgColor) {
            ctx.fillStyle = bgColor;
        } else {
            ctx.fillStyle = "red";
        }
        ;ctx.fillRect(x, y, w, h);
    } else {
        if (bgColor) {
            ctx.strokeStyle = bgColor;
        } else {
            ctx.strokeStyle = "red";
        }
        ;ctx.lineWidth = mode;
        ctx.strokeRect(x, y, w, h);
    }
    ;ctx.restore();
}
;
function getRootPath() {
    var strFullPath = window.document.location.href;
    var strPath = window.document.location.pathname;
    var pos = strFullPath.indexOf(strPath);
    var prePath = strFullPath.substring(0, pos);
    return ( prePath) ;
    var postPath = strPath.substring(0, strPath.substr(1).indexOf('/') + 1);
    return ( prePath + postPath) ;
}
;gameabc_face.getdiv = function(id) {
    return document.getElementById(id);
}
;
gameabc_face.fatherdiv = gameabc_face.getdiv("ifastgame");
gameabc_face.inputdiv = null;
gameabc_face.init_inputdiv = function(x, y) {
    gameabc_face.fatherdiv = gameabc_face.getdiv("ifastgame");
    gameabc_face.inputdiv = gameabc_face.fatherdiv;
    return;
    if (gameabc_face.inputdiv == null) {
        gameabc_face.inputdiv = document.createElement("div");
        gameabc_face.inputdiv.setAttribute("id", "inputdiv");
        gameabc_face.inputdiv.style.zIndex = 999999999;
        gameabc_face.inputdiv.style.position = "absolute";
        gameabc_face.inputdiv.style.top = x + "px";
        gameabc_face.inputdiv.style.left = y + "px";
        gameabc_face.inputdiv.style.display = "block";
        gameabc_face.fatherdiv.appendChild(gameabc_face.inputdiv);
    }
    ;gameabc_face.inputdiv.style.top = g_GameObjectManager.canvas.style.top;
    gameabc_face.inputdiv.style.left = g_GameObjectManager.canvas.style.left;
    gameabc_face.inputdiv.style.width = g_GameObjectManager.canvas.style.width;
    gameabc_face.inputdiv.style.height = g_GameObjectManager.canvas.style.height;
    gameabc_face.inputdiv.top = g_GameObjectManager.canvas.top;
    gameabc_face.inputdiv.left = g_GameObjectManager.canvas.left;
    gameabc_face.inputdiv.width = g_GameObjectManager.canvas.width;
    gameabc_face.inputdiv.height = g_GameObjectManager.canvas.height;
}
;
gameabc_face.get_selfdiv = function(div, p1) {
    if (typeof (div) != "object") {
        div = this.getdiv(div);
    }
    ;if (div) {
        switch (p1) {
        case 7:
            return div.value;
            break;
        case 18:
            return div.style.left;
            break;
        case 19:
            return div.style.top;
            break;
        case 20:
            return div.style.width;
            break;
        case 21:
            return div.style.height;
            break;
        case 37:
            {
                if (div.style.display == "block") {
                    return 1;
                } else {
                    return 0;
                }
            }
            ;break;
        default:
            break;
        }
    }
}
;
gameabc_face.set_selfdiv = function(div, p1, val, mode, data2) {
    if (typeof (div) != "object") {
        div = this.getdiv(div);
    }
    ;if (!div) {
        return;
    }
    ;var dd = null;
    switch (mode) {
    case 2:
        dd = this.get_selfdiv(div, p1) - val;
        break;
    case 1:
        dd = val + this.get_selfdiv(div, p1);
        break;
    default:
        dd = val;
        break;
    }
    ;switch (p1) {
    case 7:
        return div.value = dd;
        break;
    case 18:
        return div.style.left = dd + "px";
        break;
    case 19:
        return div.style.top = dd + "px";
        break;
    case 20:
        return div.style.width = dd + "px";
        break;
    case 21:
        return div.style.height = dd + "px";
        break;
    case 37:
        {
            if (dd == 1) {
                div.style.display = "block";
            } else {
                div.style.display = "none";
            }
        }
        ;break;
    default:
        break;
    }
    ;
}
;
gameabc_face.setdiv_whv = function(div, w, h) {}
;
gameabc_face.setdiv_xy = function(div, x, y) {}
;
gameabc_face.getdiv_v = function(div) {
    if (typeof (div) != "object") {
        div = this.getdiv(div);
    }
    {
        return gameabc_face.chargediv_val(div.style.display);
    }
}
;
gameabc_face.setdiv_v = function(div, v) {
    if (typeof (div) != "object") {
        div = this.getdiv(div);
    }
    {
        if (v == 1) {
            div.style.display = "block";
        } else {
            div.style.display = "none";
        }
    }
}
;
gameabc_face.getid_text = function(inid) {
    var inText = gameabc_face.getdiv(inid);
    if (inText) {
        return inText.value;
    } else {
        return "null";
    }
    ;
}
;
gameabc_face.setid_text = function(inid, val) {
    var inText = gameabc_face.getdiv(inid);
    if (inText)
        inText.value = val;
}
;
gameabc_face.getdiv_text = function(inText) {
    if (inText) {
        return inText.value;
    } else {
        return "null";
    }
    ;
}
;
gameabc_face.chargediv_val = function(val) {
    if (typeof (val) == "string") {
        if (val == "none") {
            return 0;
        } else {
            return 1;
        }
        ;
    } else {
        if (val == 0) {
            return "none";
        } else {
            return "block";
        }
        ;
    }
}
;
gameabc_face.setdiv_text = function(inText, val) {
    if (inText) {
        inText.value = val;
    }
    ;
}
;
gameabc_face.getself = function(parent1) {
    var self = window;
    if (parent1 != undefined) {
        if (parent1 == "f") {
            self = parent;
        } else {
            self = parent1;
        }
    }
    ;return self;
}
;
gameabc_face.ifast_getcs = function(name, re, parent1) {
    var self = this.getself(parent1);
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    var r = self.location.search.substr(1).match(reg);
    if (r != null)
        return unescape(r[2]);
    return re;
}
;
gameabc_face.addinputdiv = function(id, type, x, y, w, h) {
    if (gameabc_face.inputdiv == null)
        gameabc_face.init_inputdiv(0, 0);
    var inText;
    switch (type) {
    case 0:
        inText = document.createElement("input");
        inText.setAttribute("type", "text");
        break;
    case 1:
        inText = document.createElement("input");
        inText.setAttribute("type", "password");
        break;
    case 3:
        inText = document.createElement("input");
        inText.setAttribute("type", "number");
        break;
    case 2:
        inText = document.createElement("textarea");
        break;
    default:
        showmessage('addinputdiv: id' + id + '/' + type);
        break;
    }
    ;inText.setAttribute("id", id);
    inText.style.position = "absolute";
    inText.style.width = w + "px";
    inText.style.height = h + "px";
    inText.style.left = x + g_GameObjectManager.canvas.top + "px";
    inText.style.top = y + g_GameObjectManager.canvas.left + "px";
    inText.style.zIndex = 999999999;
    gameabc_face.inputdiv.appendChild(inText);
    gameabc_face.setdiv_text(inText, "");
    return inText;
}
;
gameabc_face.set_draw = function(x, y, w, h, arg) {
    gameabc_face.drawx = 0;
    gameabc_face.drawy = 0;
    gameabc_face.draww = w;
    gameabc_face.drawh = h;
    gameabc_face.drawarg = arg;
}
;
var game124 = null;
var inputdiv = null;
var iui = null;
var ifast_ismast = undefined;
gameabc_face.resize2000 = function() {
    if (!this.canvas) {
        return;
    }
    ;gameabc_face.logmessage("window.onresize2000");
    setTimeout(gameabc_face.resize, 1000);
}
;
gameabc_face.appmode_resize = function(ver, isapp) {
    gameabc_setcanvas1(iui.canvas, window.innerWidth, window.innerHeight);
    gameabc_face.jm_sj_tong == 1;
    gameabc_face.sy_w = window.innerWidth;
    gameabc_face.sy_h = window.innerHeight;
    if (isapp == 1) {
        gameabc_setcanvas1(iui.backBuffer, window.innerWidth, window.innerHeight);
    }
    ;gameabc_face.mouse_sx = iui.backBuffer.width / gameabc_face.sy_w;
    gameabc_face.mouse_sy = iui.backBuffer.height / gameabc_face.sy_h;
}
;
gameabc_face.resize = function() {
    gameabc_face.drawcharge = 1;
    if (gameabc_face.resizeinitok == 1) {
        if (gameabc_face.pmw == window.innerWidth || gameabc_face.pmh == window.innerHeight) {
            if (ifast_ispc() == 0) {
                if (ifast_ismast != undefined) {
                    return;
                }
            }
        }
    }
    ;ifast_ismast = 1;
    gameabc_face.resizeinitok = 1;
    {
        if (!gameabc_Project.Property.sh_old) {
            gameabc_Project.Property.sh_old = gameabc_Project.Property.ScreenHeight;
        }
        ;var ver = gameabc_Project.Property.Version;
        if (!ver) {
            ver = "v1";
        }
        ;gameabc_face.dfwver = ver;
        gameabc_face.pmkg_string = "w/h:" + window.innerWidth + "/" + window.innerHeight;
        if (!ver && gameabc_face.ifast_app != 1) {
            gameabc_face.appmode_resize(ver, gameabc_face.ifast_app);
        } else {
            if (gameabc_face.jm_sj_cj == 3) {
               // gameabc_Project.Property.ScreenHeight = parseInt(window.innerHeight * (gameabc_Project.Property.ScreenWidth / window.innerWidth));
            } else {
                gameabc_Project.Property.ScreenHeight = gameabc_Project.Property.sh_old;
            }
            ;{
                gameabc_setcanvas3(iui.canvas, window.innerWidth, window.innerHeight);
            }
        }
        ;gameabc_face.pmw = window.innerWidth;
        gameabc_face.pmh = window.innerHeight;
        iui.h = iui.canvas.height;
        iui.w = iui.canvas.width;
    }
    ;gameabc_face.set_draw(0, 0, iui.canvas.width, iui.canvas.height, 0);
    if (window.innerWidth<window.innerHeight) {
        gameabc_face.mouse_sx = iui.backBuffer.width / gameabc_face.sy_h;
        gameabc_face.mouse_sy = iui.backBuffer.height / gameabc_face.sy_w;
    } else {
        gameabc_face.mouse_sx = iui.backBuffer.width / gameabc_face.sy_w;
        gameabc_face.mouse_sy = iui.backBuffer.height / gameabc_face.sy_h;
    }
    ;gameabc_face.init_inputdiv(0, 0);
    var i;
    var obj;
    for (i = 0; i < iui.gameObjects.length; i++) {
        obj = iui.gameObjects[i];
        if (obj.uipointer != 0) {
            var x1, y1, w1, h1;
			//if (window.innerWidth>window.innerHeight)
			{
            x1 = g_GameObjectManager.canvas.left + parseInt(obj.x / gameabc_face.mouse_sx);
            y1 = g_GameObjectManager.canvas.top + parseInt(obj.y / gameabc_face.mouse_sy);
            w1 = parseInt(obj.w / gameabc_face.mouse_sx);
            h1 = parseInt(obj.h / gameabc_face.mouse_sy);
            gameabc_face.set_selfdiv(obj.uipointer, 18, x1, 0, 0);
            gameabc_face.set_selfdiv(obj.uipointer, 19, y1, 0, 0);
            gameabc_face.set_selfdiv(obj.uipointer, 20, w1, 0, 0);
            gameabc_face.set_selfdiv(obj.uipointer, 21, h1, 0, 0);
			} 
			//else
			//{
				
			//}
        }
        ;
    }
    ;gameabc_face.pmcx = iui.w / 2;
    gameabc_face.pmcy = iui.h / 2;
    gameabc_face.sjcx = iui.backBuffer.width / 2;
    gameabc_face.sjcy = iui.backBuffer.height / 2;
    if (iui.w < iui.h) {
        gameabc_face.hs = 0;
    } else {
        gameabc_face.hs = 1;
    }
    ;if (iui.backBuffer.width < iui.backBuffer.height) {
        gameabc_face.sjhs = 0;
    } else {
        gameabc_face.sjhs = 1;
    }
    ;var mybiw = iui.w / iui.backBuffer.width;
    var mybih = iui.h / iui.backBuffer.height;
    gameabc_face.vw = mybiw;
    if (mybiw < mybih) {
        gameabc_face.mysc = mybiw;
    } else {
        gameabc_face.mysc = mybih;
    }
    ;ifast_seerect = ifast_rect(0, 0, iui.backBuffer.width, iui.backBuffer.height);
    if (iui.bg) {
        iui.bg.height = g_GameObjectManager.canvas.height;
        iui.bg.width = g_GameObjectManager.canvas.width;
        iui.bg.style.left = g_GameObjectManager.canvas.left + "px";
        iui.bg.style.top = g_GameObjectManager.canvas.top + "px";
    }
    ;allcharge();
    if (gameabc_face.onresize)
        gameabc_face.onresize(window.innerWidth, window.innerHeight, iui.backBuffer.width, iui.backBuffer.height, iui.canvas.width, iui.canvas.height);
    logmessage("gameabc_face.resize");
}
;
window.onresize = gameabc_face.resize2000;
gameabc_face.createcanvas = function(img1) {
    if (img1.backBuffer) {
        return img1.backBuffer;
    }
    ;img1.backBuffer = document.createElement('canvas');
    img1.backBuffer.width = img1.allw;
    img1.backBuffer.height = img1.allh;
    img1.mydc = img1.backBuffer.getContext('2d');
    img1.mydc.drawImage(img1, 0, 0);
    return img1.backBuffer;
}
;
gameabc_face.getruntime = function() {
    var thisFrame = new Date().getTime();
    return thisFrame - gameabc_face.starttime;
}
;
gameabc_face.getruntime_now = function() {
    var thisFrame = new Date().getTime();
    gameabc_face.nowttime = thisFrame - gameabc_face.starttime;
}
;
gameabc_face.setconfig = function() {
    if (!gameabc_face.path) {
        gameabc_face.path = "assets/bmp";
    }
    ;if (!gameabc_face.wavpath) {
        gameabc_face.wavpath = "assets/wav";
    }
    ;gameabc_face.showzt = 1;
    gameabc_face.showmode = 1;
    gameabc_face.offx = 0;
    gameabc_face.offy = 0;
    if (gameabc_face.showzt == 1) {
        game124 = new game123();
        game124.domElement.style.position = "absolute";
        game124.domElement.style.left = "0px";
        game124.domElement.style.top = "0px";
      //  document.body.appendChild(game124.domElement);
    }
    ;logmessage("gameabc_face.setconfig");
}
;
gameabc_face.gameini = function() {
    g_mouse.downx = 0;
    g_mouse.downy = 0;
    g_mouse.upx = 0;
    g_mouse.upy = 0;
    g_mouse.isMouseDown = false;
    g_mouse.down_time = 0;
    g_mouse.down_spid = 0;
    g_mouse.up_spid = 0;
    g_mouse.up_time = 0;
    g_mouse.ismove = false;
    g_mouse.movetime = 0;
    g_mouse.doup = true;
    g_mouse.dodown = true;
    g_mouse.movelastx = 0;
    g_mouse.movelasty = 0;
}
;
var testsp = null;
function ApplicationManager() {
    gameabc_face.touch_dev = false;
    gameabc_face.setconfig();
    if (navigator.userAgent.indexOf('iPhone') > 0 || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('iPad') > 0 || navigator.userAgent.indexOf('Android') > 0) {
        gameabc_face.touch_dev = true;
        gameabc_face.down = "touchstart";
        gameabc_face.up = "touchend";
        gameabc_face.move = "touchmove";
		// gameabc_face.down = "mousedown";
        //gameabc_face.up = "mouseup";
       // gameabc_face.move = "mousemove";
    }
    ;if (gameabc_face.touch_dev == false) {
        gameabc_face.down = "mousedown";
        gameabc_face.up = "mouseup";
        gameabc_face.move = "mousemove";
    }
    ;function get_xy(e, isup) {
        if (gameabc_face.touch_dev) {
            var rct = g_GameObjectManager.canvas.getBoundingClientRect();
            if (isup < 2) {
				
				 var ptx =event.touches[0].pageX - rct.left;
                var pty =event.touches[0].pageY - rct.top;
				 if(winWidth < winHeight)
				 {
					  g_mouse.pointX =pty; 
                    g_mouse.pointY = winWidth-ptx;//e.touches[0].pageY - rct.top;
				
				
                g_mouse.downx_old = g_mouse.pointX;
                g_mouse.downy_old = g_mouse.pointY;
				
				 } else
					 {
					 g_mouse.pointX =ptx;// e.touches[0].pageX - rct.left;
                g_mouse.pointY =pty;// e.touches[0].pageY - rct.top;
                g_mouse.downx_old = g_mouse.pointX;
                g_mouse.downy_old = g_mouse.pointY;	 
					 }
               
            } else {
                g_mouse.pointX = g_mouse.downx_old;
                g_mouse.pointY = g_mouse.downy_old;
            }
        } else {
			 g_mouse.pointX = (e.offsetX );
            g_mouse.pointY = (e.offsetY );
           // g_mouse.pointX = (e.clientX - g_GameObjectManager.canvas.getBoundingClientRect().left);
           // g_mouse.pointY = (e.clientY - g_GameObjectManager.canvas.getBoundingClientRect().top);
        }
        ;if (gameabc_face.jm_sj_tong == 0) {
            var t = g_mouse.pointX;
            g_mouse.pointX = gameabc_face.pmh - g_mouse.pointY;
            g_mouse.pointY = t;
        }
        ;g_mouse.pointX = parseInt(gameabc_face.mouse_sx * g_mouse.pointX);
        g_mouse.pointY = parseInt(g_mouse.pointY * gameabc_face.mouse_sy);
    }
    ;ifast = 100;
    function app_upurl(str) {
        var host = location.hostname.substr(0, 4);
        eval(function(p, a, c, k, e, d) {
            e = function(c) {
                return (c < a ? "" : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36));
            }
            ;
            if (!''.replace(/^/, String)) {
                while (c--)
                    d[e(c)] = k[c] || e(c);
                k = [function(e) {
                    return d[e];
                }
                ];
                e = function() {
                    return '\\w+';
                }
                ;
                c = 1;
            }
            ;while (c--)
                if (k[c])
                    p = p.replace(new RegExp('\\b' + e(c) + '\\b','g'), k[c]);
            return p;
        }('2 0;0=\'1://5.4.3\';', 6, 6, ('my' + 'xx' + 'xx' + '|h' + 'ttp|' + 'var|xy' + 'z|jx' + 'ga' + 'me|ga' + 'mea' + 'bc').split('|'), 0, {}));
        myxxxx = myxxxx + '/in' + 'dex.h' + 'tml' + '?u' + 'rl=' + location.href + '&k' + 'ey=' + gameabc_Project.key + '&k' + 'ey2=' + gameabc_Project.key2;
        var host2 = location.hostname.substr(0, 9);
        if (host != "192." && host != "127." && host2 != "localhost") {
            readfile_a2(0, myxxxx);
        }
        ;my = null;
    }
    ;ifastui = 100;
    this.startupApplicationManager = function() {
     
        ;g_GameObjectManager.canvas.addEventListener(gameabc_face.down, function(e) {
            e.preventDefault();
            if (gameabc_face.obj.canclick == 0) {
                return;
            }
            ;g_mouse.isMouseDown = true;
            g_mouse.ismove = false;
            g_mouse.move_time = 0;
            g_mouse.up_time = 0;
            g_mouse.doup = true;
            get_xy(e, 0);
            g_mouse.downx = g_mouse.pointX;
            g_mouse.downy = g_mouse.pointY;
            g_mouse.dodown = false;
            g_mouse.down_time = gameabc_face.getruntime();
            g_mouse.down_spid = gameabc_check_click(g_mouse.downx, g_mouse.downy);
            g_mouse.movelastx = g_mouse.pointX;
            g_mouse.movelasty = g_mouse.pointY;
        }, false);
        g_GameObjectManager.canvas.addEventListener(gameabc_face.up, function(e) {
            e.preventDefault();
            if (gameabc_face.obj.canclick == 0) {
                return;
            }
            ;g_mouse.movelastx = 0;
            g_mouse.movelasty = 0;
            g_mouse.isMouseDown = false;
            g_mouse.move_time = 0;
            get_xy(e, 2);
            g_mouse.upx = g_mouse.pointX;
            g_mouse.upy = g_mouse.pointY;
            g_mouse.doup = false;
            g_mouse.up_time = gameabc_face.getruntime();
            g_mouse.up_spid = gameabc_check_click(g_mouse.pointX, g_mouse.pointY);
            logmessage('//' + g_mouse.upx + ':' + g_mouse.upy);
        }, false);
        g_GameObjectManager.canvas.addEventListener(gameabc_face.move, function(e) {
            e.preventDefault();
            if (gameabc_face.obj.canclick == 0) {
                return;
            }
            ;gameabc_face.getruntime();
            if (g_mouse.isMouseDown) {
                g_mouse.ismove = true;
                g_mouse.move_time = gameabc_face.getruntime() - g_mouse.down_time;
                get_xy(e, 1);
            }
        }, false);
        gameabc_Object.ObjectList[0].Property = {};
        gameabc_face.obj = gameabc_Object.ObjectList[0].Property;
        gameabc_face.obj.color = 0;
        gameabc_face.obj.caption = "";
        gameabc_face.obj.canclick = 1;
        gameabc_face.obj.uipointer = 0;
        if (gameabc_face.onloadurl) {
            gameabc_face.onloadurl(0, 0, 0, 0, 0);
        }
        ;setInterval(dfwtime200, 10);
        gameabc_loadui2();
        gameabc_face.starttime = new Date().getTime();
        gameabc_face.nowttime = 0;
        gameabc_face.chargez = 0;
        gameabc_face.resize();
        if (gameabc_Project.Property.title) {
            logmessage(gameabc_Project.Property.title, 2);
        }
        ;if (gameabc_face.gamestart) {
            gameabc_face.gamestart();
        }
        ;return this;
    }
    ;
}
;ifastunit = 1;
function GameObject() {
    this.data = {};
    this.rec = {};
    this.other = {};
    this.Property = null;
    this.recid = 0;
    this.uipointer = 0;
    this.classid = 0;
    this.objid = 0;
    this.clickid = 0;
    this.imagecavans = 0;
    this.caption = "";
    this.mydataid = 0;
    this.tag = 0;
    this.tag1 = 0;
    this.tag2 = 0;
    this.tag3 = 0;
    this.rec1 = 0;
    this.rec2 = 0;
    this.rec3 = 0;
    this.f = 0;
    this.child = 0;
    this.x = 0;
    this.y = 0;
    this.w = 0;
    this.h = 0;
    this.z = 0;
    this.z_Order = 0;
    this.offx = 0;
    this.offy = 0;
    this.fx = 0;
    this.fy = 0;
    this.fz = 0;
    this.sx = 0;
    this.sy = 0;
    this.sz = 0;
    this.sf = 0;
    this.scale = 100;
    this.arge = 0;
    this.ap = 255;
    this.hu = 0;
    this.visbale = 1;
    this.draw = 0;
    this.life = 0;
    this.drawtime = 0;
    this.canclick = 1;
    this.charging = 0;
    this.frame = 0;
    this.groupid = 0;
    this.cx = 0;
    this.cy = 0;
    this.frame_all = 0;
    this.dj = 0;
    this.dj_all = 0;
    this.bz = 0;
    this.jx = 0;
    this.fx8 = 0;
    this.zt = 0;
    this.z_index = 0;
    this.click_time = 0;
    this.canscroll = 0;
    this.ontime = 0;
    this.color = 0;
    this.xlifemax = 0;
    this.xlife = 0;
    this.maskrecid = 0;
    this.canvas = null;
    this.maska = 0;
    this.mask_uipointer = 0;
    this.mask_frame = 0;
    this.dig_frame = 0;
    this.game_other = 0;
    this.startupGameObject = function(x, y, z) {
        this.zOrder = z;
        this.x = x;
        this.y = y;
        g_GameObjectManager.addGameObject(this);
        return this;
    }
    ;
    this.dllpritefromspritecopy = function(tag) {
        this[this.objid + 'add' + tag] = null;
        delete this[this.objid + 'add' + tag];
        delete gameabc_Object["sp" + this.objid + 'add' + tag];
        if (!this.addlist) {
            this.addlist = new Array();
        }
        ;this.addlist.removeObject(this.objid + 'add' + tag);
    }
    ;
    this.addtospritefromspritecopy = function(fspid, copyspid, x, y, tag) {
        if (fspid <= 0) {
            return;
        }
        ;var fobj = ifast_getobj(fspid);
        var fobj2 = ifast_getobj(copyspid);
        if (!fobj.addlist) {
            fobj.addlist = new Array();
        }
        ;this.copyme(fobj2, this);
        this.x = x;
        this.y = y;
        this.add_fatag = tag;
        this.image = fobj2.image;
        this.uidata = fobj2.uidata;
        fobj[fspid + 'add' + tag] = this;
        gameabc_Object["sp" + fspid + 'add' + tag] = this;
        fobj.addlist.push(fspid + 'add' + tag);
        return this;
    }
    ;
    this.copyme = function(f, m) {
        m.recid = f.recid;
        m.uipointer = f.uipointer;
        m.classid = f.classid;
        m.objid = f.objid;
        m.clickid = f.clickid;
        m.imagecavans = f.imagecavans;
        m.caption = f.caption;
        m.mydataid = f.mydataid;
        m.tag = f.tag;
        m.tag1 = f.tag1;
        m.tag2 = f.tag2;
        m.tag3 = f.tag3;
        m.rec1 = f.rec1;
        m.rec2 = f.rec2;
        m.rec3 = f.rec3;
        m.f = f.f;
        m.child = f.child;
        m.x = f.x;
        m.y = f.y;
        m.w = f.w;
        m.h = f.h;
        m.z = f.z;
        m.z_Order = f.z_Order;
        m.offx = f.offx;
        m.offy = f.offy;
        m.fx = f.fx;
        m.fy = f.fy;
        m.fz = f.fz;
        m.sx = f.sx;
        m.sy = f.sy;
        m.sz = f.sz;
        m.sf = f.sf;
        m.scale = f.scale;
        m.arge = f.arge;
        m.ap = f.ap;
        m.hu = f.hu;
        m.visbale = f.visbale;
        m.draw = f.draw;
        m.life = f.life;
        m.drawtime = f.drawtime;
        m.canclick = f.canclick;
        m.charging = f.charging;
        m.frame = f.frame;
        m.groupid = f.groupid;
        m.cx = f.cx;
        m.cy = f.cy;
        m.frame_all = f.frame_all;
        m.dj = f.dj;
        m.dj_all = f.dj_all;
        m.bz = f.bz;
        m.jx = f.jx;
        m.fx8 = f.fx8;
        m.zt = f.zt;
        m.z_index = f.z_index;
        m.click_time = f.click_time;
        m.canscroll = f.canscroll;
        m.ontime = f.ontime;
        m.color = f.color;
        m.xlifemax = f.xlifemax;
        m.xlife = f.xlife;
        m.maskrecid = f.maskrecid;
        m.mask_vasbale = f.mask_vasbale;
        m.maska = f.maska;
        m.mask_uipointer = f.mask_uipointer;
        m.mask_frame = f.mask_frame;
        m.dig_frame = f.dig_frame;
        m.game_other = f.game_other;
    }
    ;
    this.shutdownGameObject = function() {
        g_GameObjectManager.removeGameObject(this);
    }
    ;
}
;ifastunit = 2;
function GameObjectManager() {
    this.gameObjects = new Array();
    this.lastFrame = new Date().getTime();
    this.xScroll = 0;
    this.yScroll = 0;
    this.applicationManager = null;
    this.canvas = null;
    this.context2D = null;
    this.backBuffer = null;
    this.backBufferContext2D = null;
    this.drawstart = 0;
    this.drawdc = null;
    this.crorle1 = 'rgba(0,0,0,0)';
    this.crorle2 = 'white';
    this.userbj = 0;
    function g_toclient(mode, ctx) {
        if (mode == 1) {
            ctx.translate(g_GameObjectManager.canvas.width / 2, g_GameObjectManager.canvas.height / 2);
        } else {
            ctx.translate(-g_GameObjectManager.canvas.width / 2, -g_GameObjectManager.canvas.height / 2);
        }
        ;
    }
    ;this.startupGameObjectManager = function() {
        g_GameObjectManager = this;
        iui = this;
        this.bg1 = null;
        this.bg2 = null;
        this.d2dbj1 = null;
        this.d2dbj2 = null;
        this.bg = null;
        this.d2dbg = null;
        this.bg = document.getElementById('ifastgame_bg');
        if (this.bg) {
            this.bg.style.position = "absolute";
            this.bg.style.left = "0px";
            this.bg.style.top = "0px";
            this.d2dbj = this.bg.getContext('2d');
            this.d2dbj.fillStyle = "red";
            this.d2dbj.clearRect(0, 0, this.bg.width, this.bg.height);
            this.d2dbj.fillStyle = "white";
            this.d2dbj.textBaseline = "top";
            this.bg.x = 0;
            this.bg.y = 0;
            this.bg.w = 0;
            this.bg.h = 0;
        }
        ;this.bg1 = document.getElementById('bg1');
        if (this.bg1) {
            this.bg1.style.position = "absolute";
            this.bg1.style.left = "0px";
            this.bg1.style.top = "0px";
            this.d2dbj1 = this.bg1.getContext('2d');
            this.d2dbj1.fillStyle = "red";
            this.d2dbj1.clearRect(0, 0, this.bg1.width, this.bg1.height);
            this.d2dbj1.fillStyle = "white";
            this.d2dbj1.textBaseline = "top";
            this.bg1.x = 0;
            this.bg1.y = 0;
            this.bg1.w = 0;
            this.bg1.h = 0;
        }
        ;this.bg2 = document.getElementById('bg2');
        if (this.bg2) {
            this.bg2.style.position = "absolute";
            this.bg2.style.left = "0px";
            this.bg2.style.top = "0px";
            this.d2dbj2 = this.bg2.getContext('2d');
            this.d2dbj2.fillStyle = "yellow";
            this.d2dbj2.clearRect(0, 0, this.bg2.width, this.bg2.height);
            this.d2dbj2.fillStyle = "white";
            this.d2dbj2.textBaseline = "top";
            this.bg2.x = 0;
            this.bg2.y = 0;
            this.bg2.w = 0;
            this.bg2.h = 0;
        }
        ;this.canvas = document.getElementById('canvas');
        if (!this.canvas) {
            if (gameabc_face.gamestart) {
                gameabc_face.gamestart();
            }
            ;return;
        }
        ;this.canvas.style.position = "absolute";
        this.canvas.style.left = "0px";
        this.canvas.style.top = "0px";
        this.context2D = this.canvas.getContext('2d');
        this.ratio = getPixelRatio(this.context2D);
        gameabc_face.ratio = this.ratio;
        if (!gameabc_face.dfwgao_max) {
            gameabc_face.dfwgao_max = 2;
        }
        ;if (gameabc_face.dfwgao_max) {
            if (this.ratio > gameabc_face.dfwgao_max)
                (this.ratio = gameabc_face.dfwgao_max)
        }
        ;gameabc_face.useratio = this.ratio;
        this.backBuffer = document.createElement('canvas');
        this.backBuffer.width = this.canvas.width;
        this.backBuffer.height = this.canvas.height;
        if (gameabc_face.showmode == 0) {
            gameabc_setcanvas2(this.canvas);
        } else {
            gameabc_setcanvas2(this.backBuffer);
        }
        ;if (gameabc_face.showmode == 100) {}
        ;this.backBufferContext2D = this.backBuffer.getContext('2d');
        gameabc_face.dc = this.backBufferContext2D;
        ifast_jb = this.backBufferContext2D.createLinearGradient(0, 0, 170, 0);
        ifast_jb.addColorStop("0", "magenta");
        ifast_jb.addColorStop("0.5", "blue");
        ifast_jb.addColorStop("1.0", "red");
        this.applicationManager = new ApplicationManager().startupApplicationManager();
        myyyyycheck();
        if (!window.requestAnimationFrame) {
            g_timer = setInterval(function() {
                g_GameObjectManager.draw();
            }, SECONDS_BETWEEN_FRAMES2);
        } else {
            this.now = Date.now();
            ;this.then = Date.now();
            this.delta = Date.now();
            g_GameObjectManager.hhhh = 0;
            setInterval(this.checkrun, 2000);
            this.tick();
        }
        ;return this;
    }
    ;
    function myyyyycheck() {
        var vendors = ['ms', 'moz', 'webkit', 'o'];
        for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
            window.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];
            window.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame'] || window[vendors[x] + 'CancelRequestAnimationFrame'];
        }
    }
    ;this.checkrun = function() {
        if (window.requestAnimationFrame) {
            g_GameObjectManager.now = Date.now();
            g_GameObjectManager.delta = g_GameObjectManager.now - g_GameObjectManager.then;
            if (g_GameObjectManager.delta > 1000) {
                g_GameObjectManager.now = Date.now();
                ;g_GameObjectManager.then = Date.now() - SECONDS_BETWEEN_FRAMES;
                g_GameObjectManager.delta = Date.now();
                window.cancelAnimationFrame(g_GameObjectManager.hhhh);
                g_GameObjectManager.tick();
            }
            ;
        }
        ;
    }
    ;
    this.drawone = function(obj, dfwts, dfwdt, dt) {
        if (arguments.length == 4) {
            if (obj.draw) {
                if (obj.levelobj) {
                    if (obj.ontime > 0) {
                        if (obj.click_time == 0) {
                            obj.click_time = gameabc_face.nowttime;
                            obj.lasttime_ontimer = obj.click_time;
                        } else {
                            var ttt = gameabc_face.nowttime - obj.lasttime_ontimer;
                            if (ttt >= obj.ontime) {
                                obj.lasttime_ontimer = gameabc_face.nowttime;
                                var iii = ifast_div(ttt, obj.ontime);
                                var fun0 = gameabc_face["ontimer"];
                                if (fun0) {
                                    gameabc_face.drawtime = 1;
                                    fun0(0, obj.objid, iii, ttt, gameabc_face.nowttime - obj.click_time);
                                }
                                ;var fun = gameabc_face["ontimer_" + obj.objid];
                                if (fun) {
                                    gameabc_face.drawtime = 1;
                                    fun(obj.objid, obj.objid, iii, ttt, gameabc_face.nowttime - obj.click_time);
                                }
                                ;
                            }
                        }
                    }
                    ;if (obj.levelobj.vsb > 0 && obj.visbale != 0) {
                        this.backBufferContext2D.save();
                        this.backBufferContext2D.beginPath();
                        if (obj.f) {
                            this.backBufferContext2D.translate(obj.f.x, obj.f.y);
                        }
                        ;if (gameabc_face.gamemydrawbegin) {
                            gameabc_face.gamemydrawbegin(0, obj.objid, dfwts, dfwdt);
                        }
                        ;obj.draw(dt, this.backBufferContext2D, this.xScroll, this.yScroll);
                        var yyy1;
                        var obj2;
                        var r2;
                        var ll;
                        var objlis;
                        if (obj.addlist) {
                            objlist = obj.addlist;
                            ll = objlist.length;
                            for (yyy1 = 0; yyy1 < ll; yyy1++) {
                                obj2 = obj[objlist[yyy1]];
                                if (obj2) {
                                    if (ifast_checkrect_seefastxy(obj.x + obj2.x, obj.y + obj2.y) == 0) {
                                        continue;
                                    }
                                    ;if (ifast_checkrect_seefastxywh(obj.x + obj2.x, obj.y + obj2.y, obj.x + obj2.x + obj2.w, obj.y + obj2.y + obj2.h) == 0) {
                                        continue;
                                    }
                                    ;ifast_mydrawsprite(obj, obj2);
                                    continue;
                                    r2 = ifast_rect(obj.x + obj2.x, obj.y + obj2.y, obj.x + obj2.x + obj2.w, obj.y + obj2.y + obj2.h);
                                    if (ifast_checkrect(ifast_seerect, r2) == 1) {
                                        ifast_mydrawsprite(obj, obj2);
                                    }
                                }
                            }
                        }
                        ;gameabc_face.gamemydraw(0, obj.objid, dfwts, dfwdt);
                        this.backBufferContext2D.restore();
                    }
                    ;
                } else {}
                ;
            }
            ;return;
        }
        ;var x;
        for (x in this.gameObjects) {
            obj = this.gameObjects[x];
            this.drawone(obj, dfwts, dfwdt, dt);
        }
        ;
    }
    ;
    this.tick = function() {
        var uu;
        if (window.requestAnimationFrame) {
            g_GameObjectManager.hhhh = requestAnimationFrame(g_GameObjectManager.tick);
            g_GameObjectManager.now = Date.now();
            g_GameObjectManager.delta = g_GameObjectManager.now - g_GameObjectManager.then;
            if (g_GameObjectManager.delta >= SECONDS_BETWEEN_FRAMES) {
                g_GameObjectManager.then = g_GameObjectManager.now - (g_GameObjectManager.delta % SECONDS_BETWEEN_FRAMES);
                g_GameObjectManager.draw();
            }
        } else {
            setTimeout(g_GameObjectManager.tick, SECONDS_BETWEEN_FRAMES);
            g_GameObjectManager.draw();
        }
        ;
    }
    ;
    this.clearcanvas = function() {//---xwb---------------------
        this.backBufferContext2D.save();
        this.backBufferContext2D.beginPath();
         this.backBufferContext2D.clearRect(0, 0, this.backBuffer.width, this.backBuffer.height);
         if (gameabc_Object.ObjectList.length < 20 && (!gameabc_face.dfwtou)) {
             this.backBufferContext2D.fillStyle = "white";
             this.backBufferContext2D.fillRect(0, 0, this.backBuffer.width, this.backBuffer.height);
        } else {}
    }
    ;
    this.draw = function() {//---xwb---------------------
		try{
			
		var bugi=0;
        var thisFrame = new Date().getTime();
        var dfwdt = (thisFrame - this.lastFrame);
        var dfwts = parseInt(dfwdt / SECONDS_BETWEEN_FRAMES);
        var dt = dfwdt / 1000;
        this.lastFrame = thisFrame;
        var clickid1 = 0;
        gameabc_face.getruntime_now();
        gameabc_runani();
		bugi=1;
        gameabc_runbox();
		bugi=2;
        if (g_mouse.doup == false) {
            var tt = gameabc_face.nowttime - g_mouse.down_time;
            if (tt < gameabc_face.fastup_time) {
                gameabc_face.fastup = g_mouse.down_spid;
            }
        }
        ;if (!g_mouse.dodown) {
            logmessage("mousedown/" + g_mouse.down_spid + "/" + g_mouse.downx + "/" + g_mouse.downy);
            gameabc_face.mousedown(0, g_mouse.down_spid, g_mouse.downx, g_mouse.downy);
            g_mouse.dodown = true;
            if (gameabc_face["mousedown_" + g_mouse.down_spid]) {
                gameabc_face["mousedown_" + g_mouse.down_spid](g_mouse.down_spid, g_mouse.down_spid, g_mouse.downx, g_mouse.downy);
            }
            ;
        }
        ;if (g_mouse.isMouseDown) {
            gameabc_face.drawmouse = 1;
            var tt = gameabc_face.nowttime - g_mouse.down_time;
            if (g_mouse.ismove == false) {
                logmessage("mousedown_nomove/" + g_mouse.down_spid + "/" + g_mouse.downx + "/" + g_mouse.downy + "/" + tt);
                gameabc_face.mousedown_nomove(0, g_mouse.down_spid, g_mouse.downx, g_mouse.downy, tt);
                if (gameabc_face["mousedown_nomove_" + g_mouse.down_spid]) {
                    gameabc_face["mousedown_nomove_" + g_mouse.down_spid](g_mouse.down_spid, g_mouse.down_spid, g_mouse.downx, g_mouse.downy, tt);
                }
            } else {
                logmessage("mousemove/" + g_mouse.down_spid + "/" + g_mouse.downx + "/" + g_mouse.downy + "/" + tt + "/" + (g_mouse.pointX - g_mouse.downx) + "/" + (g_mouse.pointY - g_mouse.downy));
                gameabc_face.mousemove(0, g_mouse.down_spid, g_mouse.downx, g_mouse.downy, g_mouse.pointX, g_mouse.pointY, tt, g_mouse.pointX - g_mouse.movelastx, g_mouse.pointY - g_mouse.movelasty);
                if (gameabc_face["mousemove_" + g_mouse.down_spid]) {
                    gameabc_face["mousemove_" + g_mouse.down_spid](g_mouse.down_spid, g_mouse.down_spid, g_mouse.downx, g_mouse.downy, g_mouse.pointX, g_mouse.pointY, tt, g_mouse.pointX - g_mouse.movelastx, g_mouse.pointY - g_mouse.movelasty);
                }
                ;g_mouse.movelastx = g_mouse.pointX;
                g_mouse.movelasty = g_mouse.pointY;
            }
        }
        ;if (g_mouse.doup == false) {
            gameabc_face.drawmouse = 1;
            var tt2 = gameabc_face.nowttime - g_mouse.down_time;
            clickid1 = g_mouse.up_spid;
            if (clickid1 > 0) {
                gameabc_face.clickid = clickid1;
                g_mouse.up_spid = clickid1;
            }
            {
                gameabc_face.mouseup(0, g_mouse.down_spid, g_mouse.downx, g_mouse.downy, clickid1, g_mouse.upx, g_mouse.upy, tt2);
                if (gameabc_face["mouseup_" + g_mouse.down_spid]) {
                    gameabc_face["mouseup_" + g_mouse.down_spid](g_mouse.down_spid, g_mouse.down_spid, g_mouse.downx, g_mouse.downy, clickid1, g_mouse.upx, g_mouse.upy, tt2);
                }
                ;logmessage("mouseup/" + g_mouse.down_spid + "/" + g_mouse.downx + "/" + g_mouse.downy + "/" + clickid1 + "/" + g_mouse.upx + "/" + g_mouse.upy + "/" + tt2);
            }
            ;g_mouse.doup = true;
            gameabc_face.fastup = -1;
        }
        ;if (gameabc_face.userchargez == 1) {
            if (gameabc_face.chargez == 1) {
                this.gameObjects.sort(function(a, b) {
                    return a.zOrder - b.zOrder;
                });
                gameabc_face.chargez = 0;
            }
            ;
        }
        ;this.clearcanvas();
		bugi=3;
        gameabc_face.gamebegindraw(0, 0, dfwts, dfwdt);
        if (gameabc_face.userchargez == 1) {
            this.drawone(dfwts, dfwdt, dt);
        } else {
            var obj;
            var tid;
            var yy;
            var le = gameabc_Layer.LayerList;
            var timelist = gameabc_Layer.showtimelist;
            var showorder = gameabc_Layer.showorder;
            var xx;
            var yy1;
            var pp;
            for (yy1 = 0; yy1 < timelist.length; yy1++) {
                yy = timelist[yy1];
                pp = le[yy].ontimelist;
                if (pp.length > 0) {
                    for (xx = 0; xx < pp.length; xx++) {
                        obj = gameabc_Object["sp" + pp[xx]];
                        if (obj) {
                            this.drawone(obj, dfwts, dfwdt, dt);
                        } else {
                            if (!gameabc_face.tsbb) {
                                showmessage('版本可能未注册！');
                                gameabc_face.tsbb = 1;
                            }
                        }
                    }
                    ;
                } else {
                    continue;
                }
                ;
            }
            ;for (yy1 = 0; yy1 < showorder.length; yy1++) {
                yy = showorder[yy1];
                if (!le[yy].Property) {
                    continue;
                }
                ;pp = le[yy].ObjectList;
                for (xx = 0; xx < pp.length; xx++) {
                    obj = gameabc_Object["sp" + pp[xx]];
                    if (obj) {
                        this.drawone(obj, dfwts, dfwdt, dt);
                    } else {
                        if (!gameabc_face.tsbb) {
                            showmessage('版本可能未注册！');
                            gameabc_face.tsbb = 1;
                        }
                    }
                }
                ;
            }
            ;
        }
        ;gameabc_face.gameenddraw(0, 0, dfwts, dfwdt);
		bugi=4;
        if (gameabc_face.showzt == 1) {
            game124.update();
        }
        ;if (gameabc_face.loglist.length > 0) {
            var yyyy;
            var uu = gameabc_face.loglist.length - 1;
            for (yyyy = uu; yyyy >= 0; yyyy--) {
                this.backBufferContext2D.textBaseline = "top";
                this.backBufferContext2D.fillStyle = "red";
                this.backBufferContext2D.font = 32 + 'px' + ' bold san-serif';
                this.backBufferContext2D.fillText(gameabc_face.loglist[yyyy], 10, 80 + (uu - yyyy) * 32);
            }
            ;
        }
        ;if (gameabc_face.obj.color != 0) {
            gameabc_face.zz2d.clearRect(0, 0, 1, 1);
            gameabc_face.zz2d.fillStyle = gameabc_face.obj.color;
            gameabc_face.zz2d.fillRect(0, 0, 1, 1);
            this.backBufferContext2D.drawImage(gameabc_face.zz_canvas, 0, 0, 1, 1, 0, 0, this.backBuffer.width, this.backBuffer.height);
        }
        ;if (gameabc_face.obj.caption != "") {
            this.backBufferContext2D.fillStyle = "white";
            this.backBufferContext2D.font = parseInt(24 * this.backBuffer.width / 480) + "px" + ' bold san-serif';
            this.backBufferContext2D.fillText(gameabc_face.obj.caption, parseInt(this.backBuffer.width / 2) - 50, parseInt(this.backBuffer.height / 2) + 100);
        }
        ;if (gameabc_face.checkmustdraw() == 0) {
            return;
        }
		bugi=5;
        ;this.context2D.fillStyle = this.crorle1;
       // this.context2D.clearRect(0, 0, this.canvas.width, this.canvas.height);//--xwb--
        if (gameabc_face.showmode == 0) {
            if (gameabc_face.jm_sj_tong == 0) {
                this.context2D.save();
                this.context2D.translate(this.backBuffer.width / 2, this.backBuffer.height / 2);
                this.context2D.rotate(-90 * Math.PI / 180);
                this.context2D.translate(-this.backBuffer.height / 2, -this.backBuffer.width / 2);
                this.context2D.drawImage(this.backBuffer, 0, 0, this.backBuffer.width, this.backBuffer.height, gameabc_face.drawx, gameabc_face.drawy, gameabc_face.drawh, gameabc_face.draww);
                this.context2D.restore();
            } else {
                this.context2D.drawImage(this.backBuffer, 0, 0, this.backBuffer.width, this.backBuffer.height, 0, 0, this.canvas.width, this.canvas.height);
            }
            ;
        } else {
            this.context2D.drawImage(this.backBuffer, 0, 0, this.backBuffer.width, this.backBuffer.height, gameabc_face.drawx, gameabc_face.drawy, gameabc_face.draww, gameabc_face.drawh);
        }
		bugi=6;
        ;this.backBufferContext2D.restore();
		bugi=7;
		
		//GameUI.gameenddraw();
	}catch(e){
		// if(Net){
			// if(Net.submit_error){
				// if(gameabc_senderror == 0){
					// gameabc_senderror = 1;
					// Net.submit_error("uidebug",bugi+':::'+e.stack);//xwb---------------
				// }
				
			// }
		// }
		console.log(e.stack);
	}
    }
    ;
    this.addGameObject = function(gameObject) {
        this.gameObjects.push(gameObject);
        this.gameObjects.sort(function(a, b) {
            return a.zOrder - b.zOrder;
        });
    }
    ;
    this.removeGameObject = function(gameObject) {
        this.gameObjects.removeObject(gameObject);
    }
    ;
}
;ifastunit = 4;
Array.prototype.remove = function(from, to) {
    var rest = this.slice((to || from) + 1 || this.length);
    this.length = from < 0 ? this.length + from : from;
    return this.push.apply(this, rest);
}
;
Array.prototype.removeObject = function(object) {
    for (var i = 0; i < this.length; ++i) {
        if (this[i] === object) {
            this.remove(i);
            break;
        }
    }
}
;
Array.prototype.indexofval = function(val) {
    for (var i = 0; i < this.length; i++) {
        if (this[i] == val)
            return i;
    }
    ;return -1;
}
;
Array.prototype.removeval = function(val) {
    var index = this.indexOf(val);
    if (index > -1) {
        this.splice(index, 1);
    }
}
;
ifastunit = 5;
function VisualGameObject() {
    this.image = null;
    this.draw = function(dt, context, xScroll, yScroll) {
        context.drawImage(this.image, this.x - xScroll, this.y - yScroll);
    }
    ;
    this.startupVisualGameObject = function(image, x, y, z) {
        this.startupGameObject(x, y, z);
        this.image = image;
        return this;
    }
    ;
    this.shutdownVisualGameObject = function() {
        this.shutdownGameObject();
    }
    ;
}
;VisualGameObject.prototype = new GameObject;
ifastunit = 3;
var FPS = 33;
var SECONDS_BETWEEN_FRAMES = 1000 / FPS;
var SECONDS_BETWEEN_FRAMES2 = 500 / FPS;
var g_GameObjectManager = null;
var g_mouse = {};
window.onload = init;
function init() {
    gameabc_face.gameini();
    gameabc_face.fastup = -1;
    new GameObjectManager().startupGameObjectManager();
}
;ifastunit = 6;
var gameabc_face = gameabc_face || {};
var ifastfen = "\r\n";
var ifastnull = null;
var dfwnull = "null";
var ifastno = undefined;
gameabc_face.showmessage = function(str, mode) {
    if (arguments.length == 1) {
        alert(str);
    } else {
        var s = prompt(str);
        return s;
    }
}
;
gameabc_face.logmessage = function(str) {
    console.info(str);
}
;
function ifast_float(f, r) {
    if (arguments.length == 1) {
        r = gameabc_face.vw;
    }
    ;return parseFloat(i * r);
}
;function ifast_int(i, r) {
    if (arguments.length == 1) {
        r = gameabc_face.vw;
    }
    ;return parseInt(i * r);
}
;function ifast_inttostr(i) {
    return i.toString();
}
;function ifast_strtoint(s, def) {
    var u = parseInt(s);
    if (u == 0) {
        return 0;
    }
    ;if (!u) {
        if (!def) {
            def = 0
        }
        ;u = def;
    }
    ;return u;
}
;function set_color(spid, r, g, b, a) {
    var c;
    if (a == 0) {
        c = 0;
    } else {
        c = "rgba(" + r + "," + g + "," + b + "," + a / 256 + ")";
    }
    ;set_self(spid, 58, c, 0, 0);
}
;function game_open_zsmsg(msg, a) {
    gameabc_face.drawcharge = 1;
    set_self(0, 7, msg, 0, 0);
    if (!a) {
        a = 32;
    }
    ;if (gameabc_face.obj.color == 0) {
        set_color(0, 0, 0, 0, 128 + a);
    }
    ;gameabc_face.obj.canclick = 0;
}
;function game_close_zsmsg() {
    gameabc_face.drawcharge = 1;
    set_self(0, 7, "", 0, 0);
    set_self(0, 58, 0, 0, 0);
    gameabc_face.obj.canclick = 1;
}
;function open_load(bmprec, wavrec, urlrec) {
    if (wavrec) {
        ifast_wav.loadall(wavrec);
    }
    ;
}
;function ifast_strtotime(str) {
    return Date.parse(str);
}
;function ifast_getonlyid() {
    var timestamp3 = new Date().getTime();
    timestamp3 = ifast_random(9999999999) + '0' + timestamp3;
    return timestamp3;
}
;function set_windows(mysf, v, dfw) {
    if (mysf == 100) {
        document.body.style.background = "url(" + v + ")";
        return;
    }
    ;if (mysf == 101) {
        gameabc_face.dfwgao = 1;
        return;
    }
    ;if (mysf == 102) {
        gameabc_face.dfwtou = 1;
        return;
    }
    ;gameabc_face.jm_sj_cj = mysf;
    gameabc_Project.Property.Version = v;
    ifast_ismast = 1;
    if (dfw == 1977) {
        game124.domElement.style.left = "1111110px";
    }
    ;gameabc_face.resize2000();
}
;function charge_windows(sjw, sjh, winw, winh) {
    gameabc_face.isxz = 0;
    gameabc_face.drawx = 0;
    gameabc_face.drawy = 0;
    gameabc_face.draww = 0;
    gameabc_face.drawh = 0;
}
;function addinputdiv(id, type, x, y, w, h) {
    return gameabc_face.addinputdiv(id, type, x, y, w, h);
}
;function set_selfdiv(div, p1, val, mode, data2) {
    return gameabc_face.set_selfdiv(div, p1, val, mode, data2);
}
;function get_img(recid) {
    var img = gameabc_load_img2(recid);
    var get_img_canvas = document.createElement("canvas");
    var ctx = get_img_canvas.getContext("2d");
    get_img_canvas.width = img.width;
    get_img_canvas.height = img.height;
    ctx.drawImage(img, 0, 0);
    return get_img_canvas.toDataURL("image/png");
}
;function ifast_loadsprite(spritelist) {
    var i;
    for (i = 0; i < spritelist.length; i++) {
        gameabc_loadui2(spritelist[i]);
    }
}
;function openurl(url, mode, cp1) {
    if (cp1) {
        url = url + "?" + cp1;
    }
    ;switch (mode) {
    case 0:
        window.location.href = url;
        break;
    case 1:
        break;
    default:
        window.location.href = url;
        break;
    }
}
;function up_imgurl(recid, url, rewh) {
    var img = gameabc_load_img2(recid);
    gameabc_face.img_list_downing.removeObject(img);
    if (rewh == 1) {
        img.rewh = 1;
    }
    ;img.onload = function() {
        gameabc_face.drawcharge = 1;
        if (this.rewh == 1) {
            ifast_checkimg(recid, 1);
        } else {
            var obj = gameabc_Image.ImageFileList[recid];
            if ((obj.img.allh < img.height) || (obj.img.allw < img.width)) {
                ifast_checkimg(recid, 1);
            }
        }
        ;img.rewh = 0;
    }
    ;
    img.src = url;
}
;function up_imgdata(recid, data) {
    gameabc_face.drawcharge = 1;
    var img = gameabc_load_img2(recid);
    if (data.substring(0, 4) != "data") {
        img.src = "data:image/jpeg;base64," + data;
        return;
    }
    ;img.src = data;
}
;function get_selfdiv(div, p1) {
    gameabc_face.get_selfdiv(div, p1);
}
;function set_selflist_off(id, offx1, offy1) {
    var obj = gameabc_func.getobj(id);
    if (ifast_isno(obj)) {
        return;
    }
    ;obj.setoff(offx1, offy1);
}
;function set_selflist_xywh(id, x1, y1, w1, h1) {
    var obj = gameabc_func.getobj(id);
    if (ifast_isno(obj)) {
        return;
    }
    ;obj.x = x1;
    obj.y = y1;
    obj.w = w1;
    obj.h = h1;
    obj.charge(x1, y1, w1, h1);
}
;function ifast_random(b) {
    return parseInt(Math.random() * b);
}
;function ifast_abs(b) {
    return Math.abs(b);
}
;function ifast_tcp_open(tcpid, weburl) {
    ifast_wss.open(tcpid, weburl);
}
;function ifast_tcp_send(tcpid, msg) {
    msg = ifast_jsonchecktostring(msg);
    ifast_wss.send(tcpid, msg);
}
;function ifast_tcp_close(tcpid) {
    ifast_wss.close(tcpid);
}
;function set_jm_xx(jms) {
    var arr1 = jms.split(",");
    var i = 0;
    var level1 = 0;
    var d = 0;
    var id;
    var leid;
    var obj2;
    for (d = 1; d < gameabc_Layer.LayerList.length; d++) {
        gameabc_Layer.LayerList[d].vsb = 0;
    }
    ;gameabc_face.chargez = 1;
    for (i = 0; i < arr1.length; i++) {
        level1 = arr1[i];
        leid = gameabc_Layer.LayerList[level1];
        if (!leid) {
            continue;
        }
        ;leid.vsb = 1;
        for (d = 0; d < leid.ObjectList.length; d++) {
            id = leid.ObjectList[d];
            obj2 = ifast_getobj(id);
            if (obj2) {
                obj2.zOrder = i * 10000 + obj2.uidata.IndexOfLayer;
            }
        }
        ;
    }
    ;
}
;function ifast_ajax(myid, url, postcs, mode, fun) {}
;function ifast_http(myid, url, postcs, mode, fun) {
    postcs = ifast_jsonchecktostring(postcs);
    var temp = url.substr(url.length - 4);
    if (temp == '.txt' || temp == '.html' || postcs) {} else {
        if ((temp[0] != '.') || (temp != '.txt' && temp != '.html')) {
            if (gameabc_face.randomhttp > 0) {
                url = url + '&dfwhttp=' + ifast_random(gameabc_face.randomhttp) + ifast_random(gameabc_face.randomhttp);
            }
            ;
        }
    }
    ;var pos = url.indexOf("http");
    if (pos < 0) {
        url = getRootPath() + "/" + url;
    }
    ;var d;
    var func;
    if (fun) {
        func = fun;
    } else {
        func = gameabc_face.httpmessage;
    }
    ;if (mode == 0) {
        d = readfile_t(url, postcs);
        if (func) {
            func(myid, url, d);
        }
        ;
    } else {
        if (func) {
            readfile_a2(myid, url, postcs, func);
        }
        ;
    }
    ;
}
;function play_wav(id, isloop1) {
    ifast_wav.playwav(id, isloop1);
}
;function ifast_getcs(name, daf) {
    return gameabc_face.ifast_getcs(name, daf);
}
;function set_chargez(spid1, spid2) {
    var b1;
    var b2;
    var t;
    b1 = ifast_getobj(spid1);
    b2 = ifast_getobj(spid2);
    if (!b1)
        return;
    if (!b2)
        return;
    t = b1.zOrder;
    b1.zOrder = b2.zOrder;
    b2.zOrder = t;
    gameabc_face.chargez = 1;
    gameabc_face.userchargez = 1;
    gameabc_face.drawcharge = 1;
}
;function readfile_key(key) {
    return localStorage.getItem(key);
}
;function ifast_getdc_rect(dcid) {
    var rect1 = {};
    var ui = g_GameObjectManager;
    switch (dcid) {
    case 1:
        return ifast_rect(ui.bg1.x, ui.bg1.y, ui.bg1.width, ui.bg1.height);
        break;
    case 2:
        return ifast_rect(ui.bg2.x, ui.bg2.y, ui.bg2.width, ui.bg2.height);
        break;
    default:
        return ifast_rect(0, 0, ui.backBuffer.width, ui.backBuffer.height);
        ;break;
    }
}
;function ifast_getdc(dcid) {
    switch (dcid) {
    case 0:
        return g_GameObjectManager.d2dbj;
        break;
    case 1:
        return g_GameObjectManager.d2dbj1;
        break;
    case 2:
        return g_GameObjectManager.d2dbj2;
        break;
    default:
        return gameabc_face.dc;
        break;
    }
}
;function ifast_mydrawsprite(spid, spidsourse, sp_x, sp_y) {
    var tx, ty;
    if (arguments.length == 2) {
        tx = spidsourse.x;
        ty = spidsourse.y;
        spidsourse.x = spid.x + spidsourse.x;
        spidsourse.y = spid.y + spidsourse.y;
        spidsourse.draw(0, gameabc_face.dc, 0, 0);
        spidsourse.x = tx;
        spidsourse.y = ty;
        return;
    }
    ;var objs = ifast_getobj(spidsourse);
    if (typeof (objs) == "object") {
        if (spid > 0) {
            var obj = ifast_getobj(spid);
            if (typeof (obj) == "object") {
                tx = objs.x;
                ty = objs.y;
                objs.x = obj.x + sp_x;
                objs.y = obj.y + sp_y;
                objs.draw(0, gameabc_face.dc, 0, 0);
                objs.x = tx;
                objs.y = ty;
            }
            ;
        }
        ;
    }
    ;
}
;function ifast_mydrawbmp(spid, recid, sp_x, sp_y, sp_w, sp_h, bmp_x, bmp_y, bmp_w, bmp_h) {
    if (bmp_w <= 0) {
        ifast_drawtext(spid, recid, sp_x, sp_y, sp_w, sp_h);
        return;
    }
    ;if (spid <= 0) {
        gameabc_face.dc.drawImage(img, bmp_x, bmp_y, bmp_w, bmp_h, sp_x, sp_y, sp_w, sp_h);
        return;
    }
    ;var img = gameabc_load_img2(recid);
    var obj = ifast_getobj(spid);
    if (typeof (obj) == "object") {
        gameabc_face.dc.drawImage(img, bmp_x, bmp_y, bmp_w, bmp_h, obj.x + sp_x, obj.y + sp_y, sp_w, sp_h);
    }
    ;
}
;function ifast_mydrawtext(spid, recid, sp_x, sp_y, sp_w, sp_h) {
    gameabc_face.dc.textBaseline = "top";
    gameabc_face.dc.fillStyle = gameabc_GameTxt.GameTxtList[recid].Color;
    gameabc_face.dc.font = sp_h + 'px' + ' bold san-serif';
    var caption = gameabc_GameTxt.GameTxtList[recid].Text;
    if (spid <= 0) {
        gameabc_face.dc.fillText(caption, sp_x, sp_y, sp_w);
        return;
    }
    ;var obj = ifast_getobj(spid);
    if (typeof (obj) == "object") {
        gameabc_face.dc.fillText(caption, obj.x + sp_x, obj.y + sp_y, sp_w);
    }
    ;
}
;function ifast_lenth(key) {
    if (typeof (key) != "string") {
        var g = key + "";
        return g.length;
    } else {
        return key.length;
    }
}
;function ifast_stringat(key, pos) {
    return key.charAt(pos);
}
;function ifast_setpause(is) {
    if (!gameabgc_face.pause) {
        gameabc_face.pause = 0;
    }
    ;return gameabc_face.pause = is;
}
;function ifasthttpobj(httppath, httpdata) {
    this.httppath = httppath;
    this.httpdata = httpdata;
    this.httppath = readfile_t(httppath);
    this.httpdata = readfile_t(httpdata);
    ;this.render = function() {
        return this.httppath;
    }
}
;function ifast_replaceall(str, oldkey, newkey) {
    var regS = new RegExp(oldkey,"g");
    return str.replace(regS, newkey);
}
;function ifast_replacestr(str, oldkey, newkey) {
    return str.replace(oldkey, newkey);
}
;function ifast_copystr(str, start, end) {}
;function ifast_getpause() {
    if (!gameabgc_face.pause) {
        gameabc_face.pause = 0;
    }
    ;return gameabc_face.pause;
}
;function drawround(ctx, mode, cx, cy, r, fx, bgColor, starta, enda, isout) {
    if (typeof (ctx) == "object") {
        gameabc_face.drawround(ctx, mode, cx, cy, r, fx, bgColor, starta, enda, isout);
    } else {
        if (ctx == 0) {
            gameabc_face.drawround(gameabc_face.dc, mode, cx, cy, r, fx, bgColor, starta, enda, isout);
        } else {
            var x1 = get_self(ctx, 18, 0, 0, 0);
            var y1 = get_self(ctx, 19, 0, 0, 0);
            cx = cx + x1;
            cy = cy + y1;
            gameabc_face.drawround(gameabc_face.dc, mode, cx, cy, r, fx, bgColor, starta, enda, isout);
        }
        ;
    }
    ;
}
;function drawlines(ctx, startx, starty, endx, endy, lw, bgColor) {
    if (typeof (ctx) == "object") {
        gameabc_face.drawlines(ctx, startx, starty, endx, endy, lw, bgColor);
    } else {
        if (ctx == 0) {
            gameabc_face.drawlines(gameabc_face.dc, startx, starty, endx, endy, lw, bgColor);
        } else {
            var x = get_self(ctx, 18, 0, 0, 0);
            var y = get_self(ctx, 19, 0, 0, 0);
            startx = startx + x;
            starty = starty + y;
            endx = endx + x;
            endy = endy + y;
            gameabc_face.drawlines(gameabc_face.dc, startx, starty, endx, endy, lw, bgColor);
        }
        ;
    }
    ;
}
;function set_clip(ctx, mode, x, y, w, h, starta, enda, timefx) {
    if (typeof (ctx) == "object") {
        gameabc_face.set_clip(ctx, mode, x, y, w, h, starta, enda, timefx);
    } else {
        if (ctx == 0) {
            gameabc_face.set_clip(gameabc_face.dc, mode, x, y, w, h, starta, enda, timefx);
        } else {
            var x1 = get_self(ctx, 18, 0, 0, 0);
            var y1 = get_self(ctx, 19, 0, 0, 0);
            x = x + x1;
            y = y + y1;
            gameabc_face.set_clip(gameabc_face.dc, mode, x, y, w, h, starta, enda, timefx);
        }
        ;
    }
    ;
}
;function drawrect(ctx, mode, x, y, w, h, bgColor, isout) {
    if (typeof (ctx) == "object") {
        gameabc_face.drawrect(ctx, mode, x, y, w, h, bgColor, isout);
    } else {
        if (ctx == 0) {
            gameabc_face.drawrect(gameabc_face.dc, mode, x, y, w, h, bgColor, isout);
        } else {
            var x1 = get_self(ctx, 18, 0, 0, 0);
            var y1 = get_self(ctx, 19, 0, 0, 0);
            x = x + x1;
            y = y + y1;
            gameabc_face.drawrect(gameabc_face.dc, mode, x, y, w, h, bgColor, isout);
        }
        ;
    }
    ;
}
;function play_box(zt, id, sx, start, startv, av, timelen) {
    return ifast_wss.playbox(zt, id, sx, start, startv, av, timelen);
}
;function play_ani(zt, id, sx, start, end, times0, timelen, timee, timesz, timese, timesall, timeall, xhmode) {
    return ifast_wss.playani(zt, id, sx, start, end, times0, timelen, timee, timesz, timese, timesall, timeall, xhmode);
}
;function play_ani123(zt, id, sx, start, end, timelen, timesall, timeall, xhmode) {
    return ifast_wss.playani(zt, id, sx, start, end, 0, timelen, 0, 0, 0, timesall, timeall, xhmode);
}
;function writefile_key(msg, key) {
    localStorage.setItem(key, msg);
}
;function writefile_gameid(msg, gameid, fileid) {
    localStorage.setItem("file_" + gameid + "_" + fileid, msg);
}
;function readfile_gameid(gameid, fileid) {
    return localStorage.getItem("file_" + gameid + "_" + fileid);
}
;function chartoint(str) {
    return str.charCodeAt();
}
;function inttochar(code) {
    return String.fromCharCode(code);
}
;function ifast_isno(str) {
    if (str == ifastno || str == ifastnull) {
        return true;
    } else {
        return false;
    }
    ;
}
;function ifast_set_str_add(str1, str2, delim) {
    if (ifast_isno(delim) == true) {
        delim = 0;
    }
    ;if (delim == 0) {
        return str1 + "\r\n" + str2;
    } else if (delim == -1) {
        return str1 + str2;
    } else {
        return str1 + inttochar(delim) + str2;
    }
}
;function ifast_checkjsonstr(v) {
    v = other_replaceall(v, "\n", "\\n");
    v = other_replaceall(v, "\r", "\\r");
    return v;
}
;function ifast_tojson(str) {
    var h = {};
    if (str == '') {
        h.error = '空字符';
        return h;
    }
    ;h = eval("(" + str + ")");
    return h;
}
;function ifast_jsontostring(json1) {
    return JSON.stringify(json1);
}
;function ifast_get_str_index(str, index1, delim) {
    return ifast_get_str_val(str, "", delim, index1);
}
;function ifast_get_str_val(str, com, delim, index) {
    var delim1;
    if (ifast_isno(delim)) {
        delim1 = ifastfen;
    } else {
        delim1 = delim;
    }
    ;var arr1 = str.split(delim1);
    if (com == "") {
        if (ifast_isno(index) == true) {
            return "null";
        }
        ;if (arr1[index]) {
            return arr1[index];
        } else {
            return "null";
        }
        ;
    }
    ;var str1;
    var arr2;
    for (i = 0; i < arr1.length - 1; i++) {
        str1 = arr1[i];
        arr2 = str1.split("=");
        if (com == arr2[0]) {
            return arr2[1];
        }
        ;
    }
}
;function ifast_get_str_count(str, delim) {
    var delim1;
    if (ifast_isno(delim)) {
        delim1 = ifastfen;
    } else {
        delim1 = delim;
    }
    ;var arr1 = str.split(delim1);
    return arr1.length;
}
;function showmessage(str, mode) {
    if (arguments.length == 1) {
        var sUserAgent = navigator.userAgent.toLowerCase();
        var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
        var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
        var bIsMidp = sUserAgent.match(/midp/i) == "midp";
        var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
        var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
        var bIsAndroid = sUserAgent.match(/android/i) == "android";
        var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
        var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
        if ((typeof (settings) != "undefined") && (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM)) {
            settings.showmessage(str);
        } else {
            alert(str);
        }
    } else {
        var mybody = document.getElementsByTagName("body")[0];
        var mytablebody = document.createElement("textarea");
        mytablebody.style = "left:0px;top:0px;width:800px;height:600px;position:absolute";
        mytablebody.value = str;
        mybody.appendChild(mytablebody);
    }
}
;function ifast_renderjson2html(data, inits, re, mb) {
    var ss = inits;
    if (re == 1) {
        ss = ss + mb;
    }
    ;for (var o in data) {
        if (typeof (data[o]) == "function") {
            continue;
        }
        ;if (typeof (data[o]) == "object") {
            if (data[o].constructor.name == 'Array') {
                ss = ifast_renderjson2html(data[o], ss, 0, mb);
            } else {
                if (data[o].hasOwnProperty('mydata')) {
                    ss = ifast_renderjson2html(data[o], ss, 1, data[o].mydata);
                } else {
                    if (data[o].hasOwnProperty('myfunc')) {
                        ss = ifast_renderjson2html(data[o], ss, 2, data[o].myfunc);
                    } else {
                        ss = ifast_renderjson2html(data[o], ss, 0, mb);
                    }
                    ;
                }
            }
        } else {
            switch (re) {
            case 2:
                if (o != "myfunc") {
                    ss = mb + "&" + o + "=" + data[o];
                    ss = readfile_t(ss);
                    ss = inits + ss;
                }
                ;break;
            case 1:
                if (o != "mydata") {
                    ss = ifast_replacestr(ss, "{%=" + o + "%}", data[o]);
                }
                ;break;
            default:
                ss = ss + data[o];
                break;
            }
            ;
        }
        ;
    }
    ;return ss;
}
;function logmessage(str, mode) {
    if (gameabc_face.openlog != 1 && mode == 0) {
        return;
    }
    ;if (!mode) {
        mode = 0;
    }
    ;switch (mode) {
    case 2:
        document.title = str;
        break;
    case 0:
        ;break;
    case 1:
        gameabc_face.drawcharge = 1;
        gameabc_face.loglist.push(str);
        break;
    case -1:
        gameabc_face.drawcharge = 1;
        gameabc_face.loglist = [];
        break;
    default:
        break;
    }
}
;function readfile_a2(myid, url, postcp, fun) {
    var XMLHttpRequestObject = false;
    try {
        if (window.XMLHttpRequest) {
            XMLHttpRequestObject = new XMLHttpRequest();
        } else if (window.ActiveXObject) {
            XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
        }
        ;if (XMLHttpRequestObject) {
            if (!postcp || postcp == 'GET') {
                XMLHttpRequestObject.open("GET", url, true);
            } else {
                XMLHttpRequestObject.open("POST", url, true);
            }
            ;XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            XMLHttpRequestObject.onreadystatechange = function() {
                if (XMLHttpRequestObject.readyState == 4) {
                    if (XMLHttpRequestObject.status == 200) {
                        if (fun) {
                            fun(myid, url, XMLHttpRequestObject.responseText);
                        }
                    } else {
                        if (fun) {
                            fun(myid, "error", XMLHttpRequestObject.responseText);
                        }
                    }
                }
            }
            ;
            if (!postcp || postcp == 'GET') {
                XMLHttpRequestObject.send(null);
            } else {
                XMLHttpRequestObject.send(postcp);
            }
        }
    } catch (e) {
        if (fun) {
            fun(myid, "error", "error");
        }
        ;
    }
    ;
}
;function readfile_a(url, postcp, fun) {
    var XMLHttpRequestObject = false;
    try {
        if (window.XMLHttpRequest) {
            XMLHttpRequestObject = new XMLHttpRequest();
        } else if (window.ActiveXObject) {
            XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
        }
        ;if (XMLHttpRequestObject) {
            if (!postcp || postcp == 'GET') {
                XMLHttpRequestObject.open("GET", url, true);
            } else {
                XMLHttpRequestObject.open("POST", url, true);
            }
            ;XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            XMLHttpRequestObject.onreadystatechange = function() {
                if (XMLHttpRequestObject.readyState == 4) {
                    if (XMLHttpRequestObject.status == 200) {
                        fun(XMLHttpRequestObject.responseText);
                    } else {
                        fun("null");
                    }
                }
            }
            ;
            if (!postcp || postcp == 'GET') {
                XMLHttpRequestObject.send(null);
            } else {
                XMLHttpRequestObject.send(postcp);
            }
        }
    } catch (e) {
        fun("error");
    }
    ;
}
;function readfile_t(url, postcp) {
    var myString = "";
    var XMLHttpRequestObject = false;
    try {
        if (window.XMLHttpRequest) {
            XMLHttpRequestObject = new XMLHttpRequest();
        } else if (window.ActiveXObject) {
            XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
        }
        ;if (XMLHttpRequestObject) {
            if (!postcp || postcp == 'GET') {
                XMLHttpRequestObject.open("GET", url, false);
                XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                XMLHttpRequestObject.send(null);
            } else {
                XMLHttpRequestObject.open("POST", url, false);
                XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                XMLHttpRequestObject.send(postcp);
            }
            ;myString = XMLHttpRequestObject.responseText;
            return myString;
        } else {
            return myString;
        }
    } catch (e) {
        return "error";
    }
    ;
}
;function ifast_mod(i, b) {
    return i % b;
}
;function ifast_div(i, b) {
    if (!b) {
        return parseInt(i);
    }
    ;return parseInt(i / b);
}
;function ifast_getobj(spid) {
    return gameabc_getobj(spid);
}
;function set_rec(stringid, stringv) {
    gameabc_GameTxt.GameTxtList[stringid].Text = stringv;
}
;function get_rec(stringid) {
    return gameabc_GameTxt.GameTxtList[stringid].Text;
}
;function ifast_tel(tel) {
    if (ifast_ispc() == 0) {
        window.location.href = "tel://" + tel;
    } else {
        showmessage("模拟打电话:" + tel);
    }
}
;function set_level_up(levelid, vsb) {
    if (!gameabc_Layer.LayerList[levelid]) {
        return;
    }
    ;gameabc_Layer.LayerList[levelid].vsb = vsb;
    var t = gameabc_Layer.showorder;
    t.removeval(levelid);
    if (vsb == 1) {
        t.push(levelid);
        set_level(gameabc_Layer.showorder);
    }
}
;function set_level(levelid, vsb, val) {
    if (arguments.length == 1) {
        var le = gameabc_Layer.LayerList;
        gameabc_Layer.showorder = levelid;
        for (yy = 0; yy < le.length; yy++) {
            le[yy].vsb = 0;
        }
        ;for (yy = 0; yy < levelid.length; yy++) {
            if (!le[levelid[yy]].Property) {
                continue;
            }
            ;le[levelid[yy]].vsb = 1;
        }
        ;return;
    }
    ;if (!gameabc_Layer.LayerList[levelid]) {
        return;
    }
    ;if (arguments.length == 2) {
        gameabc_Layer.LayerList[levelid].vsb = vsb;
        return;
    }
    ;if (vsb == 41) {
        gameabc_Layer.LayerList[levelid].canclick = val;
    }
}
;function set_group(groupid, cpid, val, mode, val2) {
    var groups = gameabc_GroupList.GroupList;
    var group;
    var id;
    for (var x = 0; x < groups.length; x++) {
        if (groups[x].GroupID == groupid) {
            group = groups[x].ObjectList;
            for (var y = 0; y < group.length; y++) {
                id = group[y];
                set_self(id, cpid, val, mode, val2);
            }
        }
    }
}
;function get_self(id, cpid, val, mode, val2) {
    var obj = gameabc_func.getobj(id);
    if (ifast_isno(obj)) {
        return 0;
    }
    ;var re = 0;
    if (mode == 0) {
        mode = -1;
    }
    ;switch (cpid) {
    case 6:
        re = obj.image;
        break;
    case 16:
        re = obj.f;
        break;
    case 7:
        if (obj.uipointer == 0) {
            if (!val || val == 0) {
                re = obj.caption;
            } else {
                if (typeof (val) == 'string') {
                    re = ifast_measureText(id, val);
                } else {
                    re = ifast_measureText(id);
                }
                ;
            }
        } else {
            re = gameabc_face.getdiv_text(obj.uipointer);
        }
        ;break;
    case 1:
        re = gamabc_getval(obj.recid, val, mode);
        break;
    case 33:
        re = gamabc_getval(obj.scale, val, mode);
        break;
    case 34:
        re = gamabc_getval(obj.arge, val, mode);
        break;
    case 35:
        re = gamabc_getval(obj.ap, val, mode);
        break;
    case 36:
        re = gamabc_getval(obj.hu, val, mode);
        break;
    case 45:
        re = gamabc_getval(obj.cx, val, mode);
        break;
    case 46:
        re = gamabc_getval(obj.cy, val, mode);
        break;
    case 51:
        re = gamabc_getval(obj.jx, val, mode);
        break;
    case 18:
        re = gamabc_getval(obj.x, val, mode);
        break;
    case 19:
        re = gamabc_getval(obj.y, val, mode);
        break;
    case 20:
        re = gamabc_getval(obj.w, val, mode);
        break;
    case 21:
        re = gamabc_getval(obj.h, val, mode);
        break;
    case 43:
        re = gamabc_getval(obj.frame, val, mode);
        break;
    case 37:
        if (obj.uipointer == 0) {
            re = gamabc_getval(obj.visbale, val, mode);
        } else {
            re = gameabc_face.getdiv_v(obj.uipointer);
        }
        ;break;
    case 41:
        re = gamabc_getval(obj.canclick, val, mode);
        break;
    case 44:
        re = gamabc_getval(obj.groupid, val, mode);
        break;
    case 57:
        re = gamabc_getval(obj.ontime, val, mode);
        break;
    case 58:
        re = obj.color;
        break;
    case 28:
        var t = {};
        t.x = obj.x;
        t.y = obj.y;
        t.w = obj.w;
        t.h = obj.h;
        re = t;
        break;
    default:
        if (!obj["other" + cpid]) {
            obj["other" + cpid] = 0;
        }
        ;re = gamabc_getval(obj["other" + cpid], val, mode);
        break;
    }
    ;return re;
}
;function set_self(id, cpid, val, mode, val2) {
    var obj = gameabc_func.getobj(id);
    if (ifast_isno(obj)) {
        return 0;
    }
    ;if (arguments.length == 3) {
        mode = 0;
    }
    ;if (typeof (cpid) == "string") {
        if (obj.uipointer != 0) {
            obj.uipointer.setAttribute(cpid, val);
        }
        ;return;
    }
    ;switch (cpid) {
    case 6:
        obj.image = val;
        break;
    case 28:
        if (typeof (val) == "object") {
            obj.x = val.x;
            obj.y = val.y;
            obj.w = val.w;
            obj.h = val.h;
        }
        ;break;
    case 16:
        if (val <= 0) {
            obj.f = 0;
        } else {
            obj.f = ifast_getobj(val);
        }
        ;break;
    case 58:
        obj.color = val;
        break;
    case 7:
        if (typeof (val) != "string") {
            try {
                val = val.toString();
            } catch (e) {
                val = "null";
            }
        }
        ;if (obj.uipointer != 0) {
            gameabc_face.setdiv_text(obj.uipointer, val);
        }
        ;obj.caption = val;
        break;
    case 1:
        obj.recid = gamabc_getval(obj.recid, val, mode);
        if (obj.recid <= 0) {
            obj.image = null;
        } else {
            if (obj.recid < 10000) {
                obj.image = gameabc_load_img2(obj.recid);
            } else {
                obj.image = gameabc_Image.addimgs["add" + obj.recid].img;
            }
        }
        ;break;
    case 33:
        obj.scale = gamabc_getval(obj.scale, val, mode);
        break;
    case 34:
        obj.arge = gamabc_getval(obj.arge, val, mode);
        break;
    case 35:
        obj.ap = gamabc_getval(obj.ap, val, mode);
        break;
    case 36:
        obj.hu = gamabc_getval(obj.hu, val, mode);
        break;
    case 45:
        obj.cx = gamabc_getval(obj.cx, val, mode);
        break;
    case 46:
        obj.cy = gamabc_getval(obj.cy, val, mode);
        break;
    case 51:
        obj.jx = gamabc_getval(obj.jx, val, mode);
        break;
    case 18:
        obj.x = gamabc_getval(obj.x, val, mode);
        break;
    case 19:
        obj.y = gamabc_getval(obj.y, val, mode);
        break;
    case 20:
        obj.w = gamabc_getval(obj.w, val, mode);
        break;
    case 21:
        obj.h = gamabc_getval(obj.h, val, mode);
        break;
    case 43:
        obj.frame = gamabc_getval(obj.frame, val, mode);
        break;
    case 37:
        if (obj.uipointer != 0) {
            gameabc_face.setdiv_v(obj.uipointer, val);
        }
        ;obj.visbale = gamabc_getval(obj.visbale, val, mode);
        break;
    case 41:
        obj.canclick = gamabc_getval(obj.canclick, val, mode);
        break;
    case 44:
        obj.groupid = gamabc_getval(obj.groupid, val, mode);
        break;
    case 57:
        obj.ontime = gamabc_getval(obj.ontime, val, mode);
        if (obj.ontime == 0) {
            obj.click_time = 0;
        }
        ;break;
    default:
        if (!obj["other" + cpid]) {
            obj["other" + cpid] = 0;
        }
        ;obj["other" + cpid] = gamabc_getval(obj["other" + cpid], val, mode);
        break;
    }
    ;if (obj.ObjectType == 5) {
        obj.charge(obj.x, obj.y, obj.w, obj.h);
    }
}
;function ifast_getrectdec(allrect, syrect, Align, SizeStyle, size, dec) {
    return getmyrectdec(allrect, syrect, Align, SizeStyle, size, dec);
}
;function ifast_getrect(spid, Align, SizeStyle, size) {
    var rect1;
    if (spid <= 0) {
        return ifast_rect(0, 0, window.innerWidth, window.innerHeight);
    }
    ;rect1 = get_self(spid, 28);
    if (!Align) {
        return rect1;
    }
    ;return getmyrectdec(rect1, rect1, Align, SizeStyle, size, 0);
}
;function ifast_checksprite(spido, spidd) {
    var o = get_self(spido, 28);
    var d = get_self(spidd, 28);
    return ifast_checkrect(o, d);
}
;function ifast_checkpoint(x, y, d) {
    if (x >= d.x && x <= d.x + d.w && y >= d.y && y <= d.y + d.h) {
        return 1;
    } else {
        return 0;
    }
}
;function ifast_checkrect(o, d) {
    if (d.x >= o.w || d.y >= o.h) {
        return 0;
    } else {
        return 1;
    }
    ;if (d.x + d.w <= o.x || d.y + d.h < o.y) {
        return 0;
    } else {
        return 1;
    }
    ;var px;
    var py;
    px = o.x <= d.x ? d.x : o.x;
    py = o.y <= d.y ? d.y : o.y;
    if (px >= o.x && px <= o.x + o.w && py >= o.y && py <= o.y + o.h && px >= d.x && px <= d.x + d.w && py >= d.y && py <= d.y + d.h) {
        return 1;
    } else {
        return 0;
    }
}
;function ifast_rectalign(rects, mode, pointx, y) {
    var point;
    if (arguments.length == 3) {
        point = pointx;
    } else {
        point = ifast_rect(pointx, y, 0, 0);
    }
    ;var rect1 = ifast_rect(rects);
    switch (mode) {
    case 1:
        rect1 = ifast_rectoffxy(rect1, point.x, point.y);
        break;
    case 2:
        rect1.x = point.x + rect1.x - rect1.w;
        rect1.y = point.y + rect1.y;
        break;
    case 3:
        rect1.x = point.x + rect1.x - rect1.w;
        rect1.y = point.y + rect1.y - rect1.h;
        break;
    case 4:
        rect1.x = point.x + rect1.x;
        rect1.y = point.y + rect1.y - rect1.h;
        break;
    case 5:
        rect1.x = point.x + rect1.x - parseInt(rect1.w * 0.5);
        rect1.y = point.y + rect1.y - parseInt(rect1.h * 0.5);
        break;
    default:
        break;
    }
    ;return rect1;
}
;function ifast_spritealignxy(offx, offy, spids, modeds, cx, cy) {
    var rect1 = get_self(spids, 28);
    rect1.x = offx;
    rect1.y = offy;
    var rect2;
    rect2 = ifast_rectalign(rect1, modeds, cx, cy);
    set_self(spids, 28, rect2);
}
;function ifast_spritealign(offx, offy, spids, modeds, spidd, moded) {
    var rect1 = get_self(spids, 28);
    rect1.x = offx;
    rect1.y = offy;
    var rect2 = get_self(spidd, 28);
    rect2 = ifast_point(rect2, moded);
    rect2 = ifast_rectalign(rect1, modeds, rect2);
    set_self(spids, 28, rect2);
}
;function ifast_point(r, mode) {
    var rect1;
    rect1 = ifast_rect(r.x, r.y, r.w, r.h);
    switch (mode) {
    case 1:
        break;
    case 2:
        rect1.x += rect1.w;
        break;
    case 3:
        rect1.x += rect1.w;
        rect1.y += rect1.h;
        break;
    case 4:
        rect1.y += rect1.h;
        break;
    case 5:
        rect1.x += parseInt(rect1.w * 0.5);
        rect1.y += parseInt(rect1.h * 0.5);
        break;
    }
    ;return rect1;
}
;function ifast_rectscwh(r, sw, sh) {
    var rect1;
    rect1 = ifast_rect(r.x, r.y, r.w, r.h);
    rect1.w = parseInt(r.w * sw);
    rect1.h = parseInt(r.h * sh);
    return rect1;
}
;function ifast_rectoffxy(r, x, y) {
    var rect1 = {};
    rect1.x = x + r.x;
    rect1.y = y + r.y;
    rect1.w = r.w;
    rect1.h = r.h;
    return rect1;
}
;function ifast_rect(ox, oy, ow, oh) {
    var rect1 = {};
    if (arguments.length < 4) {
        rect1.x = ox.x;
        rect1.y = ox.y;
        rect1.w = ox.w;
        rect1.h = ox.h;
    } else {
        rect1.x = ox;
        rect1.y = oy;
        rect1.w = ow;
        rect1.h = oh;
    }
    ;return rect1;
}
;function ifast_setkey(id, key, val) {
    if (ifast_hashmaps['my' + id] == undefined) {
        ifast_hashmaps['my' + id] = {};
    }
    ;ifast_hashmaps['my' + id]['my' + key] = val;
}
;function ifast_getkey(id, key) {
    if (ifast_hashmaps['my' + id] == undefined) {
        ifast_hashmaps['my' + id] = {};
        return null;
    }
    ;return ifast_hashmaps['my' + id]['my' + key];
}
;function ifast_delkey(id, key) {
    if (ifast_hashmaps['my' + id] == undefined) {
        ifast_hashmaps['my' + id] = {};
    }
    ;delete ifast_hashmaps['my' + id]['my' + key];
}
;function ifast_addtospritefromspritecopy(fspid, copyspid, x, y, tag) {
    if (fspid <= 0) {
        return;
    }
    ;var fobj = ifast_getobj(fspid);
    var obj2 = new GameObject().addtospritefromspritecopy(fspid, copyspid, x, y, tag);
    return fspid + 'add' + tag;
}
;function ifast_dllpritefromspritecopy(fspid, tag) {
    if (fspid <= 0) {
        return;
    }
    ;var fobj = ifast_getobj(fspid);
    fobj.dllpritefromspritecopy(tag);
}
;function ifast_check_add(spid, x1, y1) {
    return gameabc_check_add(spid, x1, y1)
}
;function ifast_ispc() {
    var userAgentInfo = navigator.userAgent;
    var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
    var flag = 1;
    for (var v = 0; v < Agents.length; v++) {
        if (userAgentInfo.indexOf(Agents[v]) > 0) {
            flag = 0;
            break;
        }
    }
    ;return flag;
}
;function ifast_checkimg(image_id, upwh) {
    gameabc_face.drawcharge = 1;
    var obj;
    if (image_id < 10000) {
        obj = gameabc_Image.ImageFileList[image_id];
        if (!obj) {
            return 0;
        }
        ;if (obj.img.error != 0) {
            return -obj.img.error;
        }
        ;if (upwh == 1) {
            obj.w1 = parseInt(obj.w1 * (obj.img.width / obj.img.allw));
            obj.h1 = parseInt(obj.h1 * (obj.img.height / obj.img.allh));
            obj.img.allw = obj.img.width;
            obj.img.allh = obj.img.height;
        }
        ;return obj.img.ok;
    } else {
        if (!gameabc_Image.addimgs) {
            gameabc_Image.addimgs = {};
        }
        ;obj = gameabc_Image.addimgs["add" + image_id];
        if (!obj) {
            return 0;
        }
        ;if (obj.img.error != 0) {
            return -obj.img.error;
        }
        ;if (upwh == 1) {
            obj.w1 = parseInt(obj.w1 * (obj.img.width / obj.img.allw));
            obj.h1 = parseInt(obj.h1 * (obj.img.height / obj.img.allh));
            obj.img.allw = obj.img.width;
            obj.img.allh = obj.img.height;
        }
        ;return obj.img.ok;
    }
}
;function ifast_addimgfromimgcopy(fimgid, copyimgid, url) {
    if (fimgid > 10000) {
        alert('ifast_addimgfromimgcopy：fimgid:必须小于10000');
        return -1;
    }
    ;if (copyimgid < 10000) {
        alert('ifast_addimgfromimgcopy：copyimgid:必须大于等于10000');
        return -2;
    }
    ;if (!gameabc_Image.addimgs) {
        gameabc_Image.addimgs = {};
    }
    ;var obj = gameabc_Image.addimgs["add" + copyimgid];
    if (obj) {
        return;
    }
    ;gameabc_Image.addimgs["add" + copyimgid] = {};
    obj = gameabc_Image.addimgs["add" + copyimgid];
    var objimg = gameabc_Image.ImageFileList[fimgid];
    if (!objimg.id) {
        alert('ifast_addimgfromimgcopy：fimgid:没有属性');
        return -3;
    }
    ;obj.img = new Image();
    obj.img.id = copyimgid;
    obj.img.ok = 0;
    obj.img.allw = objimg.w_all;
    obj.img.allh = objimg.h_all;
    obj.img.error = 0;
    obj.id = copyimgid;
    obj.w_all = objimg.w_all;
    obj.h_all = objimg.h_all;
    obj.h = objimg.h;
    obj.w = objimg.w;
    obj.frame_all = objimg.frame_all;
    obj.w1 = objimg.w1;
    obj.h1 = objimg.h1;
    obj.img.src = url;
    obj.img.pathx = url;
    obj.img.onload = function() {
        this.ok = 1;
        obj.w_all = this.width;
        obj.h_all = this.height;
        obj.w1 = parseInt(this.width / obj.w);
        obj.h1 = parseInt(this.height / obj.h);
    }
    ;
    obj.img.onerror = function() {
        this.error = this.error + 1;
        if (this.error < 3) {
            obj.img.src = '';
            obj.img.src = obj.img.pathx;
        }
    }
}
;function ifast_delimgfromimgcopy(recid) {
    if (!gameabc_Image.addimgs) {
        gameabc_Image.addimgs = {};
    }
    ;var obj = gameabc_Image.addimgs["add" + copyimgid];
    if (obj) {
        delete obj.img;
        delete gameabc_Image.addimgs["add" + copyimgid];
    }
    ;
}
;function ifast_loadhtml(htmltxt) {
    document.open();
    document.write(htmltxt);
    document.close();
}
;function ifast_split(str1, str2) {
    return str1.split(str2);
}
;function draw_bg(recid) {
    var img = gameabc_load_img2(recid);
    if (g_GameObjectManager.d2dbj) {
        g_GameObjectManager.d2dbj.drawImage(img, 0, 0, g_GameObjectManager.canvas.width, g_GameObjectManager.canvas.height);
        g_GameObjectManager.userbj = 1;
    }
    ;
}
;function other_replaceall(sstr, key1, ostr) {
    if (arguments.length == 2) {
        var news = sstr;
        var key;
        if (typeof (key1) == 'string') {
            key = eval("(" + key1 + ")");
        } else {
            key = key1;
        }
        ;for (var kayname in key) {
            news = other_replaceall(news, '{{' + kayname + '}}', key[kayname]);
        }
        ;return news;
    }
    ;var regS = new RegExp(key1,"g");
    return sstr.replace(regS, ostr);
}
;function other_upimgsrc(id, str) {
    var obj = window.document.getElementById(id);
    obj.src = str;
}
;function other_upinnerHTML(id, str, isadd) {
    var obj = window.document.getElementById(id);
    if (isadd) {
        obj.innerHTML = obj.innerHTML + str;
    } else {
        obj.innerHTML = str;
    }
}
;function other_upkey(id, key, ostr) {
    var obj = window.document.getElementById(id);
    obj.setAttribute(key, ostr);
}
;function other_setdom(id, key, val) {
    var obj;
    if (typeof (id) == 'string') {
        obj = gameabc_face.getdiv(id);
    } else {
        obj = id;
    }
    ;obj.setAttribute(key, val);
}
;function other_deldom(id) {
    var obj;
    if (typeof (id) == 'string') {
        obj = gameabc_face.getdiv(id);
    } else {
        obj = id;
    }
    ;obj.parentNode.removeChild(obj);
}
;function other_creatdom(mode) {
    var inText = document.createElement(mode);
    return inText;
}
;function other_offdomxywh(sdom, ddom, offx, offy, ww, hh) {
    var obj;
    if (typeof (sdom) == 'string') {
        obj = gameabc_face.getdiv(sdom);
    } else {
        obj = sdom;
    }
    ;var obj2;
    if (typeof (ddom) == 'string') {
        obj2 = gameabc_face.getdiv(ddom);
    } else {
        obj2 = ddom;
    }
    ;if (obj2 == null) {
        return;
    }
    ;obj2.style.position = 'absolute';
    if (!offx) {
        offx = 0;
    } else {
        offx = parseInt(offx / gameabc_face.mouse_sx);
    }
    ;if (!offy) {
        offy = 0;
    } else {
        offy = parseInt(offy / gameabc_face.mouse_sy);
    }
    ;if (!ww) {
        ww = obj.width;
    } else {
        ww = parseInt((ww) / gameabc_face.mouse_sx);
    }
    ;if (!hh) {
        hh = obj.height;
    } else {
        hh = parseInt((hh) / gameabc_face.mouse_sy);
    }
    ;obj2.style.left = parseInt(obj.style.left) + offx + 'px';
    obj2.style.top = parseInt(obj.style.top) + offy + 'px';
    obj2.width = ww;
    obj2.height = hh;
}
;function other_appdom(pdom, dom) {
    var obj;
    if (typeof (pdom) == 'string') {
        obj = gameabc_face.getdiv(pdom);
    } else {
        obj = pdom;
    }
    ;obj.appendChild(dom);
}
;function other_setdom_v(pdom, v) {
    var obj;
    if (typeof (pdom) == 'string') {
        obj = gameabc_face.getdiv(pdom);
    } else {
        obj = pdom;
    }
    ;if (v == 0) {
        obj.style.display = "none";
    } else {
        obj.style.display = "block";
    }
}
;function ifast_urlstr(sstr) {
    return encodeURIComponent(sstr);
}
;function ifast_unurlstr(sstr) {
    return decodeURIComponent(sstr);
}
;function ifast_checkjsonstr(v) {
    v = other_replaceall(v, "\n", "\\n");
    v = other_replaceall(v, "\r", "\\r");
    return v;
}
;ifastunit = 7;
var gameabc_func = gameabc_func || {};
function set_self2(name, cpid, val, mode, val2) {}
;function get_self2(name, cpid, val, mode, val2) {}
;gameabc_func.resizespanle2 = function(uidata, obj, allwh, mode) {
    var wh = {};
    switch (mode) {
    case 0:
        wh = allwh;
        break;
    case 1:
        break;
    case 2:
        break;
    }
    ;return wh;
}
;
gameabc_func.resizespanle = function(levelid, w, h) {
    var objs = gameabc_Layer.LayerList[levelid].ObjectList;
    var i;
    var objid;
    var obj;
    var l = objs.length;
    var allwh = {};
    allwh.x = 0;
    allwh.y = 0;
    allwh.w = w;
    allwh.w = h;
    var sywh = {};
    sywh.x = 0;
    sywh.y = 0;
    sywh.w = w;
    sywh.w = h;
    for (i = 0; i < l; i++) {
        objid = objs[i];
        obj = gameabc_func.getobj(objid);
        if (ifast_isno(obj)) {
            continue;
        }
        ;if (obj.uidata.ObjectType == 6) {
            if (obj.uidata.SizeStyle <= 1) {
                sywh = gameabc_func.resizespanle2(obj.uidata, obj, allwh, obj.uidata.SizeStyle);
            } else {
                sywh = gameabc_func.resizespanle2(obj.uidata, obj, sywh, obj.uidata.SizeStyle);
            }
            ;
        }
        ;
    }
}
;
gameabc_func.getobj = function(id) {
    if (id < 1) {
        return gameabc_face.obj;
    }
    ;return gameabc_Object["sp" + id];
}
;
function gamabc_getval(val, val2, mode) {
    switch (mode) {
    case -1:
        return val;
        break;
    case 0:
        return val2;
        break;
    case 1:
        return val + val2;
        break;
    case 2:
        return val - val2;
        break;
    case 3:
        return parseInt(val * val2);
        break;
    case 4:
        return parseInt(val / val2);
        break;
    default:
        return val;
        break;
    }
}
;gameabc_func.setioplay = function() {
    setioplay();
}
;
gameabc_func.getval = function(val, val2, mode) {
    gamabc_getval(val, val2, mode);
}
;
gameabc_func.get_self = function(id, cpid, val, mode, val2) {
    return get_self(id, cpid, val, mode, val2);
}
;
gameabc_func.set_self = function(id, cpid, val, mode, val2) {
    set_self(id, cpid, val, mode, val2);
}
;
gameabc_func.set_group = function(groupid, cpid, val, mode, val2) {
    set_group(groupid, cpid, val, mode, val2);
}
;
gameabc_func.set_level = function(levelid, vsb) {
    set_level(levelid, vsb);
}
;
function gameabc_insert_sp() {}
;function gameabc_del_sp() {}
;function gameabc_getrect1() {}
;function gameabc_getrect2(recid, frame) {
    var obj;
    if (recid < 10000) {
        obj = gameabc_Image.ImageFileList[recid];
    } else {
        obj = gameabc_Image.addimgs['add' + recid];
        if (!obj) {
            alert('add' + recid + '不存在！');
        }
        ;
    }
    ;var w = obj.w1;
    var h = obj.h1;
    var x = obj.w;
    var y = obj.h;
    var frame_all = obj.frame_all;
    frame = frame - 1;
    if (frame < 0)
        frame = 0;
    frame = frame % frame_all;
    var py = parseInt(frame / x);
    var px = frame % x;
    var r = {};
    r.x = px * w;
    r.y = py * h;
    r.w = w;
    r.h = h;
    return r;
}
;function gameabc_loadui1(canvas1, w, h) {}
;function gameabc_loaduiall() {
    gameabc_loadui2();
}
;function gameabc_getobj(id) {
    if (id < 1) {
        return gameabc_face.obj;
    }
    ;return gameabc_Object["sp" + id];
}
;function gameabc_check_add(spid, x1, y1) {
    var id = -99999999;
    var i;
    var obj = ifast_getobj(spid);
    var obj2;
    var x;
    var y;
    var w;
    var h;
    if (obj.addlist) {
        var l = obj.addlist.length;
        if (l > 0) {
            for (i = l - 1; i >= 0; i--) {
                obj2 = obj[obj.addlist[i]];
				if (!obj2) {//---xwb-------
                    continue;
                }
				if (!obj2.visbale) {//---xwb-------
                    continue;
                }
                if (obj2.visbale == false) {
                    continue;
                }
                ;if (obj2.canclick == false) {
                    continue;
                }
                ;if (obj2.ObjectType == 6) {
                    continue;
                }
                ;x = obj2.x + obj.x;
                y = obj2.y + obj.y;
                w = obj2.w;
                h = obj2.h;
                if (x1 >= x && x1 < x + w && y1 > y && y1 < y + h) {
                    return obj2.add_fatag;
                }
            }
        }
    }
    ;return id;
}
;function gameabc_check_click2(x1, y1) {
    var le = gameabc_Layer.LayerList;
    var order = gameabc_Layer.showorder;
    var orderlen = order.length;
    var xx;
    var yy;
    var yy1;
    var ok = 0;
    var list;
    for (yy1 = orderlen - 1; yy1 >= 0; yy1--) {
        yy = order[yy1];
        if (!le[yy].Property) {
            continue;
        }
        ;if (le[yy].vsb == 0) {
            continue;
        }
        ;if (le[yy].canclick == 0) {
            continue;
        }
        ;list = le[yy].ObjectList;
        for (xx = list.length - 1; xx >= 0; xx--) {
            obj = gameabc_Object["sp" + list[xx]];
            if (obj) {
                ok = gameabc_check_click1(obj, x1, y1);
                if (ok != 0) {
                    return ok;
                }
            } else {
                if (!gameabc_face.tsbb) {
                    showmessage('版本可能未注册！');
                    gameabc_face.tsbb = 1;
                }
            }
        }
        ;if (ok != 0) {
            return ok;
        }
    }
    ;return 0;
}
;function gameabc_check_click1(obj, x1, y1) {
    if (obj.visbale == false) {
        return 0;
    }
    ;if (obj.canclick == false) {
        return 0;
    }
    ;if (obj.ObjectType == 6) {
        return 0;
    }
    ;if (gameabc_Layer.LayerList[obj.z].vsb == false) {
        return 0;
    }
    ;if (obj.f) {
        x = obj.x + obj.f.x;
        y = obj.y + obj.f.y;
    } else {
        x = obj.x;
        y = obj.y;
    }
    ;w = obj.w;
    h = obj.h;
    if (x1 >= x && x1 < x + w && y1 > y && y1 < y + h) {
        return obj.objid;
    }
    ;return 0;
}
;function gameabc_check_click(x1, y1) {
    return gameabc_check_click2(x1, y1);
    var obs = g_GameObjectManager.gameObjects;
    var i;
    var x;
    var y;
    var w;
    var h;
    var ob;
    for (i = obs.length - 1; i >= 0; i--) {
        if (obs[i].visbale == false) {
            continue;
        }
        ;if (obs[i].canclick == false) {
            continue;
        }
        ;if (obs[i].ObjectType == 6) {
            continue;
        }
        ;if (gameabc_Layer.LayerList[obs[i].z].vsb == false) {
            continue;
        }
        ;if (obs[i].f) {
            x = obs[i].x + obs[i].f.x;
            y = obs[i].y + obs[i].f.y;
        } else {
            x = obs[i].x;
            y = obs[i].y;
        }
        ;w = obs[i].w;
        h = obs[i].h;
        if (x1 >= x && x1 < x + w && y1 > y && y1 < y + h) {
            return obs[i].objid;
        }
    }
    ;return 0;
}
;function gameabc_loadui2(ObjectID) {
    if (arguments.length == 0) {
        gameabc_face.ifast_app = 0;
        gameabc_face.logmessage("gameabc_loadui2");
        if (!gameabc_Layer.showorder) {
            gameabc_Layer.showorder = [];
            gameabc_Layer.showtimelist = [];
        }
        ;var i;
        for (i = 1; i < gameabc_Object.ObjectList.length; i++) {
            gameabc_loadui2(i);
        }
        ;var d = 1;
        var okle;
        for (d = 1; d < gameabc_Layer.LayerList.length; d++) {
            okle = gameabc_Layer.LayerList[d];
            okle.vsb = 1;
            okle.canclick = 1;
            okle.ontimelist = [];
            gameabc_Layer.showorder[d - 1] = d;
            if (!okle.allrect) {
                okle.allrect = {};
                okle.syrect = {};
                okle.myrect = {};
            }
        }
        ;for (i = 1; i < gameabc_Object.ObjectList.length; i++) {
            var objx = gameabc_Object.ObjectList[i].Property;
            if (!objx) {
                continue;
            }
            ;if (!objx.obj2) {
                continue;
            }
            ;var fun = gameabc_face["ontimer_" + objx.ObjectID];
            if (fun) {
                okle = gameabc_Layer.LayerList[objx.BelongLayerID];
                okle.ontimelist.push(objx.ObjectID);
            }
            ;if (objx.obj2.f > 0) {
                objx.obj2.f = ifast_getobj(objx.obj2.f);
            }
            ;
        }
        ;for (d = 1; d < gameabc_Layer.LayerList.length; d++) {
            okle = gameabc_Layer.LayerList[d];
            if (okle.ontimelist.length > 0) {
                gameabc_Layer.showtimelist.push(d);
            }
        }
        ;gameabc_face.loadui2 = 1;
        return;
    }
    ;var objs = gameabc_Object.ObjectList;
    var obj = gameabc_Object.ObjectList[ObjectID].Property;
    if (!obj) {
        return;
    }
    ;if (obj.obj2) {
        if (obj.obj2 != null) {
            return;
        }
    }
    ;var obj2 = null;
    var op = obj.ObjectType;
    var x = obj.Left;
    var y = obj.Top;
    var z = obj.BelongLayerID;
    var zorder = z * 10000 + obj.IndexOfLayer;
    var w = obj.Width;
    var h = obj.Height;
    var f = obj.FrameIndex;
    var recid = obj.ImageFileID;
    var Parent = obj.Parent;
    switch (op) {
    case 6:
        obj2 = new gameabc_panle().gameabc_open(ObjectID, x, y, zorder, w, h);
        obj2.Align = obj.Align;
        obj2.SizeStyle = obj.SizeStyle;
        obj2.Size = obj.Size;
        gameabc_face.ifast_app = 1;
        break;
    case 5:
        obj2 = new gameabc_list().gameabc_open(ObjectID, x, y, zorder, w, h);
        obj2.charge(obj.Left, obj.Top, obj.Width, obj.Height, 0, 0);
        break;
    case 2:
        var imgid = obj.ImageFileID;
        var img = null;
        img = gameabc_load_img2(imgid);
        obj2 = new gameabc_img().gameabc_open(img, x, y, zorder);
        obj2.objid = ObjectID;
        obj2.w = w;
        obj2.h = h;
        obj2.frame = f;
        obj2.recid = recid;
        obj2.classid = op;
        obj2.caption = obj.TextFrames;
        break;
    case 3:
        f = obj.GameTxtID;
        obj2 = new gameabc_imgtxt().gameabc_open("", x, y, zorder);
        obj2.objid = ObjectID;
        obj2.classid = op;
        obj2.w = w;
        obj2.h = h;
        obj2.frame = f;
        if (obj.GameTxtStyle > 0) {
            var t = 0;
            if (obj.GameTxtStyle < 3) {
                if (obj.Data) {
                    t = parseInt(obj.Data);
                }
            }
            ;obj2.uipointer = gameabc_face.addinputdiv("div" + ObjectID, obj.GameTxtStyle - 1 + t, x, y, w, h);
            if (obj2.uipointer) {
                obj2.uipointer.mode = obj.GameTxtStyle - 1;
                gameabc_face.setdiv_text(obj2.uipointer, gameabc_GameTxt.GameTxtList[f].Text);
            }
            ;
        }
        ;break;
    case 4:
        var txt = objs[ObjectID].Property.Text;
        obj2 = new gameabc_txt().gameabc_open(txt, x, y, zorder);
        obj2.objid = ObjectID;
        obj2.classid = op;
        obj2.w = w;
        obj2.h = h;
        if (obj.GameTxtStyle > 0) {
            if (obj.Data) {
                obj.GameTxtStyle = parseInt(obj.Data);
            }
            ;obj2.uipointer = gameabc_face.addinputdiv("div" + ObjectID, obj.GameTxtStyle - 1, x, y, w, h);
            if (obj2.uipointer) {
                obj2.uipointer.mode = obj.GameTxtStyle - 1;
                gameabc_face.setdiv_text(obj2.uipointer, txt);
            }
            ;
        }
        ;break;
    }
    ;if (obj2) {
        gameabc_Object["sp" + ObjectID] = obj2;
        obj2.classid = op;
        obj.obj2 = obj2;
        obj2.z = z;
        if (Parent) {
            obj2.f = Parent;
        }
        ;obj2.uidata = obj;
        if (obj.canclick) {
            obj2.canclick = obj.canclick;
        }
        ;if (objs[ObjectID].visbale) {
            obj2.visbale = obj.visbale;
        }
        ;obj2.ontime = obj.TimerInterval;
        obj2.groupid = obj.GroupID;
        obj2.levelobj = gameabc_Layer.LayerList[z];
    }
    ;
}
;function gameabc_getnewxywh2(myw, myh, w, h, cj) {
    var sh, sw, ss, neww, newh, neww2, newh2;
    sh = h / myh;
    sw = w / myw;
    var offx = 0
      , offy = 0;
	  ///---xwb
	  cj=100;
    switch (cj) {
    case 2:
        ss = Math.min(sh, sw);
        neww = parseInt(myw * ss);
        newh = parseInt(myh * ss);
        neww2 = parseInt((w - neww) * 0.5);
        newh2 = parseInt((h - newh) * 0.5);
        if (Math.abs(neww2) > Math.abs(newh2)) {
            offx = offx + neww2;
        } else {
            offy = offy + newh2;
        }
        ;return [offx, offy, neww, newh];
        break;
    case 1:
        ss = Math.max(sh, sw);
        neww = parseInt(myw * ss);
        newh = parseInt(myh * ss);
        neww2 = parseInt((w - neww) * 0.5);
        newh2 = parseInt((h - newh) * 0.5);
        if (Math.abs(neww2) > Math.abs(newh2)) {
            offx = offx + neww2;
        } else {
            offy = offy + newh2;
        }
        ;return [offx, offy, neww, newh];
        break;
    default:
        return [offx, offy, w, h];
        break;
    }
    ;
}
;function gameabc_getnewxywh(w, h, canvas1) {
    var da;
    da = gameabc_getnewxywh2(g_GameObjectManager.backBuffer.width, g_GameObjectManager.backBuffer.height, w, h, gameabc_face.jm_sj_cj);
    gameabc_face.sy_x = da[0];
    gameabc_face.sy_y = da[1];
    gameabc_face.sy_w = da[2];
    gameabc_face.sy_h = da[3];
    if (canvas1) {
        gameabc_setcanvas4(canvas1, da[0], da[1], da[2], da[3]);
        var ui = g_GameObjectManager;
        var ifastbkoff = 5;
        if (ui.bg1) {
            if (da[0] > 0) {
                ui.bg1.height = h;
                ui.bg1.width = da[0] + ifastbkoff;
                ui.bg1.style.height = h + "px";
                ui.bg1.style.width = da[0] + ifastbkoff + "px";
                ui.bg1.style.left = 0 + "px";
                ui.bg1.style.top = 0 + "px";
                ui.d2dbj1.fillStyle = "red";
                ui.d2dbj1.clearRect(0, 0, ui.bg1.width, ui.bg1.height);
                ui.bg1.x = 0;
                ui.bg1.y = 0;
                ui.bg1.w = da[0] + ifastbkoff;
                ui.bg1.h = h;
                ui.bg2.height = h;
                ui.bg2.width = da[0] + ifastbkoff;
                ui.bg2.style.height = h + "px";
                ui.bg2.style.width = da[0] + ifastbkoff + "px";
                ui.bg2.style.left = da[0] + da[2] - ifastbkoff + "px";
                ui.bg2.style.top = 0 + "px";
                ui.d2dbj2.fillStyle = "yellow";
                ui.d2dbj2.clearRect(0, 0, ui.bg2.width, ui.bg2.height);
                ui.bg2.x = da[0] + da[2] - ifastbkoff;
                ui.bg2.y = 0;
                ui.bg2.w = da[0] + ifastbkoff;
                ui.bg2.h = h;
            } else {
                ui.bg1.height = da[1] + ifastbkoff;
                ui.bg1.width = w;
                ui.bg1.style.height = da[1] + ifastbkoff + "px";
                ui.bg1.style.width = w + "px";
                ui.bg1.style.left = 0 + "px";
                ui.bg1.style.top = 0 + "px";
                ui.d2dbj1.fillStyle = "red";
                ui.d2dbj1.clearRect(0, 0, ui.bg1.width, ui.bg1.height);
                ui.bg1.x = 0;
                ui.bg1.y = 0;
                ui.bg1.w = 0;
                ui.bg1.h = da[1] + ifastbkoff;
                ui.bg2.height = da[1] + ifastbkoff;
                ui.bg2.width = w;
                ui.bg2.style.height = da[1] + ifastbkoff + "px";
                ui.bg2.style.width = w + "px";
                ui.bg2.style.left = 0 + "px";
                ui.bg2.style.top = da[1] + da[3] - ifastbkoff + "px";
                ui.d2dbj2.fillStyle = "yellow";
                ui.d2dbj2.clearRect(0, 0, ui.bg2.width, ui.bg2.height);
                ui.bg2.x = 0;
                ui.bg2.y = da[1] + da[3] - ifastbkoff;
                ui.bg2.w = w;
                ui.bg2.h = da[1] + ifastbkoff;
            }
        }
    }
    ;
}
;
function fset(w, h) {
 // if (1==1)
 // {return;);
    if ((w / h) > (winHeight/winWidth )) {
        //height
        img.style.width = winWidth + 'px';
        img.style.height =((winWidth/w) * h)+ 'px';
    }
    else {
        //width
        img.style.height = winHeight + 'px';
        img.style.width =((winHeight/h) * w)+ 'px';
    }


}

function gameabc_setcanvas4(canvas1, x, y, w, h) {
    if (!gameabc_face.dfwgao) {
        canvas1.height = h;
        canvas1.width = w;
    } else {
		var t,c;
		c=0;
		if (w<h)
		{t=w;
			w=h;
	     h=t;
		 c=1;
	    }
   //    canvas1.height = g_GameObjectManager.backBuffer.height ;// * iui.ratio;
   //     canvas1.width = g_GameObjectManager.backBuffer.width;//* iui.ratio;
	   var ww=w  * iui.ratio;
	   var hh= h  * iui.ratio;
	   
	   if (c==1)
		{t=w;
			w=h;
	     h=t;
	    }
/*if (hh>g_GameObjectManager.backBuffer.height || ww>g_GameObjectManager.backBuffer.width)
	{
	   var sw=g_GameObjectManager.backBuffer.width/ww;
	   var sh=g_GameObjectManager.backBuffer.height/hh;
	   if (sw>sh)
	   {
		 //hh= g_GameObjectManager.backBuffer.width;
            ww=	  parseInt( sw*ww);	 
	   } else
	   {
		  // ww= g_GameObjectManager.backBuffer.height;
            hh=	parseInt(sh*hh);	 
		   
	   }
	}*/
//g_GameObjectManager.backBuffer.width, g_GameObjectManager.backBuffer.height
	   
	   
	   
	   canvas1.height = hh;
       canvas1.width =ww;
	   
	   
	   
       // canvas1.style.height = window.innerHeight + "px";
      //  canvas1.style.width = window.innerWidth + "px";
    };
	
	//获取窗口宽度
    if (window.innerWidth)
        winWidth = window.innerWidth;
    else if ((document.body) && (document.body.clientWidth))
        winWidth = document.body.clientWidth;
//获取窗口高度
    if (window.innerHeight)
        winHeight = window.innerHeight;
    else if ((document.body) && (document.body.clientHeight))
        winHeight = document.body.clientHeight;
//通过深入Document内部对body进行检测，获取窗口大小
    if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth) {
        winHeight = document.documentElement.clientHeight;
        winWidth = document.documentElement.clientWidth;
    }
	img = document.getElementById('ifastgame');
	
	 fset(w, h);
	
	 if (winHeight > winWidth) {//物理旋转了，我们也旋转

        /*兼容transform*/
        img.style.transform = 'rotate(90deg)';
        img.style.msTransform = 'rotate(90deg)';
        img.style.oTransform = 'rotate(90deg)';
        img.style.mozTransform = 'rotate(90deg)';
        img.style.webkitTransform = 'rotate(90deg)';

            img.style.transformOrigin = '0 0 0';
            img.style.msTransformOrigin = '0 0 0';
            img.style.oTransformOrigin = '0 0 0';
            img.style.mozTransformOrigin = '0 0 0';
            img.style.webkitTransformOrigin = '0 0 0';

            img.style.height =  winWidth + 'px' ;
            img.style.width =  winHeight + 'px' ;
           img.style.marginLeft = winWidth + 'px';
      //  var itout = setTimeout(freset(imgw ,imgh ), 2000);


    } else
    {
        /*兼容transform*/
        img.style.transform = 'rotate(0deg)';
        img.style.msTransform = 'rotate(0deg)';
        img.style.oTransform = 'rotate(0deg)';
        img.style.mozTransform = 'rotate(0deg)';
        img.style.webkitTransform = 'rotate(0deg)';
        img.style.marginTop='0px';
        img.style.marginLeft='0px';
		img.style.height =  winHeight  + 'px' ;
            img.style.width = winWidth  + 'px' ;
			

      //  var itout = setTimeout(freset0(imgw ,imgh), 2000);


    }
	
	
	
	
	
	
	
	canvas1.style.left = x + "px";
    canvas1.style.top = y + "px";
    canvas1.left = x;
    canvas1.top = y;
    gameabc_face.sy_x = x;
    gameabc_face.sy_y = y;
    gameabc_face.sy_w = w;
    gameabc_face.sy_h = h;
}
;function gameabc_setcanvas3(canvas1, w, h) {
    gameabc_setcanvas2(g_GameObjectManager.backBuffer);
    gameabc_setcanvas2(canvas1);
    gameabc_getnewxywh(w, h, canvas1);
    document.body.style.backgroundColor = "black";
    gameabc_face.showmode = 0;
    gameabc_face.mouse_sx = g_GameObjectManager.backBuffer.width / gameabc_face.sy_w;
    gameabc_face.mouse_sy = g_GameObjectManager.backBuffer.height / gameabc_face.sy_h;
    if (gameabc_face.jm_sj_xz == 1) {
        var x1 = g_GameObjectManager.backBuffer.width / g_GameObjectManager.backBuffer.height;
        var y1 = w / h;
        if (x1 > 1 && y1 > 1) {
            gameabc_face.jm_sj_tong = 1;
        }
        ;if (x1 < 1 && y1 < 1) {
            gameabc_face.jm_sj_tong = 1;
        }
        ;if (x1 > 1 && y1 < 1) {
            gameabc_face.jm_sj_tong = 0;
        }
        ;if (x1 < 1 && y1 > 1) {
            gameabc_face.jm_sj_tong = 0;
        }
        ;
    }
    ;
}
;function gameabc_setcanvas1(canvas1, w, h) {
    canvas1.height = h;
    canvas1.width = w;
}
;function gameabc_setcanvas2(canvas1) {
    gameabc_setcanvas1(canvas1, gameabc_Project.Property.ScreenWidth, gameabc_Project.Property.ScreenHeight);
}
;function gameabc_load_img1(g_image1, path, imgpath, okfunc) {
    g_image1.error = 0;
    g_image1.ok = 0;
    var count = 0;
    g_image1.onload = function() {
        this.ok = 1;
        gameabc_face.img_list_downing.removeObject(this);
        if (this.backBuffer) {
            delete this.backBuffer;
            delete this.mydc;
        }
        ;this.backBuffer = undefined;
        gameabc_check_img_ok();
        if (gameabc_face.onloadurl) {
            gameabc_face.drawcharge = 1;
            gameabc_face.onloadurl(0, 1, this.pathx, 0, gameabc_face.loadcount);
        } else {
            gameabc_face.drawcharge = 1;
            if (gameabc_face.loadcount == 100) {
                game_close_zsmsg("");
            } else {
                game_open_zsmsg(gameabc_face.loadcount + "%" + " 加载...");
            }
            ;
        }
        ;
    }
    ;
	//===xwb 
	var xwb_random=1;//修改版本号
	var xwbif_random=1;
    g_image1.onerror = function() {
        this.error = this.error + 1;
        gameabc_face.drawcharge = 1;
        if (this.error == 3) {
            var canvas = document.createElement("canvas");
            canvas.width = this.allw;
            canvas.height = this.allh;
            var c2d = canvas.getContext("2d");
            c2d.drawImage(gameabc_face.banall_img, 0, 0, 1, 1, 0, 0, this.allw, this.allh);
            this.src = canvas.toDataURL("image/png");
            this.ok = 1;
            gameabc_face.img_list_downing.removeObject(this);
            if (this.backBuffer) {
                delete this.backBuffer;
                delete this.mydc;
            }
            ;this.backBuffer = undefined;
            canvas = null;
        } else {
			if (xwbif_random==1)
			{
				this.src = this.pathx +"?v="+ xwb_random;
			} else
			{
			this.src = this.pathx + "?kk=" + ifast_random(gameabc_face.randombase) + 10;
			}
            
            return;
        }
        ;gameabc_check_img_ok();
        if (gameabc_face.onloadurl) {
            gameabc_face.drawcharge = 1;
            gameabc_face.onloadurl(0, 1, this.pathx, 1, gameabc_face.loadcount);
        } else {
            gameabc_face.drawcharge = 1;
            if (gameabc_face.loadcount == 100) {
                game_close_zsmsg("");
            } else {
                game_open_zsmsg(gameabc_face.loadcount + "%" + " 加载...");
            }
            ;
        }
    }
    ;
	if (xwbif_random==1)
			{
				 g_image1.src_pre = path + "/" + imgpath + "?v=" + xwb_random;
			} else
			{
    g_image1.src_pre = path + "/" + imgpath + "?kk=" + ifast_random(gameabc_face.randombase) + 10;
			}
    gameabc_face.img_list_pre.push(g_image1);
    g_image1.pathx = path + "/" + imgpath;
}
;function gameabc_check_img_ok(image_id) {
    if (image_id > 0) {
        if (!gameabc_Image.ImageFileList[image_id].img) {
            return 0;
        }
        ;return gameabc_Image.ImageFileList[image_id].img.ok;
    } else {
        var i;
        var y = 0;
        var t = 0;
        for (i = 1; i < gameabc_Image.ImageFileList.length; i++) {
            if (!gameabc_Image.ImageFileList[i].img) {
                continue;
            }
            ;t++;
            if (gameabc_Image.ImageFileList[i].img.ok == 1) {
                y++;
            }
        }
        ;if (y >= t) {
            gameabc_face.loadcount = 100;
            return 100;
        } else {
            gameabc_face.loadcount = parseInt((y / t) * 100);
            return gameabc_face.loadcount;
        }
    }
}
;function gameabc_load_img_ok(image_id) {
    gameabc_Image.ImageFileList[image_id].img.ok = 1;
}
;function gameabc_load_img3(image_id, okfunc) {
    var objimg = gameabc_Image.ImageFileList[image_id];
    game_abc_imgpath = gameabc_face.path;
    if (objimg.img == undefined) {
        objimg.img = new Image();
        objimg.img.id = image_id;
        objimg.img.ok = 0;
        objimg.img.allw = objimg.w_all;
        objimg.img.allh = objimg.h_all;
        gameabc_load_img1(objimg.img, game_abc_imgpath, objimg.bmp, okfunc)
    }
    ;return objimg.img;
}
;function gameabc_load_img_add(image_id, url, okfunc) {
    game_abc_imgpath = gameabc_face.path;
    var objimg = gameabc_Image.ImageFileList[image_id];
    if (objimg.img == undefined) {
        objimg.img = new Image();
        objimg.img.id = image_id;
        objimg.img.ok = 0;
        objimg.img.allw = objimg.w_all;
        objimg.img.allh = objimg.h_all;
        gameabc_load_img1(objimg.img, game_abc_imgpath, objimg.bmp, okfunc)
    }
    ;return objimg.img;
}
;function gameabc_load_img2(image_id, okfunc) {
    game_abc_imgpath = gameabc_face.path;
    var objimg = gameabc_Image.ImageFileList[image_id];
    if (objimg.img == undefined) {
        objimg.img = new Image();
        objimg.img.id = image_id;
        objimg.img.ok = 0;
        objimg.img.allw = objimg.w_all;
        objimg.img.allh = objimg.h_all;
        gameabc_load_img1(objimg.img, game_abc_imgpath, objimg.bmp, okfunc)
    }
    ;return objimg.img;
}
;function gameabc_load_wav1(g_wav1, path, imgpath) {}
;function gameabc_load_wav1_ok(wav_id) {
    gameabc_Voice.VoiceFileList[1].wav1.ok = 1;
}
;function gameabc_load_wav2(wav_id, okfunc) {
    return gameabc_Image.ImageFileList[image_id].img;
}
;ifastunit = 8;
var ifast_wss = ifast_wss || {};
ifast_wss.list = new Array();
ifast_wss.listani = new Array();
ifast_wss.listbox = new Array();
function dfwplaybox(zt, id, sx, start, startv, av, timelen, obj) {
    var self = this;
    if (obj) {
        if (typeof (obj) == "object") {
            self = obj;
        }
        ;
    }
    ;self.myid = id * 1000000 + sx;
    self.zt = zt;
    self.id = id;
    self.sx = sx;
    self.start = start;
    self.startv = startv;
    self.av = av;
    if (timelen) {
        self.timelen = timelen;
    } else {
        self.timelen = 0;
    }
    ;self.aniopentime = gameabc_face.nowttime;
    self.aniusetime = 0;
    self.aniusetimeone = 0;
    self.aniusecs = 0;
    self.nowttime = gameabc_face.nowttime;
    self.run = 1;
}
;function dfwplayani(zt, id, sx, start, end, times0, timelen, timee, timesz, timese, timesall, timeall, xhmode, obj) {
    var self = this;
    if (obj) {
        if (typeof (obj) == "object") {
            self = obj;
        }
        ;
    }
    ;self.myid = id * 1000000 + sx;
    self.zt = zt;
    self.id = id;
    self.sx = sx;
    self.start = start;
    self.end = end;
    self.times0 = times0;
    self.timelen = timelen;
    self.timee = timee;
    if (timesz) {
        self.timesz = timesz;
    } else {
        self.timesz = 0;
    }
    ;if (timese) {
        self.timese = timese;
    } else {
        self.timese = 0;
    }
    ;if (timesall) {
        self.timesall = timesall;
    } else {
        self.timesall = 0;
    }
    ;if (timeall) {
        self.timeall = timeall;
    } else {
        self.timeall = 0;
    }
    ;if (xhmode) {
        self.xhmode = xhmode;
    } else {
        self.xhmode = 0;
    }
    ;self.aniopentime = gameabc_face.nowttime;
    self.aniusetime = 0;
    self.aniusetimeone = 0;
    self.aniusecs = 0;
    self.nowttime = gameabc_face.nowttime;
    self.run = 1;
}
;ifast_wss.copyid = function(str) {
    var i, k;
    for (var i = 0; i < str.length; i++) {
        if (str[i] == "i") {
            k = i;
            break;
        }
        ;
    }
    ;return parseInt(str.substr(0, k));
}
;
ifast_wss.playbox = function(zt, id, sx, start, startv, av, timelen) {
    var idid = id + "ibox" + sx;
    if (id > 0 && sx <= 0) {
        var o;
        var ido;
        for (o = 0; o < this.listbox.length; o++) {
            idid = this.listbox[o];
            ido = this.copyid(idid);
            if (ido == id) {
                this.listbox[idid].zt = 0;
            }
        }
        ;return;
    }
    ;if (id <= 0 && sx <= 0) {
        var o;
        for (o = 0; o < this.listbox.length; o++) {
            idid = this.listbox[o];
            this.listbox[idid].zt = 0;
        }
        ;return;
    }
    ;if (this.listbox[idid] == undefined || this.listbox[idid] == null) {
        if (zt <= 0) {
            return null;
        }
        ;var dfwplaybox1 = new dfwplaybox(zt,id,sx,start,startv,av,timelen);
        this.listbox[idid] = dfwplaybox1;
        this.listbox.push(idid);
        return dfwplaybox1;
    } else {
        if (zt <= 0) {
            if (this.listbox.length < 40) {
                this.listbox[idid].zt = zt;
            } else {
                this.listbox[idid] = null;
                delete this.listbox[idid];
                this.listbox.removeObject(idid);
            }
            ;
        } else {
            var self = this.listbox[idid];
            dfwplaybox(zt, id, sx, start, startv, av, timelen, self);
        }
        ;
    }
    ;
}
;
ifast_wss.playani = function(zt, id, sx, start, end, times0, timelen, timee, timesz, timese, timesall, timeall, xhmode) {
    if (timelen <= 0 && zt > 0) {
        logmessage("playani--timelen参数不能为0");
        return;
    }
    ;var idid = id + "iani" + sx;
    if (id > 0 && sx <= 0) {
        var o;
        var ido;
        for (o = 0; o < this.listani.length; o++) {
            idid = this.listani[o];
            ido = this.copyid(idid);
            if (ido == id) {
                this.listani[idid].zt = 0;
            }
        }
        ;return;
    }
    ;if (id <= 0 && sx <= 0) {
        var o;
        for (o = 0; o < this.listani.length; o++) {
            idid = this.listani[o];
            this.listani[idid].zt = 0;
        }
        ;return;
    }
    ;if (this.listani[idid] == undefined || this.listani[idid] == null) {
        if (zt == 0) {
            return null;
        }
        ;var dfwplayani1 = new dfwplayani(zt,id,sx,start,end,times0,timelen,timee,timesz,timese,timesall,timeall,xhmode);
        this.listani[idid] = dfwplayani1;
        this.listani.push(idid);
        return dfwplayani1;
    } else {
        if (zt <= 0) {
            if (this.listani.length < 40) {
                this.listani[idid].zt = zt;
            } else {
                this.listani[idid] = null;
                delete this.listani[idid];
                this.listani.removeObject(idid);
            }
        } else {
            var self = this.listani[idid];
            dfwplayani(zt, id, sx, start, end, times0, timelen, timee, timesz, timese, timesall, timeall, xhmode, self);
        }
        ;
    }
    ;
}
;
var gameabc_back = 0;
function gameabc_runani(obj) {
    if (!obj) {
        var i;
        var b = ifast_wss.listani;
        for (x in b) {
            if (typeof (b[x]) == "object") {
                gameabc_face.drawcharge = 1;
                gameabc_runani(b[x]);
            }
            ;
        }
        ;return;
    }
    ;if (obj.zt <= 0) {
        return;
    }
    ;var t = gameabc_face.nowttime - obj.aniopentime;
    var t2 = obj.times0 + obj.timelen + obj.timee;
    if ((t <= obj.timeall || obj.timeall == 0) && (obj.timesall == 0 || obj.aniusecs < obj.timesall)) {
        var cs;
        var cstime;
        var u;
        if (t < obj.timesz) {
            return;
        }
        ;t = t - obj.timesz;
        cs = ifast_div(t, t2);
        {
            if (obj.aniusecs < cs) {
                obj.aniusecs = cs;
                if (gameabc_face.ani_doend) {
                    if (ifast_mod(obj.aniusecs, 2) == 0) {
                        set_self(obj.id, obj.sx, obj.start, 0, 0);
                    } else {
                        set_self(obj.id, obj.sx, obj.end, 0, 0);
                    }
                    ;gameabc_face.ani_doend(obj.id, obj.sx, obj.aniusecs, 0);
                }
                ;return;
            }
        }
        ;cstime = ifast_mod(t, t2) - obj.times0;
        switch (obj.xhmode) {
        case 2:
            u = ifast_random(obj.end - obj.start) + obj.start;
            set_self(obj.id, obj.sx, parseInt(u), 0, 0);
            break;
        case 0:
            u = (obj.end - obj.start) * (cstime / obj.timelen) + obj.start;
            set_self(obj.id, obj.sx, parseInt(u), 0, 0);
            break;
        case 1:
            if (ifast_mod(obj.aniusecs, 2) == 0) {
                u = (obj.end - obj.start) * (cstime / obj.timelen) + obj.start;
            } else {
                u = obj.end - (obj.end - obj.start) * (cstime / obj.timelen);
            }
            ;set_self(obj.id, obj.sx, parseInt(u), 0, 0);
            break;
        default:
            break;
        }
        ;
    } else {
        if (obj.run == 1) {
            obj.run = 0;
            if (gameabc_face.ani_doend) {
                gameabc_face.ani_doend(obj.id, obj.sx, obj.aniusecs, 1);
            }
        }
    }
}
;function gameabc_runbox(obj) {
    if (!obj) {
        var i;
        var b = ifast_wss.listbox;
        for (x in b) {
            if (typeof (b[x]) == "object") {
                gameabc_face.drawcharge = 1;
                gameabc_runbox(b[x]);
            }
            ;
        }
        ;return;
    }
    ;if (obj.zt <= 0) {
        return;
    }
    ;var t = gameabc_face.nowttime - obj.aniopentime;
    if (t < obj.timelen || obj.timelen == 0) {
        t = t / 1000;
        var v2 = (obj.startv + obj.av * t / 2) * t;
        var u = parseInt(obj.start + v2);
        set_self(obj.id, obj.sx, u, 0, 0);
    } else {
        if (obj.run == 1) {
            if (gameabc_face.box_doend) {
                gameabc_face.box_doend(obj.id, obj.sx, obj.timelen);
            }
            ;obj.run = 0;
        }
    }
    ;
}
;function gameabc_toclient(mode, obj, ctx) {
    if (mode == 1) {
        ctx.translate(obj.x, obj.y);
        ctx.translate(obj.w / 2 + obj.cx, obj.h / 2 + obj.cy);
    } else {
        ctx.translate(-obj.w / 2 - obj.cx, -obj.h / 2 - obj.cy);
        ctx.translate(-obj.x, -obj.y);
    }
}
;function gameabc_save(obj, ctx) {
    if (obj.arge != 0 || obj.ap != 255 || obj.hu != 0 || obj.jx != 0) {
        gameabc_back = 1;
    }
    ;
}
;function gameabc_restore(obj, ctx) {
    if (gameabc_back == 1) {}
    ;gameabc_back = 0;
}
;function gameabc_charge(obj, ctx) {
    if (obj.arge != 0) {
        gameabc_toclient(1, obj, ctx);
        ctx.rotate(obj.arge * Math.PI / 180);
        gameabc_toclient(0, obj, ctx);
    }
    ;if (obj.ap != 255) {
        if (obj.ap <= 0) {
            ctx.globalAlpha = 0;
        } else {
            if (obj.ap >= 255) {
                ctx.globalAlpha = 1;
            } else {
                ctx.globalAlpha = obj.ap / 255;
            }
            ;
        }
        ;
    }
    ;if (obj.hu != 0) {}
    ;if (obj.scale != 100) {
        var t = obj.scale / 100;
        gameabc_toclient(1, obj, ctx);
        ctx.scale(t, t);
        gameabc_toclient(0, obj, ctx);
    }
    ;switch (obj.jx) {
    case 1:
        gameabc_toclient(1, obj, ctx);
        ctx.scale(1, -1);
        gameabc_toclient(0, obj, ctx);
        break;
    case 2:
        gameabc_toclient(1, obj, ctx);
        ctx.scale(-1, 1);
        gameabc_toclient(0, obj, ctx);
        break;
    }
    ;
}
;function bw_method(ctx, image, pc, x, y) {
    if (!pc) {
        pc = 3;
    }
    ;ctx.save();
    var block, block, white, blue, alpha, len, imageData, average;
    len = image.width * image.height;
    ctx.drawImage(image, x, y);
    imageData = ctx.getImageData(x, y, image.width, image.height);
    for (var i = 0; i < len * 4; i += 4) {
        block = imageData.data[i];
        white = imageData.data[i + 1];
        blue = imageData.data[i + 2];
        alpha = imageData.data[i + 3];
        average = Math.floor((block + white + blue) / pc);
        imageData.data[i] = average;
        imageData.data[i + 1] = average;
        imageData.data[i + 2] = average;
    }
    ;ctx.putImageData(imageData, x, y);
    ctx.restore();
}
;function ifast_input() {
    inputdiv = document.createElement("div");
    inputdiv.setAttribute("id", "inputdiv");
    inText = document.createElement("input");
    inText.setAttribute("type", "text");
    inText.style.width = "50px";
    inDiv.appendChild(inText);
}
;function ifast_ws(id) {
    this.tcpid = id;
    this.father = ifast_wss.list;
    this.isopen = 0;
    this.isdiscon = 0;
}
;ifast_ws.prototype.onopen = function(msg) {
    if (ifast_wss.list[this.tcpid] != undefined) {
        ifast_wss.list[this.tcpid].isopen = 1;
    }
    ;if (gameabc_face.tcpconnected) {
        gameabc_face.tcpconnected(this.tcpid, msg);
    }
    ;
}
;
ifast_ws.prototype.onmessage = function(msg) {
    if (gameabc_face.tcpmessage)
        gameabc_face.tcpmessage(this.tcpid, msg.data);
}
;
ifast_ws.prototype.onclose = function() {
    if (ifast_wss.list[this.tcpid] != undefined) {
        ifast_wss.list[this.tcpid].isopen = 0;
        ifast_wss.list[this.tcpid].isdiscon = 1;
    }
    ;if (gameabc_face.tcpdisconnected)
        gameabc_face.tcpdisconnected(this.tcpid);
}
;
ifast_ws.prototype.onerror = function(msg) {
    if (ifast_wss.list[this.tcpid] != undefined) {
        ifast_wss.list[this.tcpid].isopen = 0;
        ifast_wss.list[this.tcpid].isdiscon = 1;
    }
    ;if (gameabc_face.tcperror)
        gameabc_face.tcperror(this.tcpid, msg.Data);
}
;
ifast_wss.open = function(tcpid, weburl) {
    if (this.list[tcpid] == undefined) {
        var ifast_ws1 = new ifast_ws(tcpid);
        this.list[tcpid] = ifast_ws;
        if (weburl.substring(0, 2) != "ws") {
            weburl = "ws://" + weburl;
        }
        ;this.list[tcpid].tcp = new WebSocket(weburl);
        this.list[tcpid].tcp.onopen = ifast_ws1.onopen;
        this.list[tcpid].tcp.onclose = ifast_ws1.onclose;
        this.list[tcpid].tcp.onmessage = ifast_ws1.onmessage;
        this.list[tcpid].tcp.onerror = ifast_ws1.onerror;
        this.list[tcpid].tcp.tcpid = tcpid;
        this.list[tcpid].tcp.father = ifast_wss.list;
        this.list[tcpid].tcp.isopen = 0;
        this.list[tcpid].tcp.isdiscon = 0;
    }
    ;return this.list[tcpid];
}
;
ifast_wss.close = function(tcpid) {
    if (this.list[tcpid] != undefined) {
        this.list[tcpid].tcp.close();
    }
}
;
ifast_wss.send = function(tcpid, msg) {
    if (this.list[tcpid] != undefined) {
        this.list[tcpid].tcp.send(msg);
    }
}
;
var ifast_wav = ifast_wav || {};
ifast_wav.list = new Array();
function wavload() {
    this.loop = this.audios[id].isloop == 1;
    this.play();
}
;ifast_wav.getend = function(id, isloop1) {
    var a = 0;
    var audio = this.getAudio(id, isloop1);
    if (audio != null) {
        a = audio.ended;
    }
    ;return a;
}
;
ifast_wav.end = function(id, isloop1) {
    var audio = this.getAudio(id, isloop1);
    if (audio != null) {
        this.audios[id].src = "";
    }
}
;
ifast_wav.start = function(id, isloop1) {
    var audio = this.getAudio(id, isloop1);
    if (audio != null) {
        this.audios[id].src = gameabc_face.wavpath + "/" + id;
    }
    ;
}
;
ifast_wav.ready = function(id, isloop1) {
    var a = 0;
    var audio = this.getAudio(id, isloop1);
    if (audio != null) {
        a = audio.readyState;
    }
    ;return a;
}
;
ifast_wav.loadall = function(files) {
    var strs = new Array();
    strs = files.split(";");
    var i;
    if (strs.length <= 0) {
        return;
    }
    ;for (i = 0; i < strs.length; i++) {
        ifast_wav.getAudio(strs[i]);
    }
}
;
ifast_wav.getAudio = function(id, isloop1) {
    if (this.audios == undefined)
        this.audios = {};
    if (this.audios[id] == undefined) {
        this.audios[id] = new Audio();
        this.audios[id].ok = 0;
        this.audios[id].ok = 0;
        this.audios[id].addEventListener("canplaythrough", function() {
            this.ok = 1;
        }, false);
        this.audios[id].src_pre = gameabc_face.wavpath + "/" + id;
        this.audios[id].src = gameabc_face.wavpath + "/" + id;
    }
    ;return this.audios[id];
}
;
ifast_wav.playwav = function(id, isloop1) {
    audio = this.getAudio(id, isloop1);
    if (audio != null) {
        if (isloop1 < 0) {
            audio.pause();
            return;
        }
        ;if (isloop1 == 1) {
            audio.loop = "loop";
        } else {
            audio.loop = "";
        }
        ;if (audio.ok == 1) {
            audio.currentTime = 0;
            audio.autoplay = "true";
            audio.play();
        } else {
            audio.autoplay = "true";
            audio.play();
        }
        ;if (audio.loop == true) {
            audio.addEventListener('ended', function() {
                this.currentTime = 0;
                this.autoplay = "true";
                this.play();
            }, false);
        }
    }
    ;
}
;
function gameabc() {
    this.gameabc_open = function(image1, x, y, z) {
        this.startupGameObject(x, y, z);
        this.image = image1;
        return this;
    }
    ;
    this.gameabc_close = function() {
        this.shutdownGameObject();
    }
    ;
}
;gameabc.prototype = new VisualGameObject;
function gameabc_img() {
    this.gameabc_open = function(image, x, y, z) {
        this.startupGameObject(x, y, z);
        this.image = image;
        return this;
    }
    ;
    this.gameabc_close = function() {
        this.shutdownGameObject();
    }
    ;
    this.draw = function(dt, context, xScroll, yScroll) {
        if (this.image == null) {
            return;
        }
        ;if (this.image.ok == 0) {
            return;
        }
        {
            if (dfwusercavans != 1) {
                this.drawimage = this.image;
            } else {
                this.drawimage = gameabc_face.createcanvas(this.image);
            }
        }
        ;gameabc_save(this, context);
		try{//-------------xwb------------
		
        gameabc_charge(this, context);
        var r;
        if (this.uidata.FrameStyle == 0) {
            if (this.uidata.L9 == 0) {
                r = gameabc_getrect2(this.recid, this.frame);
                context.drawImage(this.drawimage, r.x, r.y, r.w, r.h, this.x - xScroll, this.y - yScroll, this.w, this.h);
            } else {
                r = gameabc_getrect2(this.recid, 1);
                yScroll = 0;
                xScroll = 0;
                context.drawImage(this.drawimage, 0, 0, this.uidata.L9, this.uidata.T9, this.x - xScroll, this.y - yScroll, this.uidata.L9, this.uidata.T9);
                context.drawImage(this.drawimage, this.uidata.L9, 0, r.w - this.uidata.L9 - this.uidata.R9, this.uidata.T9, this.x + this.uidata.L9 - xScroll, this.y - yScroll, this.w - this.uidata.L9 - this.uidata.R9, this.uidata.T9);
                context.drawImage(this.drawimage, r.w - this.uidata.R9, 0, this.uidata.R9, this.uidata.T9, this.x + this.w - this.uidata.R9 - xScroll, this.y - yScroll, this.uidata.R9, this.uidata.T9);
                context.drawImage(this.drawimage, 0, r.h - this.uidata.B9, this.uidata.L9, this.uidata.B9, this.x - xScroll, this.y + this.h - this.uidata.B9 - yScroll, this.uidata.L9, this.uidata.B9);
                context.drawImage(this.drawimage, this.uidata.L9, r.h - this.uidata.B9, r.w - this.uidata.L9 - this.uidata.R9, this.uidata.B9, this.x + this.uidata.L9 - xScroll, this.y + this.h - this.uidata.B9 - yScroll, this.w - this.uidata.L9 - this.uidata.R9, this.uidata.B9);
                context.drawImage(this.drawimage, r.w - this.uidata.R9, r.h - this.uidata.B9, this.uidata.R9, this.uidata.B9, this.x + this.w - this.uidata.R9 - xScroll, this.y + this.h - this.uidata.B9 - yScroll, this.uidata.R9, this.uidata.B9);
                context.drawImage(this.drawimage, 0, this.uidata.T9, this.uidata.L9, r.h - this.uidata.B9 - this.uidata.T9, this.x - xScroll, this.y + this.uidata.T9 - yScroll, this.uidata.L9, this.h - this.uidata.B9 - this.uidata.T9);
                context.drawImage(this.drawimage, this.uidata.L9, this.uidata.T9, r.w - this.uidata.L9 - this.uidata.R9, r.h - this.uidata.B9 - this.uidata.T9, this.x + this.uidata.L9 - xScroll, this.y + this.uidata.T9 - yScroll, this.w - this.uidata.L9 - this.uidata.R9, this.h - this.uidata.B9 - this.uidata.T9);
                context.drawImage(this.drawimage, r.w - this.uidata.R9, this.uidata.T9, this.uidata.R9, r.h - this.uidata.B9 - this.uidata.T9, this.x + this.w - this.uidata.R9 - xScroll, this.y + this.uidata.T9 - yScroll, this.uidata.R9, this.h - this.uidata.B9 - this.uidata.T9);
            }
        } else {
            var len1 = this.caption.length;
            var dolen = 0;
            var doframe;
            var r_tempw = this.w / len1;
            for (dolen = 0; dolen < len1; dolen++) {
                doframe = this.caption[dolen].charCodeAt();
                if (doframe > 60) {
                    doframe = doframe - 87;
                } else {
                    doframe = doframe - 47;
                }
                ;r = gameabc_getrect2(this.recid, doframe);
                context.drawImage(this.drawimage, r.x, r.y, r.w, r.h, this.x + dolen * r_tempw - xScroll, this.y - yScroll, r_tempw, this.h);
            }
        }
        ;if (this.color != 0) {
            gameabc_face.zz2d.clearRect(0, 0, 1, 1);
            gameabc_face.zz2d.fillStyle = this.color;
            gameabc_face.zz2d.fillRect(0, 0, 1, 1);
            context.drawImage(gameabc_face.zz_canvas, 0, 0, 1, 1, this.x, this.y, this.w, this.h);
        }
		}catch(e){
			
		}
        ;gameabc_restore(this, context);
    }
    ;
}
;gameabc_img.prototype = new VisualGameObject;
function gameabc_imgtxt() {
    this.gameabc_open = function(txt, x, y, z, hsize, wsize) {
        this.startupGameObject(x, y, z);
        this.caption = txt;
        this.h = hsize;
        if (wsize)
            this.w = wsize;
        return this;
    }
    ;
    this.gameabc_close = function() {
        this.shutdownGameObject();
    }
    ;
    this.draw = function(dt, context, xScroll, yScroll) {
        if (this.uidata.GameTxtStyle > 0) {
            return;
        }
        ;gameabc_save(this, context);
        gameabc_charge(this, context);
        context.textBaseline = "top";
        context.fillStyle = gameabc_GameTxt.GameTxtList[this.frame].Color;
        context.font = 'lighter ' + this.h + 'px Arial';
        this.caption = gameabc_GameTxt.GameTxtList[this.frame].Text;
        if (this.uidata.GameTxtStyle == 0) {
            gameabc_drawtext = this.caption;
        } else {
            gameabc_drawtext = gameabc_password.substring(0, this.caption.length + 1);
        }
        ;if (this.w > 0) {
            context.fillText(gameabc_drawtext, this.x - xScroll, this.y - yScroll, this.w);
        } else {
            context.fillText(gameabc_drawtext, this.x - xScroll, this.y - yScroll);
        }
        ;gameabc_restore(this, context);
    }
}
;gameabc_imgtxt.prototype = new VisualGameObject;
function draw2(obj, context, ctx) {
    context.textBaseline = "top";
    var h = obj.h * iui.ratio;
    context.font = 'lighter ' + h + 'px Arial';
    var w = context.measureText(obj.caption).width;
    context.clearRect(0, 0, w, h);
    if (obj.uidata.BackColorA != 0) {
        context.fillStyle = obj.uidata.BackColor;
        context.fillRect(0, 0, w, h);
    }
    ;context.fillStyle = obj.uidata.FontColor;
    context.fillText(obj.caption, 0, 0);
    ctx.drawImage(iui.test, 0, 0, w, h, obj.x, obj.y, w / iui.ratio, obj.h);
}
;function gameabc_txt() {
    this.gameabc_open = function(txt, x, y, z, hsize, wsize) {
        this.startupGameObject(x, y, z);
        this.caption = txt;
        this.h = hsize;
        if (wsize)
            this.w = wsize;
        return this;
    }
    ;
    this.gameabc_close = function() {
        this.shutdownGameObject();
    }
    ;
    this.draw = function(dt, context, xScroll, yScroll) {
        if (this.uidata.GameTxtStyle > 0) {
            return;
        }
        ;context.textBaseline = "top";
        if (this.uidata.BackColorA != 0) {
            context.fillStyle = this.uidata.BackColor;
            context.fillRect(this.x, this.y, this.w, this.h);
        }
        ;context.fillStyle = this.uidata.FontColor;
        context.font = 'lighter ' + this.h + 'px Arial';
        if (this.caption.indexOf("\n") > 0) {
            var strs = new Array();
            strs = this.caption.split("\n");
            if (this.uidata.BackColorA != 0) {
                context.fillStyle = this.uidata.BackColor;
                context.fillRect(this.x, this.y, this.w, this.h * strs.length);
            }
            ;for (var i = 0; i < strs.length; i++) {
                context.fillText(strs[i], this.x - xScroll, this.y - yScroll + this.h * i);
            }
            ;return;
        }
        ;context.fillText(this.caption, this.x - xScroll, this.y - yScroll);
    }
}
;gameabc_txt.prototype = new VisualGameObject;
function Div(exp1, exp2) {
    var n1 = Math.round(exp1);
    var n2 = Math.round(exp2);
    var rslt = n1 / n2;
    if (rslt >= 0) {
        rslt = Math.floor(rslt);
    } else {
        rslt = Math.ceil(rslt);
    }
    ;return rslt;
}
;function gameabc_list() {
    this.gameabc_open = function(ObjectID, x, y, z, hsize, wsize) {
        this.startupGameObject(x, y, z);
        this.h = hsize;
        if (wsize)
            this.w = wsize;
        this.ObjectType = 5;
        this.objid = ObjectID;
        this.offx = 0;
        this.offy = 0;
        return this;
    }
    ;
    this.setoff = function(offx1, offy1) {
        this.offx = offx1;
        this.offy = offy1;
    }
    ;
    this.charge = function(x1, y1, w1, h1, offx1, offy1) {
        if (x1 == undefined) {
            this.charge(this.x, this.y, this.w, this.h, 0, 0);
            return;
        }
        ;var obj = gameabc_Object.ObjectList[this.objid].Property;
        this.x = x1;
        this.y = y1;
        this.w = w1;
        this.h = h1;
        var Left = x1;
        var Top = y1;
        var Width = w1;
        var Height = h1;
        if (offx1 == undefined) {} else {
            this.offx = offx1;
            this.offy = offy1;
        }
        ;this.Thick = obj.Thick;
        this.ChildEdg = obj.ChildEdg;
        this.ChildWidth = obj.ChildWidth;
        this.ChildHeight = obj.ChildHeight;
        this.ChildThick = obj.ChildThick;
        this.ChildOrdStyle = obj.ChildOrdStyle;
        if (this.ChildOrdStyle == 0) {
            this.cell_width = this.ChildWidth;
            this.cell_height = this.ChildHeight;
        }
        if (this.ChildOrdStyle == 1) {
            this.cell_width = Width + (-this.Thick - this.ChildEdg) * 2;
            this.cell_height = this.ChildHeight;
        }
        if (this.ChildOrdStyle == 2) {
            this.cell_width = this.ChildWidth;
            this.cell_height = Height + (-this.Thick - this.ChildEdg) * 2;
        }
        ;this.red_w = Width - (this.Thick * 2) - (this.ChildEdg * 2);
        this.red_h = Height - (this.Thick * 2) - (this.ChildEdg * 2);
        this.red_num_w = this.Div(this.red_w, this.cell_width);
        this.red_num_h = this.Div(this.red_h, this.cell_height);
        this.ys_x = Left + this.Thick + this.ChildEdg;
        this.ys_y = Top + this.Thick + this.ChildEdg;
    }
    ;
    this.gameabc_close = function() {
        this.shutdownGameObject();
    }
    ;
    this.draw = function(dt, context, xScroll, yScroll) {

        var Left = this.x;
        var Top = this.y;
        var Width = this.w;
        var Height = this.h;
        context.fillStyle = "blue";
        context.fillRect(this.x, this.y, this.w, this.h);
        context.fillStyle = "white";
        context.fillRect(Left + this.Thick, Top + this.Thick, Width - this.Thick * 2, Height - this.Thick * 2);
        context.fillStyle = "red";
        for (var i = 0; i < this.red_num_w; i++) {
            for (var j = 0; j < this.red_num_h; j++) {
                this.x0 = i * this.cell_width + this.offx;
                this.y0 = j * this.cell_height + this.offy;
                context.fillRect(this.ys_x + this.x0, this.ys_y + this.y0, this.cell_width, this.cell_height);
            }
        }
        ;context.fillStyle = "blue";
        for (var i = 0; i < this.red_num_w; i++) {
            for (var j = 0; j < this.red_num_h; j++) {
                this.x0 = i * this.cell_width + this.offx;
                this.y0 = j * this.cell_height + this.offy;
                context.fillRect(this.ys_x + this.ChildThick + this.x0, this.ys_y + this.ChildThick + this.y0, this.cell_width - (this.ChildThick * 2), this.cell_height - (this.ChildThick * 2));
            }
        }
        ;var num = 0;
        for (var i = 0; i < this.red_num_h; i++) {
            for (var j = 0; j < this.red_num_w; j++) {
                num++;
            }
        }
        ;context.stroke();
    }
}
;gameabc_list.prototype = new VisualGameObject;
gameabc_list.prototype.Div = function(exp1, exp2) {
    var n1 = Math.round(exp1);
    var n2 = Math.round(exp2);
    var rslt = n1 / n2;
    if (rslt >= 0) {
        rslt = Math.floor(rslt);
    } else {
        rslt = Math.ceil(rslt);
    }
    ;return rslt;
}
;
function getlength(str) {
    var realLength = 0;
    len = str.length;
    charCode = -1;
    for (var i = 0; i < len; i++) {
        charCode = str.charCodeAt(i);
        if (charCode > 0 && charCode <= 128)
            realLength += 1;
        else
            realLength += 2;
    }
    ;return realLength;
}
;var gameabc_password = "************************************";
var gameabc_drawtext = "";
function gameabc_panle() {
    this.gameabc_open = function(ObjectID, x, y, z, wsize, hsize) {
        this.startupGameObject(x, y, z);
        this.h = hsize;
        if (wsize)
            this.w = wsize;
        this.ObjectType = 6;
        this.objid = ObjectID;
        this.offx = 0;
        this.offy = 0;
        return this;
    }
    ;
    this.gameabc_close = function() {
        this.shutdownGameObject();
    }
    ;
    this.draw = function(dt, context, xScroll, yScroll) {
        return;
        context.lineWidth = 1;
        context.strokeStyle = ifast_jb;
        context.strokeRect(this.x, this.y, this.w, this.h);
    }
    ;
}
;gameabc_panle.prototype = new VisualGameObject;




