Проблема с кодом js [closed]

Имеется почти дописанный код на js, есть только одна ошибка, пишет:
SyntaxError: Line 56: Unexpected token }
Возможно, что я криворукий, но я посмотрел абсолютно весь код, ни нашел ничего ВООБЩЕ НИЧЕГО ПОХОЖЕГО НА КРИВОЙ КОД

Не понимаю, что не так, помогите ПОЖАЛУЙСТА!!!

И да, кстати, вот исходник:

var n, r, o = this, a = new E(this.pool.getUserPoolId().split("_")[1]), u = new B, c = {};
null != this.deviceKey && (c.DEVICE_KEY = this.deviceKey),
c.USERNAME = this.username,
a.getLargeAValue((function(l, h) {
    l && t.onFailure(l),
    c.SRP_A = h.toString(16),
    "CUSTOM_AUTH" === o.authenticationFlowType && (c.CHALLENGE_NAME = "SRP_A");
    var d = 0 !== Object.keys(e.getValidationData()).length ? e.getValidationData() : e.getClientMetadata()
      , g = {
        AuthFlow: o.authenticationFlowType,
        ClientId: o.pool.getClientId(),
        AuthParameters: c,
        ClientMetadata: d
    };
    o.getUserContextData(o.username) && (g.UserContextData = o.getUserContextData(o.username)),
    o.client.request("InitiateAuth", g, (function(c, l) {
        if (c)
            return t.onFailure(c);
        var h = l.ChallengeParameters;
        o.username = h.USER_ID_FOR_SRP,
        n = new p(h.SRP_B,16),
        r = new p(h.SALT,16),
        o.getCachedDeviceKeyAndPassword(),
        a.getPasswordAuthenticationKey(o.username, e.getPassword(), n, r, (function(e, n) {
            e && t.onFailure(e);
            var r = u.getNowString()
              , c = s.a.lib.WordArray.create(i.Buffer.concat([i.Buffer.from(o.pool.getUserPoolId().split("_")[1], "utf8"), i.Buffer.from(o.username, "utf8"), i.Buffer.from(h.SECRET_BLOCK, "base64"), i.Buffer.from(r, "utf8")]))
              , p = s.a.lib.WordArray.create(n)
              , g = U.a.stringify(f()(c, p))
              , y = {};
            y.USERNAME = o.username,
            y.PASSWORD_CLAIM_SECRET_BLOCK = h.SECRET_BLOCK,
            y.TIMESTAMP = r,
            y.PASSWORD_CLAIM_SIGNATURE = g,
            null != o.deviceKey && (y.DEVICE_KEY = o.deviceKey);
            var b = {
                ChallengeName: "PASSWORD_VERIFIER",
                ClientId: o.pool.getClientId(),
                ChallengeResponses: y,
                Session: l.Session,
                ClientMetadata: d
            };
            o.getUserContextData() && (b.UserContextData = o.getUserContextData()),
            function e(t, n) {
                return o.client.request("RespondToAuthChallenge", t, (function(r, i) {
                    return r && "ResourceNotFoundException" === r.code && -1 !== r.message.toLowerCase().indexOf("device") ? (y.DEVICE_KEY = null,
                    o.deviceKey = null,
                    o.randomPassword = null,
                    o.deviceGroupKey = null,
                    o.clearCachedDeviceKeyAndPassword(),
                    e(t, n)) : n(r, i)
                }
                ))
            }(b, (function(e, n) {
                return e ? t.onFailure(e) : o.authenticateUserInternal(n, a, t)}