/*
 * Decompiled with CFR 0.152.
 * 
 * Could not load the following classes:
 *  com.l7tech.common.io.CertUtils
 *  com.l7tech.common.io.XmlUtil
 *  com.l7tech.gateway.common.audit.AssertionMessages
 *  com.l7tech.gateway.common.audit.AuditDetailMessage
 *  com.l7tech.message.Message
 *  com.l7tech.policy.assertion.AssertionStatus
 *  com.l7tech.policy.assertion.IdentityTargetable
 *  com.l7tech.policy.assertion.MessageTargetable
 *  com.l7tech.policy.assertion.MessageTargetableSupport
 *  com.l7tech.policy.assertion.PolicyAssertionException
 *  com.l7tech.policy.assertion.TargetMessageType
 *  com.l7tech.policy.assertion.xmlsec.BuildRstrSoapResponse
 *  com.l7tech.policy.assertion.xmlsec.SecurityHeaderAddressable
 *  com.l7tech.security.xml.SupportedDigestMethods
 *  com.l7tech.security.xml.XencUtil
 *  com.l7tech.security.xml.XmlElementEncryptor
 *  com.l7tech.util.DomUtils
 *  com.l7tech.util.HexUtils
 *  com.l7tech.util.ISO8601Date
 *  com.l7tech.util.IdAttributeConfig
 *  com.l7tech.util.InvalidDocumentFormatException
 *  com.l7tech.util.MissingRequiredElementException
 *  com.l7tech.util.SoapConstants
 *  com.l7tech.util.TextUtils
 *  com.l7tech.util.TooManyChildElementsException
 *  com.l7tech.xml.soap.SoapUtil
 *  org.springframework.beans.factory.BeanFactory
 */
package com.l7tech.server.policy.assertion.xmlsec;

import com.l7tech.common.io.CertUtils;
import com.l7tech.common.io.XmlUtil;
import com.l7tech.gateway.common.audit.AssertionMessages;
import com.l7tech.gateway.common.audit.AuditDetailMessage;
import com.l7tech.message.Message;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.assertion.IdentityTargetable;
import com.l7tech.policy.assertion.MessageTargetable;
import com.l7tech.policy.assertion.MessageTargetableSupport;
import com.l7tech.policy.assertion.PolicyAssertionException;
import com.l7tech.policy.assertion.TargetMessageType;
import com.l7tech.policy.assertion.xmlsec.BuildRstrSoapResponse;
import com.l7tech.policy.assertion.xmlsec.SecurityHeaderAddressable;
import com.l7tech.security.xml.SupportedDigestMethods;
import com.l7tech.security.xml.XencUtil;
import com.l7tech.security.xml.XmlElementEncryptor;
import com.l7tech.server.message.AuthenticationContext;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.server.policy.assertion.AbstractMessageTargetableServerAssertion;
import com.l7tech.server.policy.assertion.AssertionStatusException;
import com.l7tech.server.policy.assertion.xmlsec.AddWssEncryptionContext;
import com.l7tech.server.policy.assertion.xmlsec.AddWssEncryptionSupport;
import com.l7tech.server.policy.variable.ExpandVariables;
import com.l7tech.server.secureconversation.InboundSecureConversationContextManager;
import com.l7tech.server.secureconversation.SecureConversationSession;
import com.l7tech.server.util.RstSoapMessageProcessor;
import com.l7tech.util.DomUtils;
import com.l7tech.util.HexUtils;
import com.l7tech.util.ISO8601Date;
import com.l7tech.util.IdAttributeConfig;
import com.l7tech.util.InvalidDocumentFormatException;
import com.l7tech.util.MissingRequiredElementException;
import com.l7tech.util.SoapConstants;
import com.l7tech.util.TextUtils;
import com.l7tech.util.TooManyChildElementsException;
import com.l7tech.xml.soap.SoapUtil;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.PublicKey;
import java.security.cert.X509Certificate;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import org.springframework.beans.factory.BeanFactory;
import org.w3c.dom.Element;

