{
  "kind": "hwanse-hud-input-consumer-boundary-review",
  "source": "tools/build_hud_input_consumer_boundary_review.py",
  "exe": "/home/exedev/hwanse/Hwanse2.exe",
  "status": "input-consumers-grounded-opener-still-unproven",
  "summary": {
    "inputConsumerFunctionCount": 13,
    "cancelBackHandlerVaHex": "0x0040c6cc",
    "cancelBitHex": "0x0200",
    "cancelBackClearsBit": true,
    "cancelBackUsesActiveDescriptorCursor": true,
    "cancelBackReferencesActiveCount": true,
    "cancelBackReferencesSlotPointers": true,
    "cancelBackCallsAddDescriptor": false,
    "cancelBackReferencesTopMenuSequence": false,
    "menuInternalDispatcherUsesCancelBit": true,
    "menuInternalCallsAddDescriptor": false,
    "directionSelectorUsesCancelBit": false,
    "inputConsumersCallingAddDescriptor": 0,
    "inputConsumersReferencingTopMenuSequence": 0,
    "normalFieldEscOpenerPromoted": false,
    "classification": "input/cancel consumers grounded; opener producer still unproven",
    "decision": "0x0200 ESC/X edge bit의 주요 소비자는 메뉴 최초 opener가 아니라 active descriptor stack을 되감는 cancel/back 경계다. 0x0040c6cc는 bit clear, active cursor scan, focus in/out 호출만 수행하며 addDescriptor/top-menu sequence 근거가 없다. 0x0041d61b도 이미 열린 메뉴 내부 selector dispatcher로 분류된다."
  },
  "keyFunctions": [
    {
      "label": "0x0200 cancel/back consumer",
      "functionVaHex": "0x0040c6cc",
      "endVaHex": "0x0040c948",
      "size": 636,
      "classification": "cancel/back-active-descriptor-unwind",
      "refHits": {
        "input.edgeActionMask": [
          "0x0040c746",
          "0x0040c757",
          "0x0040c762"
        ],
        "descriptor.activeCount": [
          "0x0040c86c",
          "0x0040c8b8"
        ],
        "descriptor.activeCursor": [
          "0x0040c6eb",
          "0x0040c778",
          "0x0040c78c",
          "0x0040c79a",
          "0x0040c7a1",
          "0x0040c7c7",
          "0x0040c7e4",
          "0x0040c81c",
          "0x0040c839",
          "0x0040c875",
          "0x0040c883",
          "0x0040c89d",
          "0x0040c8a9",
          "0x0040c8b0",
          "0x0040c8c7",
          "0x0040c8e4"
        ],
        "descriptor.slotPointers": [
          "0x0040c6f2",
          "0x0040c7a8",
          "0x0040c7ce",
          "0x0040c7eb",
          "0x0040c823",
          "0x0040c840",
          "0x0040c8ce",
          "0x0040c8eb"
        ]
      },
      "callHits": {
        "focusOut": [
          "0x0040c7f3",
          "0x0040c8f3"
        ],
        "focusIn": [
          "0x0040c848"
        ]
      },
      "callTargets": [
        {
          "callVaHex": "0x0040c7f3",
          "targetVaHex": "0x00422093"
        },
        {
          "callVaHex": "0x0040c848",
          "targetVaHex": "0x004226e9"
        },
        {
          "callVaHex": "0x0040c8f3",
          "targetVaHex": "0x00422093"
        }
      ],
      "cancelBitTestVasHex": [
        "0x0040c744"
      ],
      "cancelBitClearVasHex": [
        "0x0040c755"
      ],
      "hasCancelBitTest": true,
      "hasCancelBitClear": true,
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "note": "Consumes and clears edge input bit 0x0200, rewrites object+0x40 to the stream continuation, decrements/scans active descriptor cursor 0x0059e33e, and calls focus routines 0x00422093/0x004226e9. It has no call to addDescriptor and no top-menu sequence reference."
    },
    {
      "label": "menu-internal selector dispatcher",
      "functionVaHex": "0x0041d61b",
      "endVaHex": "0x0041d888",
      "size": 621,
      "classification": "already-open-menu-dispatcher",
      "refHits": {
        "input.edgeActionMask": [
          "0x0041d6ff",
          "0x0041d70a",
          "0x0041d712",
          "0x0041d71b",
          "0x0041d723",
          "0x0041d797",
          "0x0041d7b2",
          "0x0041d807",
          "0x0041d812",
          "0x0041d82e",
          "0x0041d851",
          "0x0041d85c"
        ],
        "descriptor.tempState": [
          "0x0041d7e4",
          "0x0041d849"
        ]
      },
      "callHits": {
        "menuResult": [
          "0x0041d7da",
          "0x0041d83f"
        ],
        "menuCursorApply": [
          "0x0041d7a6"
        ]
      },
      "callTargets": [
        {
          "callVaHex": "0x0041d7a6",
          "targetVaHex": "0x004106ba"
        },
        {
          "callVaHex": "0x0041d7da",
          "targetVaHex": "0x0042af73"
        },
        {
          "callVaHex": "0x0041d83f",
          "targetVaHex": "0x0042af73"
        }
      ],
      "cancelBitTestVasHex": [
        "0x0041d7b0"
      ],
      "cancelBitClearVasHex": [
        "0x0041d805"
      ],
      "hasCancelBitTest": true,
      "hasCancelBitClear": true,
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "note": "Uses 0x0200 only inside an object payload dispatcher after menu state exists. It calls 0x0042af73, writes 0x0059dd6c, marks object+0xa8[...] = 0xff, clears the bit, and advances object+0xb0."
    },
    {
      "label": "direction edge selector",
      "functionVaHex": "0x0040b13b",
      "endVaHex": "0x0040b2c5",
      "size": 394,
      "classification": "direction-navigation-only",
      "refHits": {
        "input.edgeActionMask": [
          "0x0040b167",
          "0x0040b189",
          "0x0040b1b3",
          "0x0040b1d5",
          "0x0040b1ff",
          "0x0040b221",
          "0x0040b246",
          "0x0040b26b"
        ]
      },
      "callHits": {
        "cursorMove": [
          "0x0040b17d",
          "0x0040b1a2",
          "0x0040b1c9",
          "0x0040b1ee",
          "0x0040b215",
          "0x0040b23a",
          "0x0040b25f",
          "0x0040b284"
        ]
      },
      "callTargets": [
        {
          "callVaHex": "0x0040b17d",
          "targetVaHex": "0x00410570"
        },
        {
          "callVaHex": "0x0040b1a2",
          "targetVaHex": "0x00410570"
        },
        {
          "callVaHex": "0x0040b1c9",
          "targetVaHex": "0x00410570"
        },
        {
          "callVaHex": "0x0040b1ee",
          "targetVaHex": "0x00410570"
        },
        {
          "callVaHex": "0x0040b215",
          "targetVaHex": "0x00410570"
        },
        {
          "callVaHex": "0x0040b23a",
          "targetVaHex": "0x00410570"
        },
        {
          "callVaHex": "0x0040b25f",
          "targetVaHex": "0x00410570"
        },
        {
          "callVaHex": "0x0040b284",
          "targetVaHex": "0x00410570"
        }
      ],
      "cancelBitTestVasHex": [],
      "cancelBitClearVasHex": [],
      "hasCancelBitTest": false,
      "hasCancelBitClear": false,
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "note": "Consumes direction edge bits 0x1/0x2/0x4/0x8 and calls 0x00410570 with direction indexes. It does not test 0x0200 and does not add descriptors."
    }
  ],
  "inputConsumerFunctions": [
    {
      "functionVaHex": "0x004042b6",
      "endVaHex": "0x004043c5",
      "edgeRefsHex": [
        "0x004042dd",
        "0x00404340"
      ],
      "currentRefsHex": [],
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "knownRole": "input consumer"
    },
    {
      "functionVaHex": "0x004063fc",
      "endVaHex": "0x0040641b",
      "edgeRefsHex": [],
      "currentRefsHex": [
        "0x0040640b"
      ],
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "knownRole": "input consumer"
    },
    {
      "functionVaHex": "0x0040b13b",
      "endVaHex": "0x0040b2c5",
      "edgeRefsHex": [
        "0x0040b167",
        "0x0040b189",
        "0x0040b1b3",
        "0x0040b1d5",
        "0x0040b1ff",
        "0x0040b221",
        "0x0040b246",
        "0x0040b26b"
      ],
      "currentRefsHex": [],
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "knownRole": "direction selector"
    },
    {
      "functionVaHex": "0x0040c6cc",
      "endVaHex": "0x0040c948",
      "edgeRefsHex": [
        "0x0040c746",
        "0x0040c757",
        "0x0040c762"
      ],
      "currentRefsHex": [],
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "knownRole": "cancel/back consumer"
    },
    {
      "functionVaHex": "0x00410570",
      "endVaHex": "0x004106ba",
      "edgeRefsHex": [],
      "currentRefsHex": [
        "0x004106a8"
      ],
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "knownRole": "input consumer"
    },
    {
      "functionVaHex": "0x0041b82a",
      "endVaHex": "0x0041b8ee",
      "edgeRefsHex": [
        "0x0041b84c"
      ],
      "currentRefsHex": [],
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "knownRole": "input consumer"
    },
    {
      "functionVaHex": "0x0041b8ee",
      "endVaHex": "0x0041b956",
      "edgeRefsHex": [
        "0x0041b907",
        "0x0041b924"
      ],
      "currentRefsHex": [],
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "knownRole": "input consumer"
    },
    {
      "functionVaHex": "0x0041d61b",
      "endVaHex": "0x0041d888",
      "edgeRefsHex": [
        "0x0041d6ff",
        "0x0041d70a",
        "0x0041d712",
        "0x0041d71b",
        "0x0041d723",
        "0x0041d797",
        "0x0041d7b2",
        "0x0041d807",
        "0x0041d812",
        "0x0041d82e",
        "0x0041d851",
        "0x0041d85c"
      ],
      "currentRefsHex": [],
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "knownRole": "menu-internal dispatcher"
    },
    {
      "functionVaHex": "0x0041d89d",
      "endVaHex": "0x0041d962",
      "edgeRefsHex": [],
      "currentRefsHex": [
        "0x0041d8c5"
      ],
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "knownRole": "input consumer"
    },
    {
      "functionVaHex": "0x0041f073",
      "endVaHex": "0x0041f329",
      "edgeRefsHex": [
        "0x0041f092",
        "0x0041f0c6"
      ],
      "currentRefsHex": [],
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "knownRole": "input consumer"
    },
    {
      "functionVaHex": "0x00422d74",
      "endVaHex": "0x00422de0",
      "edgeRefsHex": [
        "0x00422d8b",
        "0x00422daf",
        "0x00422dc0"
      ],
      "currentRefsHex": [
        "0x00422d9b",
        "0x00422da1"
      ],
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "knownRole": "input poll driver"
    },
    {
      "functionVaHex": "0x00423127",
      "endVaHex": "0x00423319",
      "edgeRefsHex": [],
      "currentRefsHex": [
        "0x004232a5",
        "0x004232dc"
      ],
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "knownRole": "input consumer"
    },
    {
      "functionVaHex": "0x0043022d",
      "endVaHex": "0x004319f8",
      "edgeRefsHex": [],
      "currentRefsHex": [
        "0x0043038e",
        "0x0043039e",
        "0x004303ae",
        "0x004303b7",
        "0x004303bf",
        "0x004303c8",
        "0x004303d0",
        "0x004303e0",
        "0x004303f0",
        "0x004303f9",
        "0x00430401",
        "0x0043040a",
        "0x00430412",
        "0x00430429",
        "0x00430440",
        "0x00430457",
        "0x004304df",
        "0x004304fe",
        "0x00430660",
        "0x0043067f",
        "0x00430806",
        "0x00430825",
        "0x004309c8",
        "0x004309e7"
      ],
      "callsAddDescriptor": false,
      "referencesTopMenuSequence": false,
      "knownRole": "field movement/collision controller"
    }
  ],
  "refsByName": {
    "input.currentActionMask": [
      "0x0040640b",
      "0x004106a8",
      "0x0041d8c5",
      "0x00422d9b",
      "0x00422da1",
      "0x004232a5",
      "0x004232dc",
      "0x0043038e",
      "0x0043039e",
      "0x004303ae",
      "0x004303b7",
      "0x004303bf",
      "0x004303c8",
      "0x004303d0",
      "0x004303e0",
      "0x004303f0",
      "0x004303f9",
      "0x00430401",
      "0x0043040a",
      "0x00430412",
      "0x00430429",
      "0x00430440",
      "0x00430457",
      "0x004304df",
      "0x004304fe",
      "0x00430660",
      "0x0043067f",
      "0x00430806",
      "0x00430825",
      "0x004309c8",
      "0x004309e7"
    ],
    "input.edgeActionMask": [
      "0x004042dd",
      "0x00404340",
      "0x0040b167",
      "0x0040b189",
      "0x0040b1b3",
      "0x0040b1d5",
      "0x0040b1ff",
      "0x0040b221",
      "0x0040b246",
      "0x0040b26b",
      "0x0040c746",
      "0x0040c757",
      "0x0040c762",
      "0x0041b84c",
      "0x0041b907",
      "0x0041b924",
      "0x0041d6ff",
      "0x0041d70a",
      "0x0041d712",
      "0x0041d71b",
      "0x0041d723",
      "0x0041d797",
      "0x0041d7b2",
      "0x0041d807",
      "0x0041d812",
      "0x0041d82e",
      "0x0041d851",
      "0x0041d85c",
      "0x0041f092",
      "0x0041f0c6",
      "0x00422d8b",
      "0x00422daf",
      "0x00422dc0"
    ],
    "descriptor.activeCount": [
      "0x00406b91",
      "0x00406cce",
      "0x00407d24",
      "0x004081de",
      "0x00408372",
      "0x0040849d",
      "0x00408782",
      "0x00408a1d",
      "0x00408a3b",
      "0x00408c30",
      "0x00408d2b",
      "0x00408ec7",
      "0x0040a3b9",
      "0x0040a5ae",
      "0x0040a798",
      "0x0040a98e",
      "0x0040ab84",
      "0x0040acf2",
      "0x0040bce8",
      "0x0040bcf7",
      "0x0040bd37",
      "0x0040bd6b",
      "0x0040be53",
      "0x0040c2e2",
      "0x0040c3b3",
      "0x0040c422",
      "0x0040c480",
      "0x0040c86c",
      "0x0040c8b8",
      "0x0040c96c",
      "0x0040d428",
      "0x0040d6b3",
      "0x0040d6e5",
      "0x0040d772",
      "0x0040dbba",
      "0x0040dd2a",
      "0x0040dea4",
      "0x0040e02e",
      "0x0040e0e4",
      "0x0040eb23",
      "0x0040f058",
      "0x0040f0c6",
      "0x0040f14c",
      "0x0040f8b3",
      "0x00410542",
      "0x00410cf3",
      "0x00410d69",
      "0x0041de99",
      "0x0041e970",
      "0x004204e7",
      "0x00430150",
      "0x00430239",
      "0x0043026a",
      "0x00431185",
      "0x0043146f",
      "0x004319bc",
      "0x00431ff4",
      "0x00432013",
      "0x00432073",
      "0x00432163",
      "0x00432184",
      "0x00432191",
      "0x00432198",
      "0x004321b8",
      "0x004322a2",
      "0x00432385",
      "0x004323a5",
      "0x004323c8",
      "0x004324b2",
      "0x0043254d",
      "0x0043256b",
      "0x0043264f",
      "0x00432685",
      "0x004326c4",
      "0x004326cb",
      "0x004326ea",
      "0x0043270a",
      "0x004327f4",
      "0x00433491",
      "0x004334e2",
      "0x00433b37",
      "0x00433b68",
      "0x00433b9b",
      "0x00433e22",
      "0x00433ea5",
      "0x00435606"
    ],
    "descriptor.activeCursor": [
      "0x0040b6a2",
      "0x0040b780",
      "0x0040b7a1",
      "0x0040b7e0",
      "0x0040b802",
      "0x0040c53b",
      "0x0040c599",
      "0x0040c6eb",
      "0x0040c778",
      "0x0040c78c",
      "0x0040c79a",
      "0x0040c7a1",
      "0x0040c7c7",
      "0x0040c7e4",
      "0x0040c81c",
      "0x0040c839",
      "0x0040c875",
      "0x0040c883",
      "0x0040c89d",
      "0x0040c8a9",
      "0x0040c8b0",
      "0x0040c8c7",
      "0x0040c8e4",
      "0x0040f588",
      "0x0040f5b6",
      "0x0040f688",
      "0x0040f8aa",
      "0x0040f8f2",
      "0x0040faac",
      "0x0040fb1d",
      "0x0040fb4e",
      "0x0040fb88",
      "0x0040fba4",
      "0x0040fbba",
      "0x0040fbd1",
      "0x0040fbed",
      "0x0040fc03",
      "0x00410e69",
      "0x00410eb7",
      "0x00410fed",
      "0x00411219",
      "0x0041d96e",
      "0x0041dc3f",
      "0x0041dc79",
      "0x0041dd69",
      "0x0041de28",
      "0x0041de4b",
      "0x0041de5f",
      "0x0041e343",
      "0x0041e5d8",
      "0x0041e748",
      "0x0041e7a5",
      "0x0041e87d",
      "0x0041f887",
      "0x0041fca5",
      "0x0041fce0",
      "0x0041fd1b",
      "0x0041fd91",
      "0x0041ff5d",
      "0x00420067",
      "0x004204de",
      "0x00420513"
    ],
    "descriptor.slotPointers": [
      "0x00406479",
      "0x00406499",
      "0x0040ad8b",
      "0x0040c04b",
      "0x0040c362",
      "0x0040c3df",
      "0x0040c542",
      "0x0040c6f2",
      "0x0040c7a8",
      "0x0040c7ce",
      "0x0040c7eb",
      "0x0040c823",
      "0x0040c840",
      "0x0040c8ce",
      "0x0040c8eb",
      "0x0040ca0c",
      "0x0040cac3",
      "0x0040cad3",
      "0x0040cb17",
      "0x0040cb31",
      "0x0040cbb6",
      "0x0040cc1e",
      "0x0040cc3b",
      "0x0040cc4b",
      "0x0040cc73",
      "0x0040cc95",
      "0x0040cd08",
      "0x0040cf28",
      "0x0040d00c",
      "0x0040d067",
      "0x0040d09e",
      "0x0040d0e4",
      "0x0040d10c",
      "0x0040d123",
      "0x0040d13c",
      "0x0040d155",
      "0x0040d193",
      "0x0040d1b0",
      "0x0040d1c7",
      "0x0040d1da",
      "0x0040d1f3",
      "0x0040d20c",
      "0x0040d266",
      "0x0040d2b8",
      "0x0040d2d5",
      "0x0040d2ec",
      "0x0040d361",
      "0x0040d3a9",
      "0x0040d3b5",
      "0x0040d43b",
      "0x0040d52c",
      "0x0040d549",
      "0x0040d557",
      "0x0040d568",
      "0x0040d576",
      "0x0040d588",
      "0x0040d5ce",
      "0x0040d5e0",
      "0x0040d6c6",
      "0x0040d785",
      "0x0040d7a2",
      "0x0040d7b0",
      "0x0040d7c1",
      "0x0040d879",
      "0x0040d8e9",
      "0x0040d98b",
      "0x0040da3a",
      "0x0040da90",
      "0x0040daa2",
      "0x0040dac8",
      "0x0040dad5",
      "0x0040daf1",
      "0x0040db54",
      "0x0040dbcd",
      "0x0040dbe5",
      "0x0040dca0",
      "0x0040dcc1",
      "0x0040dccd",
      "0x0040dd3d",
      "0x0040dd5a",
      "0x0040dd68",
      "0x0040dd79",
      "0x0040de1c",
      "0x0040de2e",
      "0x0040ded3",
      "0x0040deeb",
      "0x0040df0e",
      "0x0040df23",
      "0x0040df38",
      "0x0040df4d",
      "0x0040df62",
      "0x0040df77",
      "0x0040df9a",
      "0x0040dfed",
      "0x0040e00a",
      "0x0040e041",
      "0x0040e05e",
      "0x0040e069",
      "0x0040e07f",
      "0x0040e091",
      "0x0040e0a4",
      "0x0040e0f7",
      "0x0040e1c9",
      "0x0040e22d",
      "0x0040e2f1",
      "0x0040e534",
      "0x0040e59b",
      "0x0040e7ef",
      "0x0040e856",
      "0x0040eae8",
      "0x0040eafa",
      "0x0040eb36",
      "0x0040ee45",
      "0x0040ee66",
      "0x0040ee72",
      "0x0040eefd",
      "0x0040ef0f",
      "0x0040f06b",
      "0x0040f0d9",
      "0x0040f107",
      "0x0040f11a",
      "0x0040f128",
      "0x0040f15f",
      "0x0040f18d",
      "0x0040f1a0",
      "0x0040f1ae",
      "0x0040f58f",
      "0x0040f5bd",
      "0x0040f66c",
      "0x0040f68f",
      "0x0040f6ce",
      "0x0040fab3",
      "0x0040fb55",
      "0x0040fb8f",
      "0x0040fbab",
      "0x0040fbc1",
      "0x0040fbd8",
      "0x0040fbf4",
      "0x0040fc0a",
      "0x004104e9",
      "0x00410ebe",
      "0x00411211",
      "0x00411220",
      "0x00411794",
      "0x00411807",
      "0x00411a33",
      "0x00411b3f",
      "0x00411c4c",
      "0x00411d0a",
      "0x00411d44",
      "0x00411e1b",
      "0x00411e55",
      "0x00411f2c",
      "0x00411f66",
      "0x00412038",
      "0x00412072",
      "0x00412149",
      "0x00412183",
      "0x00412257",
      "0x00412291",
      "0x00412368",
      "0x004123a2",
      "0x00412476",
      "0x00412561",
      "0x004126b3",
      "0x00412782",
      "0x0041284d",
      "0x0041286a",
      "0x00412982",
      "0x004129be",
      "0x00412a6b",
      "0x00412b1f",
      "0x00412b42",
      "0x00412be3",
      "0x00412c8d",
      "0x00412d3a",
      "0x00412d74",
      "0x00412e56",
      "0x00412e79",
      "0x00412e9c",
      "0x00412ed6",
      "0x00413032",
      "0x00413055",
      "0x00413078",
      "0x0041309b",
      "0x004130d5",
      "0x00413197",
      "0x0041323e",
      "0x00413278",
      "0x004133b5",
      "0x004134e5",
      "0x0041351f",
      "0x00413616",
      "0x00413650",
      "0x004137b4",
      "0x004137ee",
      "0x00413938",
      "0x00413972",
      "0x00413ac9",
      "0x00413b6a",
      "0x00413bdd",
      "0x00413c17",
      "0x00413cdf",
      "0x00413d19",
      "0x00413e56",
      "0x00413ec9",
      "0x00413f86",
      "0x00414121",
      "0x00414251",
      "0x00414379",
      "0x004143b3",
      "0x00414475",
      "0x00414642",
      "0x0041467c",
      "0x0041476d",
      "0x004147a7",
      "0x00414879",
      "0x004148b3",
      "0x00414984",
      "0x004149be",
      "0x00414a90",
      "0x00414d02",
      "0x00414db9",
      "0x00414df3",
      "0x00414ec4",
      "0x00414f6b",
      "0x00415074",
      "0x0041d918",
      "0x0041dd70",
      "0x0041de2f",
      "0x0041de52",
      "0x0041de66",
      "0x0041deac",
      "0x0041debc",
      "0x0041e5df",
      "0x0041e884",
      "0x0041e9aa",
      "0x0041ea05",
      "0x0041ea26",
      "0x004205b7",
      "0x004206ab",
      "0x004209b7",
      "0x00420a37",
      "0x00420b2e",
      "0x00420ed7",
      "0x00421790",
      "0x0043218b",
      "0x004326b9",
      "0x004326d2",
      "0x004334a9",
      "0x004334b9",
      "0x00433ade",
      "0x00433b11",
      "0x00433b7b",
      "0x00433c27",
      "0x00433cb7",
      "0x00433dde",
      "0x00435668",
      "0x00435678",
      "0x004356c0"
    ],
    "descriptor.tempState": [
      "0x0040465f",
      "0x00404667",
      "0x0040468c",
      "0x00404807",
      "0x00404884",
      "0x00404f94",
      "0x00404fff",
      "0x00405037",
      "0x004053e2",
      "0x004053ea",
      "0x004054a1",
      "0x00405567",
      "0x0040556f",
      "0x004055af",
      "0x004055b7",
      "0x0040ef53",
      "0x0040ef5b",
      "0x0040f00c",
      "0x0040f014",
      "0x0041d7e4",
      "0x0041d849",
      "0x0041eb4d",
      "0x0041eb79",
      "0x0041ebff",
      "0x0041eda8",
      "0x0041ee14",
      "0x0041ee8f"
    ],
    "topMenu.objectSequence": []
  },
  "callsByName": {
    "addDescriptor": [
      "0x00407cd1"
    ],
    "removeDescriptor": [
      "0x00407cf5"
    ],
    "rebuildDescriptor": [
      "0x0042349c"
    ],
    "focusOut": [
      "0x0040c7f3",
      "0x0040c8f3",
      "0x0040f28a",
      "0x0040ff8b",
      "0x004357b1"
    ],
    "focusIn": [
      "0x0040c848",
      "0x0040f3a3",
      "0x004357f5",
      "0x0043582f",
      "0x0043588d",
      "0x004358ba",
      "0x004358e4",
      "0x0043595e"
    ],
    "menuResult": [
      "0x00404655",
      "0x004053d8",
      "0x0040ef49",
      "0x0040f002",
      "0x0041d7da",
      "0x0041d83f",
      "0x0041eb43",
      "0x0042ad6b",
      "0x0042c7e2"
    ],
    "cursorMove": [
      "0x0040b17d",
      "0x0040b1a2",
      "0x0040b1c9",
      "0x0040b1ee",
      "0x0040b215",
      "0x0040b23a",
      "0x0040b25f",
      "0x0040b284"
    ],
    "menuCursorApply": [
      "0x0041d7a6"
    ]
  },
  "nextFrontier": [
    "ESC/X opener는 0x0200 bit consumer 자체가 아니라 field mode/state transition 또는 descriptor attachment producer에서 찾아야 한다.",
    "0x0040c6cc/0x0041d61b는 close/back/internal dispatcher로 고정하고 반복 후보에서 제외한다.",
    "다음 증거는 active descriptor stack에 top-menu wrapper/sequence를 attach하는 producer, 또는 normal-field state에서 top-menu wrapper를 호출하는 상위 dispatcher다."
  ]
}
