{
  "ins": "num1, num2",
  "out": "output",
  "verbose": 0,
  "do": [
    {
      "parallel": [
        {
          "do": [
            {
              "if": "num1 >= num2",
              "do": [
                "num2 --> bottom",
                "num1 --> top"
              ],
              "else": [
                "num1 --> bottom",
                "num2 --> top"
              ]
            },
            "[] --> evens",
            "bottom --> x",
            {
              "do": [
                {
                  "if": "x%2 == 0",
                  "do": "x --> evens[evens.length]"
                },
                "x+1 --> x"
              ],
              "while": "x <= top"
            }
          ]
        },
        "[$.loadJs(_chain_cwd+\"circle.js\")] -> info.circle",
        "(7) -> [$.loadJs(_chain_cwd+\"circle.js\", \"area\")] -> info.area"
      ]
    },
    "(evens, \", \") -> {$.join} -> info.evens",
    "(\"Hello \", \"world\") -> {$.concat} -> info[\"helloWorld\"]",
    {
      "ins": [
        "Hello ",
        "sekai"
      ],
      "out": "info[\"helloSekai\"]",
      "do": "{$.concat}"
    },
    "(_chain_cwd+\"square.chiml\", 10) -> [_runChain] -> info.square",
    "([info.helloWorld, info.helloSekai, info.evens, info.circle, info.area, info.square], \"\\n\") -> {$.join} -> output"
  ],
  "catch": "typeof(num1) !== \"number\" || typeof(num2) !== \"number\"",
  "throw": "num1 dan num2 should be number"
}