public class ServerBuildRstrSoapResponse
extends AbstractMessageTargetableServerAssertion<BuildRstrSoapResponse> {
    private static final String d;
    private static final String e;
    private static final String f;
    private static final String g;
    private static final String h;
    private static final String i;
    private final InboundSecureConversationContextManager j;
    private final String[] k;
    private final AddWssEncryptionSupport l;
    private static final String[] m;

    public ServerBuildRstrSoapResponse(BuildRstrSoapResponse buildRstrSoapResponse, BeanFactory beanFactory) {
        super(buildRstrSoapResponse);
        this.k = buildRstrSoapResponse.getVariablesUsed();
        this.j = (InboundSecureConversationContextManager)beanFactory.getBean(m[33], InboundSecureConversationContextManager.class);
        this.l = new AddWssEncryptionSupport(this.getAuditHaver(), this.logger, (MessageTargetable)new MessageTargetableSupport(TargetMessageType.RESPONSE), (SecurityHeaderAddressable)buildRstrSoapResponse, (IdentityTargetable)buildRstrSoapResponse);
    }

    @Override
    protected AssertionStatus doCheckRequest(PolicyEnforcementContext policyEnforcementContext, Message message, String string, AuthenticationContext authenticationContext) throws IOException, PolicyAssertionException {
        String string2;
        block31: {
            String string3;
            block32: {
                block29: {
                    block30: {
                        String string4;
                        String string5;
                        PolicyEnforcementContext policyEnforcementContext2;
                        String string6;
                        Object object;
                        Map<String, String> map = RstSoapMessageProcessor.getRstParameters(message, ((BuildRstrSoapResponse)this.assertion).isResponseForIssuance());
                        try {
                            if (map.containsKey(m[120])) {
                                RstSoapMessageProcessor.generateSoapFaultResponse(policyEnforcementContext, map, this.a(), m[97], map.get(m[90]));
                                this.logAndAudit((AuditDetailMessage)AssertionMessages.STS_INVALID_RST_REQUEST, map.get(m[90]));
                                return AssertionStatus.BAD_REQUEST;
                            }
                        }
                        catch (IOException iOException) {
                            throw ServerBuildRstrSoapResponse.a(iOException);
                        }
                        HashMap<String, String> hashMap = new HashMap<String, String>();
                        if (((BuildRstrSoapResponse)this.assertion).isResponseForIssuance()) {
                            object = this.a(policyEnforcementContext, hashMap, map);
                            try {
                                if (object != AssertionStatus.NONE) {
                                    return object;
                                }
                            }
                            catch (IOException iOException) {
                                throw ServerBuildRstrSoapResponse.a(iOException);
                            }
                            string6 = this.b(policyEnforcementContext, map, hashMap);
                        } else {
                            string6 = this.b(policyEnforcementContext, map, null);
                        }
                        String[] stringArray = m;
                        object = this.a(map.get(stringArray[76]), string6);
                        policyEnforcementContext.setVariable(((BuildRstrSoapResponse)this.assertion).getVariablePrefix() + "." + BuildRstrSoapResponse.VARIABLE_RSTR_RESPONSE, new Message(XmlUtil.stringAsDocument((String)object)));
                        String string7 = RstSoapMessageProcessor.getWsaNamespace(map);
                        try {
                            policyEnforcementContext2 = policyEnforcementContext;
                            string5 = ((BuildRstrSoapResponse)this.assertion).getVariablePrefix() + "." + BuildRstrSoapResponse.VARIABLE_WSA_NAMESPACE;
                            string4 = string7 == null ? "" : string7;
                        }
                        catch (IOException iOException) {
                            throw ServerBuildRstrSoapResponse.a(iOException);
                        }
                        policyEnforcementContext2.setVariable(string5, string4);
                        string2 = "";
                        stringArray = m;
                        if (!Boolean.parseBoolean(map.get(stringArray[71]))) break block31;
                        string3 = map.get(stringArray[28]);
                        if (!((BuildRstrSoapResponse)this.assertion).isResponseForIssuance()) break block32;
                        boolean bl2 = Boolean.parseBoolean((String)hashMap.get(stringArray[24]));
                        try {
                            if (!bl2) break block29;
                            if (!SoapConstants.WSC_RST_SCT_ACTION.equals(string3)) break block30;
                        }
                        catch (IOException iOException) {
                            throw ServerBuildRstrSoapResponse.a(iOException);
                        }
                        string2 = SoapConstants.WSC_RSTR_SCT_ACTION;
                        break block31;
                    }
                    if (SoapConstants.WSC_RST_SCT_ACTION2.equals(string3)) {
                        string2 = SoapConstants.WSC_RSTR_SCT_ACTION2;
                    } else if (SoapConstants.WSC_RST_SCT_ACTION3.equals(string3)) {
                        string2 = SoapConstants.WSC_RSTR_SCT_ACTION3;
                    } else if (SoapConstants.WSC_RSTR_SCT_ACTION_LIST.size() > 0) {
                        string2 = (String)SoapConstants.WSC_RSTR_SCT_ACTION_LIST.get(SoapConstants.WSC_RSTR_SCT_ACTION_LIST.size() - 1);
                    }
                    break block31;
                }
                if (SoapConstants.WST_RST_ISSUE_ACTION.equals(string3)) {
                    string2 = SoapConstants.WST_RSTR_ISSUE_ACTION;
                } else if (SoapConstants.WST_RST_ISSUE_ACTION2.equals(string3)) {
                    string2 = SoapConstants.WST_RSTR_ISSUE_ACTION2;
                } else if (SoapConstants.WST_RST_ISSUE_ACTION3.equals(string3)) {
                    string2 = SoapConstants.WST_RSTR_ISSUE_ACTION3;
                } else if (SoapConstants.WST_RSTR_ISSUE_ACTION_LIST.size() > 0) {
                    string2 = (String)SoapConstants.WST_RSTR_ISSUE_ACTION_LIST.get(SoapConstants.WST_RSTR_ISSUE_ACTION_LIST.size() - 1);
                }
                break block31;
            }
            if (SoapConstants.WSC_RST_CANCEL_ACTION.equals(string3)) {
                string2 = SoapConstants.WSC_RSTR_CANCEL_ACTION;
            } else if (SoapConstants.WSC_RST_CANCEL_ACTION2.equals(string3)) {
                string2 = SoapConstants.WSC_RSTR_CANCEL_ACTION2;
            } else if (SoapConstants.WSC_RST_CANCEL_ACTION_LIST.size() > 0) {
                string2 = (String)SoapConstants.WSC_RST_CANCEL_ACTION_LIST.get(SoapConstants.WSC_RST_CANCEL_ACTION_LIST.size() - 1);
            }
        }
        policyEnforcementContext.setVariable(((BuildRstrSoapResponse)this.assertion).getVariablePrefix() + "." + BuildRstrSoapResponse.VARIABLE_RSTR_WSA_ACTION, string2);
        return AssertionStatus.NONE;
    }

    private String a() {
        return ((BuildRstrSoapResponse)this.assertion).getVariablePrefix() + "." + BuildRstrSoapResponse.VARIABLE_RSTR_RESPONSE;
    }

    private AssertionStatus a(PolicyEnforcementContext policyEnforcementContext, Map<String, String> map, Map<String, String> map2) {
        block16: {
            String[] stringArray;
            block14: {
                block17: {
                    Element element;
                    Object object;
                    block15: {
                        String string = ((BuildRstrSoapResponse)this.assertion).getTokenIssued();
                        String string2 = ExpandVariables.process(string, policyEnforcementContext.getVariableMap(this.k, this.getAudit()), this.getAudit());
                        stringArray = m;
                        map.put(stringArray[73], string2);
                        try {
                            object = XmlUtil.stringToDocument((String)string2);
                            element = (Element)object.getFirstChild();
                        }
                        catch (Throwable throwable) {
                            stringArray = m;
                            String string3 = stringArray[85];
                            RstSoapMessageProcessor.generateSoapFaultResponse(policyEnforcementContext, map2, this.a(), stringArray[69], string3);
                            this.logAndAudit((AuditDetailMessage)AssertionMessages.STS_INVALID_SECURITY_TOKEN, string3);
                            return AssertionStatus.BAD_REQUEST;
                        }
                        object = element.getNamespaceURI();
                        String string4 = element.getLocalName();
                        stringArray = m;
                        if (stringArray[37].equals(string4)) {
                            String string5;
                            map.put(stringArray[24], stringArray[45]);
                            try {
                                string5 = DomUtils.getElementIdValue((Element)element, (IdAttributeConfig)SoapUtil.getDefaultIdAttributeConfig());
                            }
                            catch (InvalidDocumentFormatException invalidDocumentFormatException) {
                                stringArray = m;
                                String string6 = stringArray[0];
                                RstSoapMessageProcessor.generateSoapFaultResponse(policyEnforcementContext, map2, this.a(), stringArray[42], string6);
                                this.logAndAudit((AuditDetailMessage)AssertionMessages.STS_INVALID_SECURITY_TOKEN, string6);
                                return AssertionStatus.BAD_REQUEST;
                            }
                            stringArray = m;
                            map.put(stringArray[87], string5);
                            try {
                                map.put(stringArray[99], DomUtils.findExactlyOneChildElementByName((Element)element, (String)object, (String)stringArray[14]).getTextContent());
                            }
                            catch (TooManyChildElementsException tooManyChildElementsException) {
                                stringArray = m;
                                String string7 = stringArray[11];
                                RstSoapMessageProcessor.generateSoapFaultResponse(policyEnforcementContext, map2, this.a(), stringArray[42], string7);
                                this.logAndAudit((AuditDetailMessage)AssertionMessages.STS_INVALID_SECURITY_TOKEN, string7);
                                return AssertionStatus.BAD_REQUEST;
                            }
                            catch (MissingRequiredElementException missingRequiredElementException) {
                                stringArray = m;
                                String string8 = stringArray[110];
                                RstSoapMessageProcessor.generateSoapFaultResponse(policyEnforcementContext, map2, this.a(), stringArray[42], string8);
                                this.logAndAudit((AuditDetailMessage)AssertionMessages.STS_INVALID_SECURITY_TOKEN, string8);
                                return AssertionStatus.BAD_REQUEST;
                            }
                        }
                        try {
                            try {
                                if (!m[84].equals(string4)) break block14;
                                map.put(m[24], m[55]);
                                if (!SoapConstants.SAML_NAMESPACE.equals(object)) break block15;
                            }
                            catch (Throwable throwable) {
                                throw ServerBuildRstrSoapResponse.a(throwable);
                            }
                            map.put(m[112], element.getAttribute(m[22]));
                            map.put(m[46], SoapConstants.VALUETYPE_SAML_ASSERTIONID_SAML11);
                            break block16;
                        }
                        catch (Throwable throwable) {
                            throw ServerBuildRstrSoapResponse.a(throwable);
                        }
                    }
                    try {
                        if (!SoapConstants.SAML_NAMESPACE2.equals(object)) break block17;
                        map.put(m[112], element.getAttribute(m[122]));
                        map.put(m[46], SoapConstants.VALUETYPE_SAML_ASSERTIONID_SAML20);
                        break block16;
                    }
                    catch (Throwable throwable) {
                        throw ServerBuildRstrSoapResponse.a(throwable);
                    }
                }
                stringArray = m;
                String string = stringArray[21];
                RstSoapMessageProcessor.generateSoapFaultResponse(policyEnforcementContext, map2, this.a(), stringArray[42], string);
                this.logAndAudit((AuditDetailMessage)AssertionMessages.STS_INVALID_SECURITY_TOKEN, string);
                return AssertionStatus.BAD_REQUEST;
            }
            stringArray = m;
            String string = stringArray[119];
            RstSoapMessageProcessor.generateSoapFaultResponse(policyEnforcementContext, map2, this.a(), stringArray[42], string);
            this.logAndAudit((AuditDetailMessage)AssertionMessages.STS_INVALID_SECURITY_TOKEN, string);
            return AssertionStatus.BAD_REQUEST;
        }
        return AssertionStatus.NONE;
    }

    private String a(String string, String string2) {
        String[] stringArray = m;
        StringBuilder stringBuilder = new StringBuilder(stringArray[94]).append(string).append(stringArray[91]).append(stringArray[15]).append(string2).append("\n").append(stringArray[4]).append(stringArray[19]);
        return stringBuilder.toString();
    }

    private String b(PolicyEnforcementContext policyEnforcementContext, Map<String, String> map, Map<String, String> map2) throws PolicyAssertionException {
        StringBuilder stringBuilder;
        block53: {
            Object object;
            int n2;
            boolean bl2;
            String string;
            String string2;
            String[] stringArray;
            block51: {
                block55: {
                    String string3;
                    boolean bl3;
                    block52: {
                        block49: {
                            block54: {
                                block50: {
                                    block48: {
                                        block47: {
                                            String string4;
                                            block46: {
                                                block45: {
                                                    String string5;
                                                    block44: {
                                                        block43: {
                                                            stringBuilder = new StringBuilder();
                                                            try {
                                                                if (map.get(m[89]) != null) break block43;
                                                                string5 = SoapConstants.WSU_NAMESPACE;
                                                                break block44;
                                                            }
                                                            catch (PolicyAssertionException policyAssertionException) {
                                                                throw ServerBuildRstrSoapResponse.a(policyAssertionException);
                                                            }
                                                        }
                                                        stringArray = m;
                                                        string5 = map.get(stringArray[116]);
                                                    }
                                                    String string6 = string5;
                                                    try {
                                                        stringBuilder.append(m[48]);
                                                        if (!((BuildRstrSoapResponse)this.assertion).isResponseForIssuance()) break block45;
                                                        stringBuilder.append(m[66]).append(map.get(m[117])).append(m[102]).append(m[111]).append(string6).append(m[43]);
                                                        break block46;
                                                    }
                                                    catch (PolicyAssertionException policyAssertionException) {
                                                        throw ServerBuildRstrSoapResponse.a(policyAssertionException);
                                                    }
                                                }
                                                stringArray = m;
                                                stringBuilder.append(stringArray[23]).append(map.get(stringArray[92])).append(stringArray[43]);
                                                stringBuilder.append(stringArray[63]).append(stringArray[13]);
                                                return stringBuilder.toString();
                                            }
                                            stringArray = m;
                                            String string7 = map2.get(stringArray[49]);
                                            bl3 = Boolean.parseBoolean(map.get(stringArray[9]));
                                            try {
                                                if (bl3) {
                                                    stringBuilder.append(stringArray[98]).append(map.get(stringArray[125])).append(stringArray[2]);
                                                }
                                            }
                                            catch (PolicyAssertionException policyAssertionException) {
                                                throw ServerBuildRstrSoapResponse.a(policyAssertionException);
                                            }
                                            stringArray = m;
                                            stringBuilder.append(stringArray[51]).append(string7).append("\n").append(stringArray[107]);
                                            if (((BuildRstrSoapResponse)this.assertion).isIncludeAppliesTo() && (string4 = ((BuildRstrSoapResponse)this.assertion).getAddressOfEPR()) != null) {
                                                string2 = TextUtils.escapeHtmlSpecialCharacters((String)ExpandVariables.process(string4, policyEnforcementContext.getVariableMap(this.k, this.getAudit()), this.getAudit()));
                                                try {
                                                    try {
                                                        if (!((BuildRstrSoapResponse)this.assertion).isIncludeAppliesTo() || string2 == null) break block47;
                                                    }
                                                    catch (PolicyAssertionException policyAssertionException) {
                                                        throw ServerBuildRstrSoapResponse.a(policyAssertionException);
                                                    }
                                                    if (string2.trim().isEmpty()) break block47;
                                                }
                                                catch (PolicyAssertionException policyAssertionException) {
                                                    throw ServerBuildRstrSoapResponse.a(policyAssertionException);
                                                }
                                                string3 = RstSoapMessageProcessor.getWsaNamespace(map);
                                                string = RstSoapMessageProcessor.getWspNamespace(map);
                                                stringArray = m;
                                                stringBuilder.append(stringArray[128]).append(string).append(stringArray[103]).append(string3).append(stringArray[43]).append(stringArray[38]).append(stringArray[36]).append(string2).append(stringArray[74]).append(stringArray[118]).append(stringArray[26]);
                                            }
                                        }
                                        stringArray = m;
                                        bl2 = Boolean.parseBoolean(map2.get(stringArray[104]));
                                        string2 = map.get(stringArray[40]);
                                        try {
                                            if (string2 != null && !string2.trim().isEmpty()) break block48;
                                        }
                                        catch (PolicyAssertionException policyAssertionException) {
                                            throw ServerBuildRstrSoapResponse.a(policyAssertionException);
                                        }
                                        string2 = SoapConstants.SECURITY_NAMESPACE;
                                    }
                                    try {
                                        if (!((BuildRstrSoapResponse)this.assertion).isIncludeAttachedRef()) break block49;
                                        stringBuilder.append(m[58]).append(m[88]).append(string2).append(m[43]);
                                        if (!bl2) break block50;
                                    }
                                    catch (PolicyAssertionException policyAssertionException) {
                                        throw ServerBuildRstrSoapResponse.a(policyAssertionException);
                                    }
                                    stringArray = m;
                                    string3 = map2.get(stringArray[59]);
                                    try {
                                        stringBuilder.append(stringArray[72]).append(string3).append("\"");
                                        if (bl3) {
                                            stringBuilder.append(stringArray[3]).append(map.get(stringArray[126])).append("\"");
                                        }
                                    }
                                    catch (PolicyAssertionException policyAssertionException) {
                                        throw ServerBuildRstrSoapResponse.a(policyAssertionException);
                                    }
                                    stringArray = m;
                                    stringBuilder.append(stringArray[52]);
                                    break block54;
                                }
                                stringArray = m;
                                string3 = map2.get(stringArray[6]);
                                string = map2.get(stringArray[20]);
                                try {
                                    stringBuilder.append(stringArray[41]);
                                    if (bl3) {
                                        stringBuilder.append(stringArray[31]).append(string3).append("\"");
                                    }
                                }
                                catch (PolicyAssertionException policyAssertionException) {
                                    throw ServerBuildRstrSoapResponse.a(policyAssertionException);
                                }
                                stringArray = m;
                                stringBuilder.append(">").append(string).append(stringArray[129]);
                            }
                            stringArray = m;
                            stringBuilder.append(stringArray[54]).append(stringArray[61]);
                        }
                        try {
                            if (!((BuildRstrSoapResponse)this.assertion).isIncludeUnattachedRef()) break block51;
                            stringBuilder.append(m[93]).append(m[88]).append(string2).append(m[43]);
                            if (!bl2) break block52;
                        }
                        catch (PolicyAssertionException policyAssertionException) {
                            throw ServerBuildRstrSoapResponse.a(policyAssertionException);
                        }
                        stringArray = m;
                        string3 = map2.get(stringArray[64]);
                        try {
                            stringBuilder.append(stringArray[67]).append(string3).append("\"");
                            if (bl3) {
                                stringBuilder.append(stringArray[31]).append(map.get(stringArray[126])).append("\"");
                            }
                        }
                        catch (PolicyAssertionException policyAssertionException) {
                            throw ServerBuildRstrSoapResponse.a(policyAssertionException);
                        }
                        stringArray = m;
                        stringBuilder.append(stringArray[53]);
                        break block55;
                    }
                    stringArray = m;
                    string3 = map2.get(stringArray[46]);
                    string = map2.get(stringArray[112]);
                    try {
                        stringBuilder.append(stringArray[16]);
                        if (bl3) {
                            stringBuilder.append(stringArray[31]).append(string3).append("\"");
                        }
                    }
                    catch (PolicyAssertionException policyAssertionException) {
                        throw ServerBuildRstrSoapResponse.a(policyAssertionException);
                    }
                    stringArray = m;
                    stringBuilder.append(">").append(string).append(stringArray[121]);
                }
                stringArray = m;
                stringBuilder.append(stringArray[113]).append(stringArray[124]);
            }
            if (bl2) {
                String string8;
                stringArray = m;
                string = map2.get(stringArray[99]);
                SecureConversationSession secureConversationSession = this.j.getSession(string);
                String string9 = stringArray[114] + string + "'";
                try {
                    if (secureConversationSession == null) {
                        RstSoapMessageProcessor.generateSoapFaultResponse(policyEnforcementContext, map, this.a(), stringArray[105], string9);
                        this.logAndAudit((AuditDetailMessage)AssertionMessages.STS_EXPIRED_SC_SESSION, string9);
                        throw new AssertionStatusException(AssertionStatus.FALSIFIED);
                    }
                }
                catch (PolicyAssertionException policyAssertionException) {
                    throw ServerBuildRstrSoapResponse.a(policyAssertionException);
                }
                n2 = secureConversationSession.getKeySize();
                stringArray = m;
                stringBuilder.append(stringArray[68]);
                if (secureConversationSession.hasEntropy()) {
                    object = map.get(stringArray[92]);
                    string8 = SoapConstants.WST_NAMESPACE.equals(object) ? SoapConstants.P_SHA1_ALG_URI : (SoapConstants.WST_NAMESPACE2.equals(object) ? SoapConstants.P_SHA1_ALG_URI2 : SoapConstants.P_SHA1_ALG_URI3);
                    stringArray = m;
                    stringBuilder.append(stringArray[101]).append(string8).append(stringArray[5]);
                } else {
                    stringArray = m;
                    string8 = this.a(policyEnforcementContext, map, string2, stringArray[77], secureConversationSession.getSharedSecret());
                    stringBuilder.append(string8).append("\n");
                }
                stringArray = m;
                stringBuilder.append(stringArray[78]);
                if (secureConversationSession.hasEntropy()) {
                    string8 = this.a(policyEnforcementContext, map, string2, stringArray[108], secureConversationSession.getServerEntropy());
                    stringBuilder.append(stringArray[81]).append(string8).append("\n").append(stringArray[44]);
                }
            } else {
                n2 = 0;
            }
            if (((BuildRstrSoapResponse)this.assertion).isIncludeLifetime()) {
                long l2 = System.currentTimeMillis();
                long l3 = l2 + ((BuildRstrSoapResponse)this.assertion).getLifetime();
                object = Calendar.getInstance();
                stringArray = m;
                stringBuilder.append(stringArray[79]);
                ((Calendar)object).setTimeInMillis(l2);
                stringBuilder.append(stringArray[75]).append(ISO8601Date.format((Date)((Calendar)object).getTime())).append(stringArray[7]);
                ((Calendar)object).setTimeInMillis(l3);
                stringBuilder.append(stringArray[34]).append(ISO8601Date.format((Date)((Calendar)object).getTime())).append(stringArray[25]);
                stringBuilder.append(stringArray[1]);
            }
            try {
                try {
                    if (!bl2 || !((BuildRstrSoapResponse)this.assertion).isIncludeKeySize()) break block53;
                }
                catch (PolicyAssertionException policyAssertionException) {
                    throw ServerBuildRstrSoapResponse.a(policyAssertionException);
                }
                stringBuilder.append(m[96]).append(n2).append(m[56]);
            }
            catch (PolicyAssertionException policyAssertionException) {
                throw ServerBuildRstrSoapResponse.a(policyAssertionException);
            }
        }
        stringBuilder.append(m[17]);
        return stringBuilder.toString();
    }

    private String a(PolicyEnforcementContext policyEnforcementContext, Map<String, String> map, String string, String string2, byte[] byArray) throws PolicyAssertionException {
        String string3;
        X509Certificate x509Certificate = this.a(policyEnforcementContext, map);
        try {
            String string4;
            block7: {
                block6: {
                    String string5;
                    try {
                        string5 = Boolean.parseBoolean(map.get(m[62])) ? map.get(m[115]) : SoapConstants.SUPPORTED_ENCRYPTEDKEY_ALGO;
                    }
                    catch (GeneralSecurityException generalSecurityException) {
                        throw ServerBuildRstrSoapResponse.a(generalSecurityException);
                    }
                    String string6 = string5;
                    try {
                        if (x509Certificate == null) break block6;
                        string4 = this.a(byArray, x509Certificate, string, string6);
                        break block7;
                    }
                    catch (GeneralSecurityException generalSecurityException) {
                        throw ServerBuildRstrSoapResponse.a(generalSecurityException);
                    }
                }
                String[] stringArray = m;
                string4 = this.a(byArray, map.get(stringArray[92]), string2);
            }
            string3 = string4;
        }
        catch (GeneralSecurityException generalSecurityException) {
            String[] stringArray = m;
            RstSoapMessageProcessor.generateSoapFaultResponse(policyEnforcementContext, map, this.a(), stringArray[97], stringArray[12]);
            this.logAndAudit((AuditDetailMessage)AssertionMessages.EXCEPTION_WARNING_WITH_MORE_INFO, new String[]{stringArray[60]}, generalSecurityException);
            throw new AssertionStatusException(AssertionStatus.FAILED);
        }
        return string3;
    }

    private X509Certificate a(PolicyEnforcementContext policyEnforcementContext, Map<String, String> map) throws PolicyAssertionException {
        X509Certificate x509Certificate;
        block7: {
            block6: {
                AddWssEncryptionContext addWssEncryptionContext;
                try {
                    addWssEncryptionContext = this.l.buildEncryptionContext(policyEnforcementContext);
                }
                catch (AddWssEncryptionSupport.MultipleTokensException multipleTokensException) {
                    String[] stringArray = m;
                    RstSoapMessageProcessor.generateSoapFaultResponse(policyEnforcementContext, map, this.a(), stringArray[65], stringArray[27]);
                    this.logAndAudit((AuditDetailMessage)AssertionMessages.EXCEPTION_WARNING_WITH_MORE_INFO, new String[]{stringArray[109]}, multipleTokensException);
                    throw new AssertionStatusException(AssertionStatus.FALSIFIED);
                }
                try {
                    try {
                        if (addWssEncryptionContext == null || !addWssEncryptionContext.isCertificate()) break block6;
                    }
                    catch (AddWssEncryptionSupport.MultipleTokensException multipleTokensException) {
                        throw ServerBuildRstrSoapResponse.a(multipleTokensException);
                    }
                    x509Certificate = addWssEncryptionContext.getCertificate();
                    break block7;
                }
                catch (AddWssEncryptionSupport.MultipleTokensException multipleTokensException) {
                    throw ServerBuildRstrSoapResponse.a(multipleTokensException);
                }
            }
            x509Certificate = null;
        }
        return x509Certificate;
    }

    @Override
    protected boolean isResponse() {
        return true;
    }

    private String a(byte[] byArray, String string, String string2) {
        String string3;
        String[] stringArray;
        StringBuilder stringBuilder = new StringBuilder();
        if (SoapUtil.WST_NAMESPACE.equals(string)) {
            stringArray = m;
            string3 = stringArray[82] + string2;
        } else {
            string3 = string + "/" + string2;
        }
        stringArray = m;
        stringBuilder.append(stringArray[86]).append(string3).append(stringArray[8]);
        stringBuilder.append(HexUtils.encodeBase64((byte[])byArray, (boolean)true));
        stringBuilder.append(stringArray[80]);
        return stringBuilder.toString();
    }

    private String a(byte[] byArray, X509Certificate x509Certificate, String string, String string2) throws GeneralSecurityException {
        String string3;
        Object object;
        String[] stringArray;
        boolean bl2;
        StringBuilder stringBuilder;
        block8: {
            block7: {
                boolean bl3;
                stringBuilder = new StringBuilder();
                try {
                    bl3 = !SoapConstants.SUPPORTED_ENCRYPTEDKEY_ALGO.equals(string2);
                }
                catch (GeneralSecurityException generalSecurityException) {
                    throw ServerBuildRstrSoapResponse.a(generalSecurityException);
                }
                bl2 = bl3;
                stringArray = m;
                String string4 = stringArray[70] + UUID.randomUUID().toString();
                try {
                    stringBuilder.append(stringArray[127]).append(string4).append(stringArray[100]).append(SoapConstants.XMLENC_NS).append(stringArray[29]).append(string2).append("\"");
                    if (!bl2) break block7;
                    stringBuilder.append(stringArray[18]).append(SoapConstants.DIGSIG_URI).append(stringArray[35]).append(SoapConstants.DIGSIG_URI).append(stringArray[39]).append(stringArray[47]);
                    break block8;
                }
                catch (GeneralSecurityException generalSecurityException) {
                    throw ServerBuildRstrSoapResponse.a(generalSecurityException);
                }
            }
            stringArray = m;
            stringBuilder.append(stringArray[32]);
        }
        String string5 = CertUtils.getSki((X509Certificate)x509Certificate);
        if (string5 != null) {
            String string6 = string5;
            String string7 = SoapConstants.VALUETYPE_SKI;
            String string8 = string;
            stringArray = m;
            object = stringArray[50] + string8 + stringArray[95] + string7 + stringArray[83] + string6 + stringArray[57];
            stringBuilder.append(stringArray[30]).append(SoapConstants.DIGSIG_URI).append(stringArray[8]);
            stringBuilder.append((String)object);
            stringBuilder.append(stringArray[106]);
        }
        try {
            stringBuilder.append(m[10]);
            string3 = bl2 ? HexUtils.encodeBase64((byte[])XencUtil.encryptKeyWithRsaOaepMGF1SHA1((byte[])byArray, (X509Certificate)x509Certificate, (PublicKey)x509Certificate.getPublicKey(), (SupportedDigestMethods)XmlElementEncryptor.defaultOaepDigestMethod(), (byte[])new byte[0]), (boolean)true) : HexUtils.encodeBase64((byte[])XencUtil.encryptKeyWithRsaAndPad((byte[])byArray, (X509Certificate)x509Certificate, (PublicKey)x509Certificate.getPublicKey()), (boolean)true);
        }
        catch (GeneralSecurityException generalSecurityException) {
            throw ServerBuildRstrSoapResponse.a(generalSecurityException);
        }
        object = string3;
        stringBuilder.append((String)object);
        stringBuilder.append(m[123]);
        return stringBuilder.toString();
    }

    private static Throwable a(Throwable throwable) {
        return throwable;
    }

    /*
     * Unable to fully structure code
     */
    static {
        block10: {
            block9: {
                var5 = new String[130];
                var3_1 = 0;
                var2_2 = "biatCAyDd$kI\u0013}\u0016ulgHAwXd$ObAyBuvoD\u0014lS!mh\u0006\u0015pS!WcE\u0014j_u}EI\u000flSypRI\n}X!ajC\f}Xu*\u0010\n.suR[T_garO\f}\b\u000b\u0011\n.suR[LYjahr\u0018hS?\u000e\f\u0016WejS\u0004LOqa;\u0004\r\n.wiG\u0011\"tn`\u007f\u0018k\u0013\n.suR[[YltsR\u0004|}d}8,\u0014E`ij\b\bvPn*pG\rmS/p\u007fV\u0004\u000f\n.suS[[DderC\u0005&<\u0002\u0014?\u0012^`wYT\u0012liukmC\u000fGBxtc#\nyahE[[_qlcT%yB`::^\u0004vU;GoV\t}DWejS\u0004&ObiatCAyDd$kI\u0013}\u0016ulgHAwXd$OB\u0004vBhboC\u00138SmakC\u000fl\u0016hj&R\t}\u0016RaeS\u0013qBxGiH\u0015}NuPiM\u0004v\u0016dhcK\u0004vB/\u000fddusC\u0012l\u0016hjpG\rqR#\n.suR[JSpqcU\u0015KSbqtO\u0015abnocH3}EqkhU\u0004&\n\u007feahR\b~_dv\f\nrkgV[ZYe}8,\u0013\nvwuC[SSxMbC\u000fl_gmcT#\n.suR[JSpqcU\u0015KSbqtO\u0015abnocH3}EqkhU\u0004&\u0016\b=@oA\u0004kBLarN\u000e|\u0016yijH\u0012%\u0014\u0010\n.wiG\u0011\"sorcJ\u000ehS?\u0016E`ij\b\bvPn*gU\u0012}DumiHOqR\u001ebia&u Uz!jgK\u0004kF`gc\u0006\bk\u0016hjpG\rqR/\u000bwrwcT\u0015qYoMB\u000bNlhhU[oEu9$\u0011BnocHOqXgk(O\u00126Ebp\u000f\n.suS[]NqmtC\u0012&<\u0011\n.suV[YFqhoC\u0012LY?\u000e\u000fddusC\u0012l\u0016hjpG\rqR\u0014Ar[gB\u0005jSrwoH\u0006GWbpoI\u000f$\u0014?8~C\u000f{\fDjeT\u0018hBhkhk\u0004l^n`&g\r\u007fYsmrN\f%\u0014\u0010\nJa\u007fo\u000f~Y!|kJ\u000fk\u000b#\f\u0016WejS\u0004LOqa;\u0004\u0002\u0019?'_ofiS\u000f|edgsT\u0004[YorcT\u0012yBhkhe\u000evBd|rk\u0000vWfat\r\nvws\u001c$`FhvcU_\r\u0014!EjA\u000ej_ulk\u001bC\r\nvwg\u001c |RsauU_\u0014edgsT\blOBkhR\u0004`BUkmC\u000f\u0018\nvwg\u001c$vRqkoH\u0015JSgatC\u000f{S?\u000e\u0004Eie7\u0015Ar)uC\u0002mDhp\u007fy\u000fy[dwvG\u0002}\u0013\nvwuC[SSxMbC\u000fl_gmcT\u0018Arp<o\u000fnWmmbu\u0004{Csmr_5w]dj\u0003\u0014?\u000e\u000f\n.suR[]XuviV\u0018&<\u0004Bsqc\u0014E`ij\b\bvPn*pG\rmS/p\u007fV\u0004\u001b\u0014.::\t\u0019}Xb>CH\u0002jOqpoI\u000fUSuliB_\"\nvwr\u001c3}GtauR2}UtvoR\u0018LYjaht\u0004kFnjuCA\u001cBnocHOqXgk(R\u000esSo*~K\r6UnjrC\u000fl)\nvwuC[KSbqtO\u0015abnocH3}PdvcH\u0002}\u0016yijH\u0012\"Arwc\u001bC\u001d\nvwr\u001c3}GtauR\u0004|edgsT\blOUkmC\u000f&<\u0003\u0019?\u000e\u0003\u0019?\u000e\u001f\n.suU\u0004\"edgsT\blOUkmC\u000fJSgatC\u000f{S?\u000e\u0005P`huC\u000f\n.suR[SSxWo\\\u0004&<3\n.suU\u0004\"}d}OB\u0004vBhboC\u0013&\n.suU\u0004\"edgsT\blOUkmC\u000fJSgatC\u000f{S?!\nvwr\u001c3}GtauR\u0004|wupgE\t}RSa`C\u0013}Xba8,\u000fEbp(O\u000f~Y/suSOqR\u001bddwvI\u000fkS!ahE\u0013aFumiHA~WhhsT\u0004\"\n.suR[JSpqcU\u0015}R@prG\u0002pSeVc@\u0004jSogc\u0018k\u001c^`wYM\u0004aidjeT\u0018hBhkhy\u0000tQnvoR\tu\u001f\nvwr\u001c3}GtauR\u0004|bnocH\"yXbajJ\u0004|\u0019?\u000e\u0019Ebp(O\u000f~Y/piM\u0004v\u0018h`cH\u0015qPhat\u0012Arp<o\u000fnWmmbt\u0004iCdwr\u000bNlhhU[oEu9$\u0015\nvwuC[JSgatC\u000f{S!QTo\\:\u001a\nvwr\u001c3}GtauR\u0004|fski@5w]dj8,\u0018Arp<o\u000fnWmmbu\u0004{Csmr_5w]dj\u0005Ctmb\u000b\u0018^`wYQ\u0012GWe`tC\u0012k_ocYG\u0002l_nj\u0016\nvwuC[JSgatC\u000f{S!QTo\\:\u0015\u001cBnocHOqXgk(R\u000esSo*~K\r6UnjrC\u000fl\u000f\n.suG[YRevcU\u0012&<\r\nvws\u001c\"jS`pcB_\u0017Enevy\u0004v@dhiV\u0004GX`icU\u0011yUd\fexikC\u0015j_bOc_\u001b\n.suR[JSpqcU\u0015}RQviI\u0007LYjah\u0018k\u000f\nvwr\u001c-qPdpoK\u0004&<\u0013\n.suR[Z_oet_2}Usar\u0018\u000e\nvwr\u001c$vBskv__\u00125^upv\u001cN7EblcK\u0000k\u0018yijU\u000eyF/ktANoE.66\u0016U7\u00065+uC\u0002mDhp\u007f\t\u0015jCrp)\u0002\u0014?\twrwcT\u0015qYoUbia&U\u0004{Csmr_AlYjah\u0006\u0014kSe$rIA\u007fSoatG\u0015}\u0016`$Tu5J\u0016sauV\u000evEd$oUAqXwejO\u00058Ys$hI\u00158Adhj\u000b\u0007wDlerR\u0004|\u0018\u0018\nvwr\u001c#qX`v\u007fu\u0004{Ddp&r\u0018hS<&\u000fEbp(O\u000f~Y/suSOqR)\nvwuC[KSbqtO\u0015abnocH3}PdvcH\u0002}\u0016yijH\u0012\"Arwc\u001bC\u0016Ar[sR\bt_umcU>vWlauV\u0000{S\rF`vuO\u000f\u007fidvtI\u0013\u0003\u0014?\u000e\u0012Ar[rT\u0014kB^jgK\u0004kF`gc#\nvwr\u001c3}GtauR\u0004|coerR\u0000{^d`TC\u0007}DdjeC_\u0012\u001b\nrkgV[]XwajI\u0011}\u0016yijH\u0012\"Enev\u001bC!\u0014?8qU\u0012}\fJa\u007fo\u0005}Xum`O\u0004j\u0016WejS\u0004LOqa;\u0004\r\nvwr\u001c*}ORm|C_\u0012Arp<o\u000fnWmmbt\u0004iCdwr\u000f\nvwr\u001c5w]djR_\u0011}\b\u0019Ebp(O\u000f~Y/piM\u0004v\u0018h`cH\u0015qPhat\u000e\u0014!|kJ\u000fk\fyahE\\:\u0011\nvwr\u001c\"w[qqrC\u0005SSx:\u0002\u0014!\r\u0014!|kJ\u000fk\fvwg\u001bC\u0011BnocHOqXgk(O\u00126Ebp\u000fArp<c\u0019h_sabb\u0000lW\n\n.Oc_(vPn:\u001e\n.suR[JSpqcU\u0015}RRaeS\u0013qBxPiM\u0004v\b\u000b\u0005xnjeC5ddwvI\u000fkS!ahE\u0013aFumiHAlYjah\u0006\u000fwB!biS\u000f|\u0016)isJ\u0015qFma&R\u000esSow/CbiatCAqE!ji\u0006(|Sopo@\b}D!ajC\f}Xu$oHAl^d$UC\u0002mDhp\u007fe\u000evBd|rr\u000esSo$cJ\u0004uSop(\u000bNlhhU[oEt9$\u0016E`ij\b\bvPn*gU\u0012}DumiHOqR\u001f\n.suU\u0004\"edgsT\blOUkmC\u000fJSgatC\u000f{S?\u000e\u0013edwuO\u000ev\u0016okr\u0006\u0007wCo`&\u0001\u0018]d}YC\u000f{DxtrO\u000evi`haI\u0013qBii\u0016Ar[sR\bt_umcU>vWlauV\u0000{S\u0012Ar[rT\u0014kB^jgK\u0004kF`gc\u0019\n.suG[]XetiO\u000flddbcT\u0004vUd:\fObia&U\u0004{Csmr_AlYjah\u0006\u0011jYwmbC\u00058_r$hC\bl^dv&GAKSbqtO\u0015aunjrC\u0019lbnocHAvYs$g\u00062Y{M$rI\n}X/\rF`vuO\u000f\u007fidvtI\u0013\u0016\n.suU\u0004\"}d}OB\u0004vBhboC\u0013&<\u0002\u007fE9\n.|cH\u0002\"uhtnC\u0013NWmqc\u0018]7Ndje\u001c\"qFiatb\u0000lW?8)^\u0004vU;AhE\u0013aFuabm\u0004a\b$\n.suR[JSpqcU\u0015}RTjgR\u0015yUiabt\u0004~SsahE\u0004&<\u000eDrpYR\u000esSo[r_\u0011}\u000eDrpYR\u000esSo[r_\u0011}\u001b\nyahE[]Xbv\u007fV\u0015}RJa\u007f\u0006\u0016kC;Mb\u001bC";
                var4_3 = "biatCAyDd$kI\u0013}\u0016ulgHAwXd$ObAyBuvoD\u0014lS!mh\u0006\u0015pS!WcE\u0014j_u}EI\u000flSypRI\n}X!ajC\f}Xu*\u0010\n.suR[T_garO\f}\b\u000b\u0011\n.suR[LYjahr\u0018hS?\u000e\f\u0016WejS\u0004LOqa;\u0004\r\n.wiG\u0011\"tn`\u007f\u0018k\u0013\n.suR[[YltsR\u0004|}d}8,\u0014E`ij\b\bvPn*pG\rmS/p\u007fV\u0004\u000f\n.suS[[DderC\u0005&<\u0002\u0014?\u0012^`wYT\u0012liukmC\u000fGBxtc#\nyahE[[_qlcT%yB`::^\u0004vU;GoV\t}DWejS\u0004&ObiatCAyDd$kI\u0013}\u0016ulgHAwXd$OB\u0004vBhboC\u00138SmakC\u000fl\u0016hj&R\t}\u0016RaeS\u0013qBxGiH\u0015}NuPiM\u0004v\u0016dhcK\u0004vB/\u000fddusC\u0012l\u0016hjpG\rqR#\n.suR[JSpqcU\u0015KSbqtO\u0015abnocH3}EqkhU\u0004&\n\u007feahR\b~_dv\f\nrkgV[ZYe}8,\u0013\nvwuC[SSxMbC\u000fl_gmcT#\n.suR[JSpqcU\u0015KSbqtO\u0015abnocH3}EqkhU\u0004&\u0016\b=@oA\u0004kBLarN\u000e|\u0016yijH\u0012%\u0014\u0010\n.wiG\u0011\"sorcJ\u000ehS?\u0016E`ij\b\bvPn*gU\u0012}DumiHOqR\u001ebia&u Uz!jgK\u0004kF`gc\u0006\bk\u0016hjpG\rqR/\u000bwrwcT\u0015qYoMB\u000bNlhhU[oEu9$\u0011BnocHOqXgk(O\u00126Ebp\u000f\n.suS[]NqmtC\u0012&<\u0011\n.suV[YFqhoC\u0012LY?\u000e\u000fddusC\u0012l\u0016hjpG\rqR\u0014Ar[gB\u0005jSrwoH\u0006GWbpoI\u000f$\u0014?8~C\u000f{\fDjeT\u0018hBhkhk\u0004l^n`&g\r\u007fYsmrN\f%\u0014\u0010\nJa\u007fo\u000f~Y!|kJ\u000fk\u000b#\f\u0016WejS\u0004LOqa;\u0004\u0002\u0019?'_ofiS\u000f|edgsT\u0004[YorcT\u0012yBhkhe\u000evBd|rk\u0000vWfat\r\nvws\u001c$`FhvcU_\r\u0014!EjA\u000ej_ulk\u001bC\r\nvwg\u001c |RsauU_\u0014edgsT\blOBkhR\u0004`BUkmC\u000f\u0018\nvwg\u001c$vRqkoH\u0015JSgatC\u000f{S?\u000e\u0004Eie7\u0015Ar)uC\u0002mDhp\u007fy\u000fy[dwvG\u0002}\u0013\nvwuC[SSxMbC\u000fl_gmcT\u0018Arp<o\u000fnWmmbu\u0004{Csmr_5w]dj\u0003\u0014?\u000e\u000f\n.suR[]XuviV\u0018&<\u0004Bsqc\u0014E`ij\b\bvPn*pG\rmS/p\u007fV\u0004\u001b\u0014.::\t\u0019}Xb>CH\u0002jOqpoI\u000fUSuliB_\"\nvwr\u001c3}GtauR2}UtvoR\u0018LYjaht\u0004kFnjuCA\u001cBnocHOqXgk(R\u000esSo*~K\r6UnjrC\u000fl)\nvwuC[KSbqtO\u0015abnocH3}PdvcH\u0002}\u0016yijH\u0012\"Arwc\u001bC\u001d\nvwr\u001c3}GtauR\u0004|edgsT\blOUkmC\u000f&<\u0003\u0019?\u000e\u0003\u0019?\u000e\u001f\n.suU\u0004\"edgsT\blOUkmC\u000fJSgatC\u000f{S?\u000e\u0005P`huC\u000f\n.suR[SSxWo\\\u0004&<3\n.suU\u0004\"}d}OB\u0004vBhboC\u0013&\n.suU\u0004\"edgsT\blOUkmC\u000fJSgatC\u000f{S?!\nvwr\u001c3}GtauR\u0004|wupgE\t}RSa`C\u0013}Xba8,\u000fEbp(O\u000f~Y/suSOqR\u001bddwvI\u000fkS!ahE\u0013aFumiHA~WhhsT\u0004\"\n.suR[JSpqcU\u0015}R@prG\u0002pSeVc@\u0004jSogc\u0018k\u001c^`wYM\u0004aidjeT\u0018hBhkhy\u0000tQnvoR\tu\u001f\nvwr\u001c3}GtauR\u0004|bnocH\"yXbajJ\u0004|\u0019?\u000e\u0019Ebp(O\u000f~Y/piM\u0004v\u0018h`cH\u0015qPhat\u0012Arp<o\u000fnWmmbt\u0004iCdwr\u000bNlhhU[oEu9$\u0015\nvwuC[JSgatC\u000f{S!QTo\\:\u001a\nvwr\u001c3}GtauR\u0004|fski@5w]dj8,\u0018Arp<o\u000fnWmmbu\u0004{Csmr_5w]dj\u0005Ctmb\u000b\u0018^`wYQ\u0012GWe`tC\u0012k_ocYG\u0002l_nj\u0016\nvwuC[JSgatC\u000f{S!QTo\\:\u0015\u001cBnocHOqXgk(R\u000esSo*~K\r6UnjrC\u000fl\u000f\n.suG[YRevcU\u0012&<\r\nvws\u001c\"jS`pcB_\u0017Enevy\u0004v@dhiV\u0004GX`icU\u0011yUd\fexikC\u0015j_bOc_\u001b\n.suR[JSpqcU\u0015}RQviI\u0007LYjah\u0018k\u000f\nvwr\u001c-qPdpoK\u0004&<\u0013\n.suR[Z_oet_2}Usar\u0018\u000e\nvwr\u001c$vBskv__\u00125^upv\u001cN7EblcK\u0000k\u0018yijU\u000eyF/ktANoE.66\u0016U7\u00065+uC\u0002mDhp\u007f\t\u0015jCrp)\u0002\u0014?\twrwcT\u0015qYoUbia&U\u0004{Csmr_AlYjah\u0006\u0014kSe$rIA\u007fSoatG\u0015}\u0016`$Tu5J\u0016sauV\u000evEd$oUAqXwejO\u00058Ys$hI\u00158Adhj\u000b\u0007wDlerR\u0004|\u0018\u0018\nvwr\u001c#qX`v\u007fu\u0004{Ddp&r\u0018hS<&\u000fEbp(O\u000f~Y/suSOqR)\nvwuC[KSbqtO\u0015abnocH3}PdvcH\u0002}\u0016yijH\u0012\"Arwc\u001bC\u0016Ar[sR\bt_umcU>vWlauV\u0000{S\rF`vuO\u000f\u007fidvtI\u0013\u0003\u0014?\u000e\u0012Ar[rT\u0014kB^jgK\u0004kF`gc#\nvwr\u001c3}GtauR\u0004|coerR\u0000{^d`TC\u0007}DdjeC_\u0012\u001b\nrkgV[]XwajI\u0011}\u0016yijH\u0012\"Enev\u001bC!\u0014?8qU\u0012}\fJa\u007fo\u0005}Xum`O\u0004j\u0016WejS\u0004LOqa;\u0004\r\nvwr\u001c*}ORm|C_\u0012Arp<o\u000fnWmmbt\u0004iCdwr\u000f\nvwr\u001c5w]djR_\u0011}\b\u0019Ebp(O\u000f~Y/piM\u0004v\u0018h`cH\u0015qPhat\u000e\u0014!|kJ\u000fk\fyahE\\:\u0011\nvwr\u001c\"w[qqrC\u0005SSx:\u0002\u0014!\r\u0014!|kJ\u000fk\fvwg\u001bC\u0011BnocHOqXgk(O\u00126Ebp\u000fArp<c\u0019h_sabb\u0000lW\n\n.Oc_(vPn:\u001e\n.suR[JSpqcU\u0015}RRaeS\u0013qBxPiM\u0004v\b\u000b\u0005xnjeC5ddwvI\u000fkS!ahE\u0013aFumiHAlYjah\u0006\u000fwB!biS\u000f|\u0016)isJ\u0015qFma&R\u000esSow/CbiatCAqE!ji\u0006(|Sopo@\b}D!ajC\f}Xu$oHAl^d$UC\u0002mDhp\u007fe\u000evBd|rr\u000esSo$cJ\u0004uSop(\u000bNlhhU[oEt9$\u0016E`ij\b\bvPn*gU\u0012}DumiHOqR\u001f\n.suU\u0004\"edgsT\blOUkmC\u000fJSgatC\u000f{S?\u000e\u0013edwuO\u000ev\u0016okr\u0006\u0007wCo`&\u0001\u0018]d}YC\u000f{DxtrO\u000evi`haI\u0013qBii\u0016Ar[sR\bt_umcU>vWlauV\u0000{S\u0012Ar[rT\u0014kB^jgK\u0004kF`gc\u0019\n.suG[]XetiO\u000flddbcT\u0004vUd:\fObia&U\u0004{Csmr_AlYjah\u0006\u0011jYwmbC\u00058_r$hC\bl^dv&GAKSbqtO\u0015aunjrC\u0019lbnocHAvYs$g\u00062Y{M$rI\n}X/\rF`vuO\u000f\u007fidvtI\u0013\u0016\n.suU\u0004\"}d}OB\u0004vBhboC\u0013&<\u0002\u007fE9\n.|cH\u0002\"uhtnC\u0013NWmqc\u0018]7Ndje\u001c\"qFiatb\u0000lW?8)^\u0004vU;AhE\u0013aFuabm\u0004a\b$\n.suR[JSpqcU\u0015}RTjgR\u0015yUiabt\u0004~SsahE\u0004&<\u000eDrpYR\u000esSo[r_\u0011}\u000eDrpYR\u000esSo[r_\u0011}\u001b\nyahE[]Xbv\u007fV\u0015}RJa\u007f\u0006\u0016kC;Mb\u001bC".length();
                var1_4 = 73;
                var0_5 = -1;
lbl7:
                // 2 sources

                while (true) {
                    v0 = 67;
                    v1 = ++var0_5;
                    v2 = var2_2.substring(v1, v1 + var1_4);
                    v3 = -1;
                    break block9;
                    break;
                }
lbl13:
                // 1 sources

                while (true) {
                    var5[var3_1++] = ServerBuildRstrSoapResponse.c(v0, ServerBuildRstrSoapResponse.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    var2_2 = "\u0000|}|\u0016*bLggi_?}\u001csc`B\u0018(Kx~1\u000e\u0016\u0000$y\u007f_\u000e(wnwEH\u000e|HbheI\u0019,6";
                    var4_3 = "\u0000|}|\u0016*bLggi_?}\u001csc`B\u0018(Kx~1\u000e\u0016\u0000$y\u007f_\u000e(wnwEH\u000e|HbheI\u0019,6".length();
                    var1_4 = 26;
                    var0_5 = -1;
lbl22:
                    // 2 sources

                    while (true) {
                        v0 = 73;
                        v4 = ++var0_5;
                        v2 = var2_2.substring(v4, v4 + var1_4);
                        v3 = 0;
                        break block9;
                        break;
                    }
                    break;
                }
lbl28:
                // 1 sources

                while (true) {
                    var5[var3_1++] = ServerBuildRstrSoapResponse.c(v0, ServerBuildRstrSoapResponse.a(v2));
                    if ((var0_5 += var1_4) < var4_3) {
                        var1_4 = var2_2.charAt(var0_5);
                        ** continue;
                    }
                    break block10;
                    break;
                }
            }
            switch (v3) {
                default: {
                    ** continue;
                }
                ** case 0:
lbl39:
                // 1 sources

                ** continue;
            }
        }
        ServerBuildRstrSoapResponse.m = var5;
        ServerBuildRstrSoapResponse.f = ServerBuildRstrSoapResponse.m[87];
        ServerBuildRstrSoapResponse.g = ServerBuildRstrSoapResponse.m[99];
        ServerBuildRstrSoapResponse.i = ServerBuildRstrSoapResponse.m[46];
        ServerBuildRstrSoapResponse.e = ServerBuildRstrSoapResponse.m[73];
        ServerBuildRstrSoapResponse.h = ServerBuildRstrSoapResponse.m[112];
        ServerBuildRstrSoapResponse.d = ServerBuildRstrSoapResponse.m[24];
    }

    private static char[] a(String string) {
        char[] cArray = string.toCharArray();
        if (cArray.length < 2) {
            cArray = cArray;
            cArray[0] = (char)(cArray[0] ^ 0x5B);
        }
        return cArray;
    }

    /*
     * Handled impossible loop by duplicating code
     * Enabled aggressive block sorting
     */
    private static String c(int n2, char[] cArray) {
        char[] cArray2;
        block11: {
            int n3;
            int n4;
            int n5;
            block10: {
                n5 = n2;
                cArray2 = cArray;
                n4 = cArray.length;
                n3 = 0;
                if (!true) break block10;
                n4 = n4;
                if (n4 <= n3) break block11;
            }
            do {
                n5 = n5;
                cArray2 = cArray2;
                int n6 = n3;
                cArray2[n6] = (char)(cArray2[n6] ^ (n5 ^ (switch (n3 % 7) {
                    case 0 -> 117;
                    case 1 -> 66;
                    case 2 -> 71;
                    case 3 -> 69;
                    case 4 -> 101;
                    case 5 -> 34;
                    default -> 91;
                })));
                ++n3;
                n4 = n4;
            } while (n4 > n3);
        }
        return new String(cArray2).intern();
    }
}

