
{
  "origin": "8600b043320dbf667abd29db829273d3",
  "innernodes": {
    "8bd2326f-c0d1-44f9-b1fd-3b678c191f7d": {
      "_id": "8bd2326f-c0d1-44f9-b1fd-3b678c191f7d",
      "usernameAttribute": "userName",
      "validateInput": false,
      "_type": {
        "_id": "ValidatedUsernameNode",
        "name": "Platform Username",
        "collection": true
      },
      "_outcomes": [
        {
          "id": "outcome",
          "displayName": "Outcome"
        }
      ]
    },
    "141ada93-8134-496c-b6e9-6b2239c9a86f": {
      "_id": "141ada93-8134-496c-b6e9-6b2239c9a86f",
      "passwordAttribute": "password",
      "validateInput": false,
      "_type": {
        "_id": "ValidatedPasswordNode",
        "name": "Platform Password",
        "collection": true
      },
      "_outcomes": [
        {
          "id": "outcome",
          "displayName": "Outcome"
        }
      ]
    }
  },
  "nodes": {
    "1198b50f-538f-4447-a04c-cf30b6449780": {
      "_id": "1198b50f-538f-4447-a04c-cf30b6449780",
      "identityResource": "managed/alpha_user",
      "_type": {
        "_id": "CreateObjectNode",
        "name": "Create Object",
        "collection": true
      },
      "_outcomes": [
        {
          "id": "CREATED",
          "displayName": "Created"
        },
        {
          "id": "FAILURE",
          "displayName": "Failed"
        }
      ]
    },
    "1781bd9e-644c-4196-a49f-df650baa0d3b": {
      "_id": "1781bd9e-644c-4196-a49f-df650baa0d3b",
      "identityResource": "managed/alpha_user",
      "_type": {
        "_id": "RequiredAttributesDecisionNode",
        "name": "Required Attributes Present",
        "collection": true
      },
      "_outcomes": [
        {
          "id": "true",
          "displayName": "True"
        },
        {
          "id": "false",
          "displayName": "False"
        }
      ]
    },
    "8876a7ac-3820-47e6-91cb-37e8ccbad70b": {
      "_id": "8876a7ac-3820-47e6-91cb-37e8ccbad70b",
      "_type": {
        "_id": "DataStoreDecisionNode",
        "name": "Data Store Decision",
        "collection": true
      },
      "_outcomes": [
        {
          "id": "true",
          "displayName": "True"
        },
        {
          "id": "false",
          "displayName": "False"
        }
      ]
    },
    "8c23f1b4-5715-44a4-be19-c0254e423347": {
      "_id": "8c23f1b4-5715-44a4-be19-c0254e423347",
      "inputs": [
        "*"
      ],
      "outcomes": [
        "Valid",
        "Invalid",
        "Expired",
        "Disabled",
        "Error"
      ],
      "outputs": [
        "*"
      ],
      "script": "13cd3c60-a04b-4455-b028-fbfd01ed88b1",
      "_type": {
        "_id": "ScriptedDecisionNode",
        "name": "Scripted Decision",
        "collection": true
      },
      "_outcomes": [
        {
          "id": "Valid",
          "displayName": "Valid"
        },
        {
          "id": "Invalid",
          "displayName": "Invalid"
        },
        {
          "id": "Expired",
          "displayName": "Expired"
        },
        {
          "id": "Disabled",
          "displayName": "Disabled"
        },
        {
          "id": "Error",
          "displayName": "Error"
        }
      ]
    },
    "b17b65ef-0851-47fe-a8f9-ad50574fbac1": {
      "_id": "b17b65ef-0851-47fe-a8f9-ad50574fbac1",
      "nodes": [
        {
          "_id": "8bd2326f-c0d1-44f9-b1fd-3b678c191f7d",
          "nodeType": "ValidatedUsernameNode",
          "displayName": "Username"
        },
        {
          "_id": "141ada93-8134-496c-b6e9-6b2239c9a86f",
          "nodeType": "ValidatedPasswordNode",
          "displayName": "Password"
        }
      ],
      "pageDescription": {},
      "pageHeader": {},
      "_type": {
        "_id": "PageNode",
        "name": "Page Node",
        "collection": true
      },
      "_outcomes": [
        {
          "id": "outcome",
          "displayName": "Outcome"
        }
      ]
    },
    "c9f28f23-8ad7-462b-ba96-0591e5cf0df5": {
      "_id": "c9f28f23-8ad7-462b-ba96-0591e5cf0df5",
      "identifier": "userName",
      "identityAttribute": "userName",
      "_type": {
        "_id": "IdentifyExistingUserNode",
        "name": "Identify Existing User",
        "collection": true
      },
      "_outcomes": [
        {
          "id": "true",
          "displayName": "True"
        },
        {
          "id": "false",
          "displayName": "False"
        }
      ]
    },
    "e0d6b47b-9504-49fb-b069-58cec2985d3c": {
      "_id": "e0d6b47b-9504-49fb-b069-58cec2985d3c",
      "inputs": [
        "*"
      ],
      "outcomes": [
        "true",
        "false"
      ],
      "outputs": [
        "*"
      ],
      "script": "ae04e1a0-c662-43aa-9d80-21af78528b45",
      "_type": {
        "_id": "ScriptedDecisionNode",
        "name": "Scripted Decision",
        "collection": true
      },
      "_outcomes": [
        {
          "id": "true",
          "displayName": "true"
        },
        {
          "id": "false",
          "displayName": "false"
        }
      ]
    }
  },
  "scripts": {
    "13cd3c60-a04b-4455-b028-fbfd01ed88b1": {
      "_id": "13cd3c60-a04b-4455-b028-fbfd01ed88b1",
      "name": "AAD Passthru ROPC",
      "description": "Azure AD pass through authentication using Resource Owner Password Credential flow",
      "script": "LyogQUFEIFBhc3N0aHJ1IFJPUEMKICoKICogQXV0aG9yOiB2b2xrZXIuc2NoZXViZXJAZm9yZ2Vyb2NrLmNvbQogKiAKICogQXp1cmUgQUQgcGFzcyB0aHJvdWdoIGF1dGhlbnRpY2F0aW9uIHVzaW5nIFJlc291cmNlIE93bmVyIFBhc3N3b3JkIENyZWRlbnRpYWwgZmxvdwogKiAKICogVGhpcyBzY3JpcHQgbmVlZHMgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIG5vdCB3b3JrIHByb3Blcmx5IGFzIGlzLiAKICogSXQgcmVxdWlyZXMgdGhlIFBsYXRmb3JtIFVzZXJuYW1lIGFuZCBQbGF0Zm9ybSBQYXNzd29yZCBjb2xsZWN0b3Igbm9kZXMKICogYmVmb3JlIGl0IGNhbiBvcGVyYXRlLgogKiAKICogVGhlIFNjcmlwdGVkIERlY2lzaW9uIE5vZGUgbmVlZHMgdGhlIGZvbGxvd2luZyBvdXRjb21lcyBkZWZpbmVkOgogKiAtIFZhbGlkCiAqIC0gSW52YWxpZAogKiAtIEV4cGlyZWQKICogLSBEaXNhYmxlZAogKiAtIEVycm9yCiAqLwpsb2dnZXIubWVzc2FnZSgiQUFEIFBhc3N0aHJ1IFJPUEM6IHN0YXJ0Iik7CgppZiAoc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpICYmIHRyYW5zaWVudFN0YXRlLmdldCgicGFzc3dvcmQiKSkgewogIAkvKgogICAgICogQkVHSU4gU0NSSVBUIENPTkZJR1VSQVRJT04KICAgICAqCiAgICAgKiBSRVBMQUNFIFdJVEggWU9VUiBPV04gQVpVUkUgQUQgU0VUVElOR1MKICAgICAqCiAgICAgKiBBQURfVEVOQU5UX0lEIGlzIHlvdXIgdGVuYW50IElEOiBodHRwczovL2RvY3MubWljcm9zb2Z0LmNvbS9lbi11cy9henVyZS9hY3RpdmUtZGlyZWN0b3J5L2Z1bmRhbWVudGFscy9hY3RpdmUtZGlyZWN0b3J5LWhvdy10by1maW5kLXRlbmFudAogICAgICogQUFEX0NMSUVOVF9JRCBpcyB5b3VyIHJlZ2lzdGVyZWQgYXBwIElEOiBodHRwczovL2RvY3MubWljcm9zb2Z0LmNvbS9lbi11cy9henVyZS9hY3RpdmUtZGlyZWN0b3J5L2RldmVsb3AvcXVpY2tzdGFydC1yZWdpc3Rlci1hcHAKICAgICAqLwogICAgdmFyIEFBRF9URU5BTlRfSUQgPSAiNzZlZWY0ODQtNTRmNi00ZTE0LThhMTgtMmQxYTgzMzZjMGRkIjsKICAgIHZhciBBQURfQ0xJRU5UX0lEID0gIjFkZDU2ZjYyLTNmZmYtNDg3NS04MjExLWQ2NjUzZWIxYzM1NiI7CiAgICAvKgogICAgICogRU5EIFNDUklQVCBDT05GSUdVUkFUSU9OCiAgICAgKi8KICAJCiAgICAvLyBBenVyZSBBRCBST1BDIENvbmZpZ3VyYXRpb24KICAgIHZhciBBQURfU0NPUEUgPSAicHJvZmlsZSI7CiAgCXZhciBBQURfUkVTT1VSQ0UgPSAiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tLyIKICAgIHZhciBBQURfT0FVVEgyX1RPS0VOX1VSSSA9ICJodHRwczovL2xvZ2luLndpbmRvd3MubmV0LyIuY29uY2F0KEFBRF9URU5BTlRfSUQpLmNvbmNhdCgiL29hdXRoMi90b2tlbiIpOwoKICAgIHZhciByZXF1ZXN0ID0gbmV3IG9yZy5mb3JnZXJvY2suaHR0cC5wcm90b2NvbC5SZXF1ZXN0KCk7CiAgICByZXF1ZXN0LnNldE1ldGhvZCgnUE9TVCcpOwogICAgcmVxdWVzdC5zZXRVcmkoQUFEX09BVVRIMl9UT0tFTl9VUkkpOwogICAgcmVxdWVzdC5nZXRIZWFkZXJzKCkuYWRkKCJDb250ZW50LVR5cGUiLCAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIik7CiAgICB2YXIgcGFyYW1zID0gcmVxdWVzdC5nZXRGb3JtKCk7CiAgICBwYXJhbXMuYWRkKCJyZXNvdXJjZSIsIEFBRF9SRVNPVVJDRSk7CiAgICBwYXJhbXMuYWRkKCJjbGllbnRfaWQiLCBBQURfQ0xJRU5UX0lEKTsKICAgIHBhcmFtcy5hZGQoImdyYW50X3R5cGUiLCAicGFzc3dvcmQiKTsKICAgIHBhcmFtcy5hZGQoInNjb3BlIiwgQUFEX1NDT1BFKTsKICAgIHBhcmFtcy5hZGQoInVzZXJuYW1lIiwgc2hhcmVkU3RhdGUuZ2V0KCJ1c2VybmFtZSIpKTsKICAgIHBhcmFtcy5hZGQoInBhc3N3b3JkIiwgdHJhbnNpZW50U3RhdGUuZ2V0KCJwYXNzd29yZCIpKTsKICAgIHJlcXVlc3QuZ2V0RW50aXR5KCkuc2V0U3RyaW5nKHBhcmFtcy50b1N0cmluZygpKTsKCiAgICB2YXIgcmVzcG9uc2UgPSBodHRwQ2xpZW50LnNlbmQocmVxdWVzdCkuZ2V0KCk7CiAgICB2YXIgcmVzdWx0ID0gSlNPTi5wYXJzZShyZXNwb25zZS5nZXRFbnRpdHkoKS5nZXRTdHJpbmcoKSk7CiAgICAvL2xvZ2dlci5tZXNzYWdlKCJBQUQgUGFzc3RocnUgUk9QQzogSlNPTiByZXN1bHQ6ICIgKyBKU09OLnN0cmluZ2lmeShyZXN1bHQpKTsKCiAgCWlmIChyZXNwb25zZS5nZXRTdGF0dXMoKS5nZXRDb2RlKCkgPT09IDIwMCkgewogICAgICAJb3V0Y29tZSA9ICJWYWxpZCIKICAgICAgICB0cmFuc2llbnRTdGF0ZS5wdXQoImFhZEFjY2Vzc1Rva2VuIiwgcmVzdWx0LmFjY2Vzc190b2tlbik7CiAgICB9IGVsc2UgewogICAgICAgIC8qIE91dGNvbWVzOgogICAgICAgICAqIC0gVmFsaWQKICAgICAgICAgKiAtIEludmFsaWQKICAgICAgICAgKiAtIEV4cGlyZWQKICAgICAgICAgKiAtIERpc2FibGVkCiAgICAgICAgICogLSBFcnJvcgogICAgICAgICAqCiAgICAgICAgICogRXhwZWN0ZWQgRXJyb3IgQ29kZXM6CiAgICAgICAgICogNTAxMjYgLSBFcnJvciB2YWxpZGF0aW5nIGNyZWRlbnRpYWxzIGR1ZSB0byBpbnZhbGlkIHVzZXJuYW1lIG9yIHBhc3N3b3JkLgogICAgICAgICAqIDUwMDU1IC0gVGhlIHBhc3N3b3JkIGlzIGV4cGlyZWQuCiAgICAgICAgICogNTAwNTcgLSBUaGUgdXNlciBhY2NvdW50IGlzIGRpc2FibGVkLgogICAgICAgICAqIDUwMTk2IC0gVGhlIHNlcnZlciB0ZXJtaW5hdGVkIGFuIG9wZXJhdGlvbiBiZWNhdXNlIGl0IGVuY291bnRlcmVkIGEgY2xpZW50IHJlcXVlc3QgbG9vcC4gUGxlYXNlIGNvbnRhY3QgeW91ciBhcHAgdmVuZG9yLgogICAgICAgICAqLwogICAgICAgIGlmIChyZXN1bHQuZXJyb3JfY29kZXMuaW5jbHVkZXMoNTAxMjYpKSB7CiAgICAgICAgICAgIG91dGNvbWUgPSAiSW52YWxpZCI7CiAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQuZXJyb3JfY29kZXMuaW5jbHVkZXMoNTAwNTUpKSB7CiAgICAgICAgICAgIG91dGNvbWUgPSAiRXhwaXJlZCI7CiAgICAgICAgfSBlbHNlIGlmIChyZXN1bHQuZXJyb3JfY29kZXMuaW5jbHVkZXMoNTAwNTcpKSB7CiAgICAgICAgICAgIG91dGNvbWUgPSAiRGlzYWJsZWQiOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG91dGNvbWUgPSAiRXJyb3IiOwogICAgICAgIH0KICAgICAgICBsb2dnZXIubWVzc2FnZSgiQUFEIFBhc3N0aHJ1IFJPUEM6IGVycm9yID0gIi5jb25jYXQocmVzdWx0LmVycm9yKSk7CiAgICAgICAgbG9nZ2VyLm1lc3NhZ2UoIkFBRCBQYXNzdGhydSBST1BDOiBlcnJvcl9kZXNjcmlwdGlvbiA9ICIuY29uY2F0KHJlc3VsdC5lcnJvcl9kZXNjcmlwdGlvbikpOwogICAgICAgIGxvZ2dlci5tZXNzYWdlKCJBQUQgUGFzc3RocnUgUk9QQzogZXJyb3JfY29kZXMgPSAiLmNvbmNhdChyZXN1bHQuZXJyb3JfY29kZXMpKTsKICAgIH0KfSBlbHNlIHsKICAJb3V0Y29tZSA9ICJFcnJvciI7CiAgCWxvZ2dlci5tZXNzYWdlKCJBQUQgUGFzc3RocnUgUk9QQzogTm8gdXNlciBvciBwYXNzd29yZCBmb3VuZCBpbiBzaGFyZWQgc3RhdGUhIFVzZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQgY29sbGVjdG9yIG5vZGVzIGJlZm9yZSB0aGlzIHNjcmlwdCB0byBwb3B1bGF0ZSBzaGFyZWQgYW5kIHRyYW5zaWVudCBzdGF0ZXMhJyIpOwp9CmxvZ2dlci5tZXNzYWdlKCJBQUQgUGFzc3RocnUgUk9QQzogRW5kIChvdXRjb21lPSIuY29uY2F0KG91dGNvbWUpLmNvbmNhdCgiKSIpKTs=",
      "default": false,
      "language": "JAVASCRIPT",
      "context": "AUTHENTICATION_TREE_DECISION_NODE",
      "createdBy": "null",
      "creationDate": 0,
      "lastModifiedBy": "null",
      "lastModifiedDate": 0
    },
    "ae04e1a0-c662-43aa-9d80-21af78528b45": {
      "_id": "ae04e1a0-c662-43aa-9d80-21af78528b45",
      "name": "AAD Passthru Parse Access Token",
      "description": "Parse Access Token from Azure AD pass through authentication using the Resource Owner Password Credential flow",
      "script": "LyogQUFEIFBhc3N0aHJ1IFBhcnNlIEFjY2VzcyBUb2tlbgogKgogKiBBdXRob3I6IHZvbGtlci5zY2hldWJlckBmb3JnZXJvY2suY29tCiAqIAogKiBQYXJzZSBBY2Nlc3MgVG9rZW4gZnJvbSBBenVyZSBBRCBwYXNzIHRocm91Z2ggYXV0aGVudGljYXRpb24gdXNpbmcgdGhlIAogKiBSZXNvdXJjZSBPd25lciBQYXNzd29yZCBDcmVkZW50aWFsIGZsb3cKICogCiAqIFRoaXMgc2NyaXB0IGRvZXMgbm90IG5lZWQgdG8gYmUgcGFyYW1ldHJpemVkLiBJdCB3aWxsIHdvcmsgcHJvcGVybHkgYXMgaXMuIAogKiBJdCByZXF1aXJlcyB0aGUgQUFEIFBhc3N0aHJ1IFJPUEMgc2NyaXB0IHRvIHJ1biBiZWZvcmUgYW5kIGZpbmlzaCB3aXRoIHRoZSAKICogIlZhbGlkIiBvdXRjb21lIChvbmx5IG91dGNvbWUgdGhhdCByZXN1bHRzIGluIGFuIGFjY2VzcyB0b2tlbikuCiAqIAogKiBUaGUgU2NyaXB0ZWQgRGVjaXNpb24gTm9kZSBuZWVkcyB0aGUgZm9sbG93aW5nIG91dGNvbWVzIGRlZmluZWQ6CiAqIC0gdHJ1ZQogKiAtIGZhbHNlCiAqLwpsb2dnZXIubWVzc2FnZSgiQUFEIFBhc3N0aHJ1IFBhcnNlIEFjY2VzcyBUb2tlbjogc3RhcnQiKTsKCi8qCiAqIEJhc2U2NCBlbmNvZGUgLyBkZWNvZGUKICogIGh0dHA6Ly93d3cud2VidG9vbGtpdC5pbmZvLwogKiAKICogVXNhZ2U6CiAqIEJhc2U2NC5lbmNvZGUoJ3NvbWUgc3RyaW5nJykKICogQmFzZTY0LmRlY29kZSgnc29tZSBlbmNvZGVkIHN0cmluZycpCiAqLwp2YXIgQmFzZTY0PXtfa2V5U3RyOiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSIsZW5jb2RlOmZ1bmN0aW9uKGlucHV0KXt2YXIgb3V0cHV0PSIiO3ZhciBjaHIxLGNocjIsY2hyMyxlbmMxLGVuYzIsZW5jMyxlbmM0O3ZhciBpPTA7aW5wdXQ9QmFzZTY0Ll91dGY4X2VuY29kZShpbnB1dCk7d2hpbGUoaTxpbnB1dC5sZW5ndGgpe2NocjE9aW5wdXQuY2hhckNvZGVBdChpKyspO2NocjI9aW5wdXQuY2hhckNvZGVBdChpKyspO2NocjM9aW5wdXQuY2hhckNvZGVBdChpKyspO2VuYzE9Y2hyMT4+MjtlbmMyPShjaHIxJjMpPDw0fGNocjI+PjQ7ZW5jMz0oY2hyMiYxNSk8PDJ8Y2hyMz4+NjtlbmM0PWNocjMmNjM7aWYoaXNOYU4oY2hyMikpe2VuYzM9ZW5jND02NH1lbHNlIGlmKGlzTmFOKGNocjMpKXtlbmM0PTY0fW91dHB1dD1vdXRwdXQrdGhpcy5fa2V5U3RyLmNoYXJBdChlbmMxKSt0aGlzLl9rZXlTdHIuY2hhckF0KGVuYzIpK3RoaXMuX2tleVN0ci5jaGFyQXQoZW5jMykrdGhpcy5fa2V5U3RyLmNoYXJBdChlbmM0KX1yZXR1cm4gb3V0cHV0fSxkZWNvZGU6ZnVuY3Rpb24oaW5wdXQpe3ZhciBvdXRwdXQ9IiI7dmFyIGNocjEsY2hyMixjaHIzO3ZhciBlbmMxLGVuYzIsZW5jMyxlbmM0O3ZhciBpPTA7aW5wdXQ9aW5wdXQucmVwbGFjZSgvW15BLVphLXowLTlcK1wvXD1dL2csIiIpO3doaWxlKGk8aW5wdXQubGVuZ3RoKXtlbmMxPXRoaXMuX2tleVN0ci5pbmRleE9mKGlucHV0LmNoYXJBdChpKyspKTtlbmMyPXRoaXMuX2tleVN0ci5pbmRleE9mKGlucHV0LmNoYXJBdChpKyspKTtlbmMzPXRoaXMuX2tleVN0ci5pbmRleE9mKGlucHV0LmNoYXJBdChpKyspKTtlbmM0PXRoaXMuX2tleVN0ci5pbmRleE9mKGlucHV0LmNoYXJBdChpKyspKTtjaHIxPWVuYzE8PDJ8ZW5jMj4+NDtjaHIyPShlbmMyJjE1KTw8NHxlbmMzPj4yO2NocjM9KGVuYzMmMyk8PDZ8ZW5jNDtvdXRwdXQ9b3V0cHV0K1N0cmluZy5mcm9tQ2hhckNvZGUoY2hyMSk7aWYoZW5jMyE9NjQpe291dHB1dD1vdXRwdXQrU3RyaW5nLmZyb21DaGFyQ29kZShjaHIyKX1pZihlbmM0IT02NCl7b3V0cHV0PW91dHB1dCtTdHJpbmcuZnJvbUNoYXJDb2RlKGNocjMpfX1vdXRwdXQ9QmFzZTY0Ll91dGY4X2RlY29kZShvdXRwdXQpO3JldHVybiBvdXRwdXR9LF91dGY4X2VuY29kZTpmdW5jdGlvbihzdHJpbmcpe3N0cmluZz1zdHJpbmcucmVwbGFjZSgvXHJcbi9nLCJcbiIpO3ZhciB1dGZ0ZXh0PSIiO2Zvcih2YXIgbj0wO248c3RyaW5nLmxlbmd0aDtuKyspe3ZhciBjPXN0cmluZy5jaGFyQ29kZUF0KG4pO2lmKGM8MTI4KXt1dGZ0ZXh0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKGMpfWVsc2UgaWYoYz4xMjcmJmM8MjA0OCl7dXRmdGV4dCs9U3RyaW5nLmZyb21DaGFyQ29kZShjPj42fDE5Mik7dXRmdGV4dCs9U3RyaW5nLmZyb21DaGFyQ29kZShjJjYzfDEyOCl9ZWxzZXt1dGZ0ZXh0Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKGM+PjEyfDIyNCk7dXRmdGV4dCs9U3RyaW5nLmZyb21DaGFyQ29kZShjPj42JjYzfDEyOCk7dXRmdGV4dCs9U3RyaW5nLmZyb21DaGFyQ29kZShjJjYzfDEyOCl9fXJldHVybiB1dGZ0ZXh0fSxfdXRmOF9kZWNvZGU6ZnVuY3Rpb24odXRmdGV4dCl7dmFyIHN0cmluZz0iIjt2YXIgaT0wO3ZhciBjPWMxPWMyPTA7d2hpbGUoaTx1dGZ0ZXh0Lmxlbmd0aCl7Yz11dGZ0ZXh0LmNoYXJDb2RlQXQoaSk7aWYoYzwxMjgpe3N0cmluZys9U3RyaW5nLmZyb21DaGFyQ29kZShjKTtpKyt9ZWxzZSBpZihjPjE5MSYmYzwyMjQpe2MyPXV0ZnRleHQuY2hhckNvZGVBdChpKzEpO3N0cmluZys9U3RyaW5nLmZyb21DaGFyQ29kZSgoYyYzMSk8PDZ8YzImNjMpO2krPTJ9ZWxzZXtjMj11dGZ0ZXh0LmNoYXJDb2RlQXQoaSsxKTtjMz11dGZ0ZXh0LmNoYXJDb2RlQXQoaSsyKTtzdHJpbmcrPVN0cmluZy5mcm9tQ2hhckNvZGUoKGMmMTUpPDwxMnwoYzImNjMpPDw2fGMzJjYzKTtpKz0zfX1yZXR1cm4gc3RyaW5nfX07CgpvdXRjb21lID0gImZhbHNlIjsKaWYgKHRyYW5zaWVudFN0YXRlLmdldCgiYWFkQWNjZXNzVG9rZW4iKSkgewogIAl0cnkgewogICAgICAgIHZhciBqc29uVG9rZW4gPSBwYXJzZUp3dCh0cmFuc2llbnRTdGF0ZS5nZXQoImFhZEFjY2Vzc1Rva2VuIikudG9TdHJpbmcoKSk7CiAgICAgICAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKCJnaXZlbk5hbWUiLCBqc29uVG9rZW4uZ2l2ZW5fbmFtZSk7CiAgICAgICAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKCJzbiIsIGpzb25Ub2tlbi5mYW1pbHlfbmFtZSk7CiAgICAgICAgc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKCJtYWlsIiwganNvblRva2VuLnVuaXF1ZV9uYW1lKTsKICAgICAgICBvdXRjb21lID0gInRydWUiCiAgICB9IGNhdGNoIChlKSB7CgkJbG9nZ2VyLm1lc3NhZ2UoIkFBRCBQYXNzdGhydSBQYXJzZSBBY2Nlc3MgVG9rZW46IEV4Y2VwdGlvbjogIi5jb25jYXQoZSkpOwogICAgfQp9IGVsc2UgewogIAlvdXRjb21lID0gImZhbHNlIjsKICAJbG9nZ2VyLm1lc3NhZ2UoIkFBRCBQYXNzdGhydSBQYXJzZSBBY2Nlc3MgVG9rZW46IE5vIGFjY2VzcyB0b2tlbiBmb3VuZCBpbiB0cmFuc2llbnQgc3RhdGUhIFVzZSBST1BDIHNjcmlwdCBiZWZvcmUgdGhpcyBzY3JpcHQgdG8gcG9wdWxhdGUgdHJhbnNpZW50IHN0YXRlISciKTsKfQpsb2dnZXIubWVzc2FnZSgiQUFEIFBhc3N0aHJ1IFBhcnNlIEFjY2VzcyBUb2tlbjogRW5kIChvdXRjb21lPSIuY29uY2F0KG91dGNvbWUpLmNvbmNhdCgiKSIpKTsKCi8qCiAqIFBhcnNlIGEgbm9uLWVuY3J5cHRlZCBKV1QgdG9rZW4gYW5kIHJldHVybiBpdHMgSlNPTiBib2R5IHdpdGhvdXQgaGVhZGVyIGFuZCBzaWduYXR1cmUKICovCmZ1bmN0aW9uIHBhcnNlSnd0ICh0b2tlbikgewogIAlyZXR1cm4gSlNPTi5wYXJzZShCYXNlNjQuZGVjb2RlKCIiLmNvbmNhdCh0b2tlbikuc3BsaXQoJy4nKVsxXSkucmVwbGFjZSgvXDAvZywgJycpKTsKfQoKLyoKICogU3RvcmUgYXR0cmlidXRlcyBpbiBzaGFyZWQgc3RhdGUgZm9yIHVzZSB3aXRoIHRoZSBDcmVhdGUvUGF0Y2ggT2JqZWN0IG5vZGVzLgogKi8KZnVuY3Rpb24gc2V0U2hhcmVkT2JqZWN0QXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7CiAgCSB2YXIgc3RvcmFnZSA9IHNoYXJlZFN0YXRlLmdldCgib2JqZWN0QXR0cmlidXRlcyIpOwogICAgaWYgKHN0b3JhZ2UgJiYgdmFsdWUpIHsKICAgICAgCWlmIChzdG9yYWdlLnB1dCkgewoJICAgICAgICAgIHN0b3JhZ2UucHV0KG5hbWUsIHZhbHVlKTsKICAgICAgICB9CiAgICAgIAllbHNlIHsKICAgICAgICAgIAlzdG9yYWdlW25hbWVdID0gdmFsdWU7CiAgICAgICAgfQogICAgfQogICAgZWxzZSBpZiAodmFsdWUpIHsKICAgICAgICBzaGFyZWRTdGF0ZS5wdXQoIm9iamVjdEF0dHJpYnV0ZXMiLCBKU09OLnBhcnNlKCJ7XCIiK25hbWUrIlwiOlwiIit2YWx1ZSsiXCJ9IikpOwogICAgfQp9",
      "default": false,
      "language": "JAVASCRIPT",
      "context": "AUTHENTICATION_TREE_DECISION_NODE",
      "createdBy": "null",
      "creationDate": 0,
      "lastModifiedBy": "null",
      "lastModifiedDate": 0
    }
  },
  "emailTemplates": {},
  "tree": {
    "_id": "AzureADPassthru",
    "entryNodeId": "b17b65ef-0851-47fe-a8f9-ad50574fbac1",
    "nodes": {
      "1198b50f-538f-4447-a04c-cf30b6449780": {
        "x": 1317,
        "y": 215.015625,
        "connections": {
          "CREATED": "70e691a5-1e33-4ac3-a356-e7b6d60d92e0",
          "FAILURE": "e301438c-0bd0-429c-ab0c-66126501069a"
        },
        "nodeType": "CreateObjectNode",
        "displayName": "Migrate Account"
      },
      "1781bd9e-644c-4196-a49f-df650baa0d3b": {
        "x": 1084,
        "y": 266.015625,
        "connections": {
          "false": "e301438c-0bd0-429c-ab0c-66126501069a",
          "true": "1198b50f-538f-4447-a04c-cf30b6449780"
        },
        "nodeType": "RequiredAttributesDecisionNode",
        "displayName": "Required Attributes?"
      },
      "8876a7ac-3820-47e6-91cb-37e8ccbad70b": {
        "x": 619,
        "y": 115.015625,
        "connections": {
          "false": "e301438c-0bd0-429c-ab0c-66126501069a",
          "true": "70e691a5-1e33-4ac3-a356-e7b6d60d92e0"
        },
        "nodeType": "DataStoreDecisionNode",
        "displayName": "Authenticate Locally"
      },
      "8c23f1b4-5715-44a4-be19-c0254e423347": {
        "x": 614,
        "y": 319.015625,
        "connections": {
          "Disabled": "e301438c-0bd0-429c-ab0c-66126501069a",
          "Error": "e301438c-0bd0-429c-ab0c-66126501069a",
          "Expired": "e301438c-0bd0-429c-ab0c-66126501069a",
          "Invalid": "e301438c-0bd0-429c-ab0c-66126501069a",
          "Valid": "e0d6b47b-9504-49fb-b069-58cec2985d3c"
        },
        "nodeType": "ScriptedDecisionNode",
        "displayName": "Authenticate Remotely"
      },
      "b17b65ef-0851-47fe-a8f9-ad50574fbac1": {
        "x": 168,
        "y": 201.015625,
        "connections": {
          "outcome": "c9f28f23-8ad7-462b-ba96-0591e5cf0df5"
        },
        "nodeType": "PageNode",
        "displayName": "Login Page"
      },
      "c9f28f23-8ad7-462b-ba96-0591e5cf0df5": {
        "x": 385,
        "y": 233.015625,
        "connections": {
          "false": "8c23f1b4-5715-44a4-be19-c0254e423347",
          "true": "8876a7ac-3820-47e6-91cb-37e8ccbad70b"
        },
        "nodeType": "IdentifyExistingUserNode",
        "displayName": "Identify Existing User"
      },
      "e0d6b47b-9504-49fb-b069-58cec2985d3c": {
        "x": 858,
        "y": 327.015625,
        "connections": {
          "false": "e301438c-0bd0-429c-ab0c-66126501069a",
          "true": "1781bd9e-644c-4196-a49f-df650baa0d3b"
        },
        "nodeType": "ScriptedDecisionNode",
        "displayName": "Parse Access Token"
      }
    },
    "staticNodes": {
      "startNode": {
        "x": 50,
        "y": 250
      },
      "70e691a5-1e33-4ac3-a356-e7b6d60d92e0": {
        "x": 1597,
        "y": 138
      },
      "e301438c-0bd0-429c-ab0c-66126501069a": {
        "x": 1593,
        "y": 450
      }
    },
    "description": "Use Azure AD pass through authentication.",
    "identityResource": "managed/alpha_user",
    "uiConfig": {}
  }
}
